Como configurar o Apache para rodar uma aplicação WSGI básica

Publicado por Perfil removido em 26/09/2019

[ Hits: 4.676 ]

 


Como configurar o Apache para rodar uma aplicação WSGI básica



Servindo páginas HTML com Python

Instale o httpd e suba o serviço:

# yum -y install httpd
# systemctl enable httpd
# systemctl start httpd


Instale o módulo wsgi:

# yum -y install mod_wsgi

Crie um diretório de root do site:

# mkdir /htdocs/wsgi

Crie o documento do site e adicione um Python básico:

# vim /data/wsgi/hello.wsgi

def application(env, start_response):
 start_response('200 OK', [('Content-Type','text/html')])
 return [b"Hello Linux!!"]

Crie o Virtual Host:

# vim /etc/httpd/conf.d/wsgi.conf

<VirtualHost *:80>
ServerAdmin root@localhost
DocumentRoot "/data/wsgi"
ServerName wsgi.example.com
ServerAlias wsgi.example.com
ErrorLog "/var/log/httpd/wsgi.example.com-error_log"
CustomLog "/var/log/httpd/wsgi.example.com-access_log" combined
WSGIScriptAlias / "/htdocs/wsgi/hello.wsgi"
</VirtualHost>
<Directory "/data/wsgi">
AllowOverride None
Require all granted
</Directory>

Desative ou mude o modo do SELunix a fim de não ter problemas. Caso prefira deixar ativado, apenas mude o contexto a estrutura de diretórios do root do site para httpd_sys_content_t.

Para desativar o SELinux, adicione 'disabled' no arquivo de configuração e reboot o sistema:

# vim /etc/selinux/config

SELINUX=disabled

# reboot

Para mudar o modo do SELinux em tempo de execução, marque-o como permissive e verifique se a alteração foi bem sucedida:

setenforce 1
sestatus

Se preferir mudar o contexto da estrutura root do site, use os dois comandos abaixo:

# semanage fcontext -a -t httpd_sys_content_t "/htdocs(/.*)?"
# restorecon -Rvvv /htdocs


Restart o servidor httpd:

# systemctl restart httpd

Habilite o serviço no firewalld:

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

Adicione uma entrada no hosts.conf para sua máquina resolver o DNS do site para o IP do servidor. Como exemplo, se o IP do servidor for 10.0.0.17:

# echo "10.0.0.17 wsgi.example.com" >> /etc/hosts

Abra o navegador e entre no site:

http://wsgi.example.com

Outras dicas deste autor

Consertando o erro do Sushi e Wayland no Opensuse Leap 15

Ajuste rápido do X no Debian Sarge

Gravando imagem ISO com o Brasero (para iniciantes)

Instalando Spotify no Ubuntu 16.04 LTS

O que fazer após instalar Fedora 28 Workstattion

Leitura recomendada

Experiência com Sistemas para Servidor NAS Free

Instalando o PostgreSQL 8.1 + script para inicialização

Compilando programas com SlackBuilds

Medidor de energia e bateria no Linux

Console colorido no Debian

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts