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

Publicado por Perfil removido em 26/09/2019

[ Hits: 4.049 ]

 


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

Anti-aliasing para todos os componentes Java

Configurando o "kdm" para login de usuário no Fedora Core

Como criar um pacote.deb com o executável do Lazarus

Congelar linha ou coluna no Calc do OpenOffice

Trash-cli: Lixeira para a linha de comando

Leitura recomendada

Instalando LMDE 2014

Wireless no Sony Vaio NR 320 com Ubuntu Linux 8.10

Instalação do Anjuta no Debain 4.0 e Ubuntu 7.04

Sistema de rastreamento gratuito para Linux

Encapsular texto/palavra em tags no Sublime-text

  

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