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

Publicado por Perfil removido em 26/09/2019

[ Hits: 4.481 ]

 


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

Aumento de 40% na velocidade do ReiserFS

Como ativar a placa de rede wireless do Notebook lenovo ideapad310 - Qualcomm Atheros Device 0042 (rev 30)

Apt-get - hash sum incorreto: alguns arquivos de índice falharam para baixar

Visualizando exames médicos (formato DICOM) com Aeskulap

Sistemas de conteúdo em Webserver de projeto pessoal em ambiente SourceForge

Leitura recomendada

O Linux terá sucesso em desktops. Sabe por quê?

Repositórios Multimídia no Debian 7

Publicação em seu site ou blog através de mensagens SMS

Download Ubuntu - Diversas versões

Autenticação no Apache com MySQL

  

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