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

Publicado por Perfil removido em 26/09/2019

[ Hits: 1.524 ]

 


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 [email protected]
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

Plugin Djvu para Firefox no Mandriva 2006

Terminal - O Canivete Suíço do Linux

Arrastar e soltar downloads no ROX

Instalei o FreeBSD e esqueci a senha de root

Usando Wine + Portables

Leitura recomendada

Protegendo-se contra ataque Synflood

Criptografando Shell Script

Horário de verão automatizado

LDAP - Conceitos iniciais

Flash player em plataforma 64 bits (instalando com .deb)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário