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

Publicado por Perfil removido em 26/09/2019

[ Hits: 4.019 ]

 


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

Placa wireless ralink no Ubuntu

USB ImageWriter - Criando pendrive bootável no Linux Mint

Como corrigir o erro "mount: wrong fs type, bad option, bad superblock" em NTFS

Placa de vídeo Nvidia em notebook HP DV2807NR

Gnome ou KDE 4? Que tal os dois?

Leitura recomendada

Enviando e-mail com Python e autenticação no SMTP pelo Linux

Quebrar senha de root do MySQL

Ativando o NumLock na inicialização do Debian

Compilando o kernel do Debian 3.1

Rodando o jSMS no Linux Kubuntu 8.10

  

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