Como Rodar Shell Script e Python via Apache no Linux

Neste tutorial, vamos configurar o Apache para rodar Shell Script e Python como exemplos, mas você pode testar em qualquer linguagem de programação de seu interesse. Também vamos usar de cobaia o Arch Linux, mas com mínimas adaptações. É o mesmo procedimento para qualquer Linux ou BSD e até mesmo qualquer sistema baseado em UNIX.

[ Hits: 6.385 ]

Por: Marcos Oliveira em 20/12/2018 | Blog: http://terminalroot.com.br/


Introdução



No tutorial de hoje, vamos configurar o Apache para rodar Shell Script e Python como exemplos, mas você pode testar em qualquer linguagem de programação de seu interesse. Também vamos usar de cobaia o Arch Linux, mas com mínimas adaptações. É o mesmo procedimento para qualquer Linux ou BSD e até mesmo qualquer sistema baseado em UNIX.

Atualize todo o sistema de maneira efetiva com os dois comandos abaixo:

sudo pacman -Syy
sudo pacman -Syu

Instale o Apache:

sudo pacman -S apache

Habilite o Apache para iniciar junto com o sistema e também start para já poder usá-lo:

sudo systemctl enable httpd.service
sudo systemctl start httpd.service

Por padrão, o conteúdo que se acessa pelo localhost está no endereço /srv/http/. Lá, após instalação não haverá nada, então crie um arquivo "index.html" e insira um conteúdo nele para poder visualizar, use um editor de texto ou com o comando abaixo.

Lembre-se que dentro deste diretório precisa ser root ou sudo, não tente "sudo echo":

echo 'Minha pagina HTML' | sudo tee /srv/http/index.html

Agora, abra o navegador e acesse o endereço:

http://localhost/

você verá o conteúdo que você escreveu.

Usando um diretório alternativo, sem necessidade de root ou sudo

Os diretórios de usuários estão disponíveis por padrão através de:

http://localhost/~usuario/

e mostram o conteúdo de ~/public_html.

Note que há o sinal til (~) na URL, logo, digite ele também antes do seu nome de usuário, caso contrário haverá erro 404, mas para criar uma visualização customizada é necessário criar o diretório, alterar as permissões e criar um arquivo html:

mkdir ~/public_html
chmod o+x ~
chmod o+x ~/public_html/
chmod o+r ~/public_html/
echo 'Teste de página WEB com diretorio do usuario' > ~/public_html/index.html
sudo systemctl restart httpd.service

Depois acesse o endereço:

http://localhost/~seu_usuario/

Entendimentos básicos

O Apache possui opções e diretivas (<Directory ..i>) para determinar suas configurações.

O arquivo de configuração principal é /etc/httpd/conf/httpd.conf, que inclui vários outros arquivos de configuração. Ao abri-lo, verifique as linhas que estão descomentadas (sem começar com tralha #), quer dizer que já estão pré-configuradas para você, vejamos alguns exemplos:
  • ServerRoot "/etc/httpd" - Diretório raiz do Apache onde ficam os arquivos de configuração /etc/httpd/conf/ e os módulos /etc/httpd/modules/
  • Listen 80 - Porta que o servidor irá exibir as páginas na Web via http, se quiser que fique acessível só pra seu computador e ninguém consiga acessar externamente altere para Listen 127.0.0.1:80
  • ServerAdmin you@example.com - Este é o endereço de e-mail do administrador, que pode ser encontrado, por exemplo, em páginas de erro. Se quiser altere para o que você deseja.
  • DocumentRoot "/srv/http" - Este é o diretório onde você deve colocar suas páginas da web. Você pode alterá-lo, mas não se esqueça de também alterar <Directory "/srv/http"> para o que você mudou seu DocumentRoot, ou você provavelmente vai ter um erro 403 (falta de privilégios) quando tentar acessar a nova raiz do documento. Não se esqueça de alterar a linha "Require all denied" para "Require all granted", caso contrário você receberá um erro 403. Lembre-se de que o diretório DocumentRoot e suas pastas pai devem permitir permissão de execução para outros (pode ser configurado com chmod o+x /path/to/DocumentRoot ), caso contrário você obterá um erro 403 .
  • AllowOverride None - Esta diretiva nas seções <Directory> faz com que o Apache ignore completamente os arquivos .htaccess. Observe que esse é o padrão do Apache 2.4, portanto, é necessário permitir explicitamente substituições se você planeja usar arquivos .htaccess. Se você pretende usar mod_rewrite ou outras configurações em arquivos .htaccess, pode permitir quais diretivas declaradas nesse arquivo podem substituir a configuração do servidor.
  • ServerSignature Off - Para ocultar informações do servidor, como as versões do Apache, linguagem, sistema operacional...
  • Include "conf/extra/httpd-userdir.conf" - Se você não quiser que os diretórios dos usuários estejam disponíveis na web, comente essa linha. Ou se quiser alterar o nome e/ou localização do mesmo, edite o arquivo: "/etc/httpd/conf/extra/httpd-userdir.conf".
  • Entre outras opções e diretivas, que podem ser vistas no próprio arquivo.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Habilitando Shell Web cgi
   3. Solução de possíveis problemas
Outros artigos deste autor

Funtoo + bspwm + Polybar + Rofi - Instalação e Configuração

Vamos usar Slack!

FreeBSD Release 11.1 - Introdução, instalação e customização

Gerencie suas contas financeiras pessoais com Terminal Finances

Adicione vídeos como papel de parede no seu Linux

Leitura recomendada

Rancher - Painel para Docker

Linuxfx OS - Distribuição para quem deseja o visual do Windows 10

Instalando o SmokePing

Solução para Ubuntu sem som

Quer entrar no mundo de Tux ou está ajudando alguém a fazê-lo?

  
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