[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Próxima revisão
Revisão anterior
pt-br:howtos:network_services:setup_apache [2022/03/18 00:57 (UTC)] – criada carriunixpt-br:howtos:network_services:setup_apache [2022/03/18 01:27 (UTC)] (atual) carriunix
Linha 1: Linha 1:
-(work in progress)+ 
 +====== Configurando um servidor httpd Apache ====== 
 +Este é um exemplo geral de como obter um serviço básico de httpd instalado e funcionando. 
 + 
 +Aplica-se a: 
 +  * Slackware 14.1 (e possivelmente versões anteriores) 
 +  * Apache 2 (e possivelmente versões anteriores) 
 + 
 +====== Configuração básica ====== 
 + 
 +Edite /etc/httpd/httpd.conf - Aqui está o que interessa, altere/descomente as seguintes linhas conforme necessário: 
 + 
 +<code>vi /etc/httpd/httpd.conf 
 + 
 +  # opcional, exige a configuração de DNS apropriada 
 +  ServerAdmin you@myawesomeserver.com 
 +  ServerName www.myawesomeserver.com:80 
 +   
 +  <Directory /> 
 +      AllowOverride none 
 +      Require all denied 
 +  </Directory> 
 + 
 +  DocumentRoot "/srv/httpd/htdocs" 
 +  <Directory "/srv/httpd/htdocs"> 
 +      Options Indexes FollowSymLinks 
 +      AllowOverride None 
 +      Require all granted 
 +  </Directory> 
 + 
 +  <IfModule dir_module> 
 +      DirectoryIndex index.html index.htm index.pl index.php 
 +  </IfModule> 
 +   
 +  ErrorLog "/var/log/httpd/error_log" 
 +   
 +  CustomLog "/var/log/httpd/access_log" common 
 +   
 +  # Opcional, mas interessante: cria uma lista de diretórios se o index.html não existe. 
 +  Include /etc/httpd/extra/httpd-autoindex.conf 
 +  # Opcional 
 +  Include /etc/httpd/extra/httpd-default.conf 
 +</code> 
 + 
 +Todas as outras configurações padrão são apropriadas. 
 + 
 +Fazer o httpd iniciar com o boot. 
 + 
 +<code>chmod 755 /etc/rc.d/rc.httpd 
 +/etc/rc.d/rc.httpd start</code> 
 + 
 +**DICA:** Com essas configurações, suas páginas da web devem ser colocadas em /srv/httpd/htdocs por padrão. Seus logs devem estar em /var/log/httpd por padrão. 
 + 
 +====== Diretórios de usuários ====== 
 + 
 +Isso permitirá que os usuários tenham espaço web individual (/home/user/public_html). Eles podem ser acessados da web adicionando "~username" ao URL. 
 + 
 +Exemplo: <nowiki>http://www.slackware.com/~pat</nowiki> 
 + 
 +Edite /etc/httpd/httpd.conf - Aqui está o que interessa, altere/descomente as seguintes linhas conforme necessário: 
 +<code> vi /etc/httpd/httpd.conf 
 + 
 +  LoadModule authz_host_module lib64/httpd/modules/mod_authz_host.so 
 +  LoadModule authz_user_module lib64/httpd/modules/mod_authz_user.so 
 +  LoadModule authz_core_module lib64/httpd/modules/mod_authz_core.so 
 +  LoadModule userdir_module lib64/httpd/modules/mod_userdir.so 
 +  Include /etc/httpd/extra/httpd-userdir.conf</code> 
 + 
 +Edite /etc/httpd/extra/httpd-userdir.conf, altere/descomente as seguintes linhas: 
 +<code>vi /etc/httpd/extra/httpd-userdir.conf 
 + 
 +  <Directory "/home/*/public_html"> 
 +      AllowOverride FileInfo AuthConfig Limit Indexes 
 +      Options MultiViews Indexes SymLinksIfOwnerMatch 
 +      Require method GET POST OPTIONS 
 +  </Directory></code> 
 + 
 +Reinicie o Apache 
 +<code>/etc/rc.d/rc.httpd restart</code> 
 + 
 + 
 +====== Habilitar CGI-BIN ====== 
 + 
 +Isso permite a execução de scripts CGI em seu servidor web. 
 + 
 +Edite /etc/httpd/httpd.conf - Aqui está o que interessa, altere/descomente as seguintes linhas conforme necessário: 
 +<code> vi /etc/httpd/httpd.conf 
 + 
 +  LoadModule proxy_module      lib64/httpd/modules/mod_proxy.so 
 +  LoadModule proxy_fcgi_module lib64/httpd/modules/mod_proxy_fcgi.so 
 +  LoadModule proxy_scgi_module lib64/httpd/modules/mod_proxy_scgi.so 
 +  LoadModule cgid_module       lib64/httpd/modules/mod_cgid.so 
 + 
 +  <IfModule alias_module> 
 +      ScriptAlias /cgi-bin/ "/srv/httpd/cgi-bin/" 
 +  </IfModule> 
 + 
 +  <Directory "/srv/httpd/cgi-bin"> 
 +    AllowOverride None 
 +    Options None 
 +    Require all granted 
 +  </Directory> 
 + 
 +  <IfModule mime_module> 
 +    AddHandler cgi-script .cgi .pl 
 +  </IfModule></code> 
 + 
 +Reinicie o Apache 
 +<code>/etc/rc.d/rc.httpd restart</code> 
 + 
 +**DICA:** Seu diretório cgi-bin será /srv/httpd/cgi-bin/. Os scripts podem ser acessados adicionando /cgi-bin/SCRIPTNAME ao URL do site. 
 + 
 +Exemplo: <nowiki>http://www.slackware.com/cgi-bin/awesomescript.pl</nowiki> 
 +     
 +**NOTA**: Isso não se aplica a scripts PHP, veja abaixo. 
 +   
 + 
 + 
 +====== CGI-BIN de usuários ====== 
 + 
 +Isso permitirá que os usuários executem scripts CGI a partir de seu diretório /home/user/public_html/cgi-bin. Seus scripts podem ser acessados através de seus diretórios de usuário. 
 + 
 +Exemplo: <nowiki>http://www.slackware.com/~pat/cgi-bin/webform.pl</nowiki> 
 + 
 +A configuração do CGI-BIN foi descrita acima. 
 + 
 +Edite /etc/httpd/extra/httpd-userdir.conf - Aqui está o que interessa, altere/descomente as seguintes linhas conforme necessário: 
 +<code>vi /etc/httpd/extra/httpd-userdir.conf 
 + 
 +  <Directory "/home/*/public_html/cgi-bin"> 
 +    Options ExecCGI 
 +    SetHandler cgi-script 
 +  </Directory></code> 
 + 
 +Reinicie o Apache 
 +<code>/etc/rc.d/rc.httpd restart</code> 
 + 
 +====== Habilitar PHP ====== 
 + 
 +[[howtos:network_services:setup_apache_php_mysql|http://docs.slackware.com/howtos:network_services:setup_apache_php_mysql]] 
 + 
 +====== Hosts virtuais ====== 
 + 
 +Edite /etc/httpd/httpd.conf - Aqui está o que interessa, altere/descomente as seguintes linhas conforme necessário: 
 + 
 +<code>vi /etc/httpd/httpd.conf 
 + 
 +  Include /etc/httpd/extra/httpd-vhosts.conf</code> 
 + 
 +Edite /etc/httpd/extra/httpd-vhosts.conf - Aqui está o que interessa, adicione uma dessas entradas para cada host virtual: 
 + 
 +<code>vi /etc/httpd/extra/httpd-vhosts.conf 
 + 
 +  <VirtualHost *:80> 
 +      ServerAdmin webmaster@www.server1.com 
 +      DocumentRoot "/home/server1/public_html/" 
 +      ServerName server1.com 
 +      ServerAlias www.server1.com 
 +      ErrorLog "/var/log/httpd/server1.com-error.log" 
 +      CustomLog "/var/log/httpd/server1.com-access.log" common 
 +  </VirtualHost> 
 +   
 +    <VirtualHost *:80> 
 +      ServerAdmin webmaster@www.server2.com 
 +      DocumentRoot "/home/server2/public_html/" 
 +      ServerName server2.com 
 +      ServerAlias www.server2.com 
 +      ErrorLog "/var/log/httpd/server2.com-error.log" 
 +      CustomLog "/var/log/httpd/server2.com-access.log" common 
 +  </VirtualHost></code> 
 + 
 +Reinicie o Apache 
 +<code>/etc/rc.d/rc.httpd restart</code> 
 + 
 +**NOTA:** Eu executo meus vhosts como usuários, então, os Document Root estão nos diretórios /home/user. Você não tem que fazer isso. Você pode colocar os Document Root em qualquer lugar que desejar. 
 + 
 +Exemplo: 
 + 
 +/srv/www/htdocs/server1 \\ 
 +/srv/www/htdocs/server2 \\ 
 + 
 +**NOTA 2:** Isso não afeta a configuração padrão do seu servidor web em /etc/httpd/httpd.conf. Essa instância do servidor web ainda funcionará e será o padrão se um IP simples for usado como URL. 
 + 
 + 
 +====== Vhosts com diretórios CGI-BIN individuais ====== 
 + 
 +Se você tiver hosts virtuais que precisam de CGI (ou precisam de CGI em seu próprio diretório), você pode fazer assim: 
 + 
 +Edite /etc/httpd/extra/httpd-vhosts.conf - Adicione uma dessa entradas para cada vhost que exige um diretório cgi-bin único: 
 + 
 +<code>vi /etc/httpd/extra/httpd-vhosts.conf 
 + 
 +  <Directory /home/server1/public_html/cgi-bin/> 
 +      Options ExecCGI 
 +      SetHandler cgi-script 
 +  </Directory></code> 
 + 
 +Reinicie o Apache 
 +<code>/etc/rc.d/rc.httpd restart</code> 
 + 
 +**DICA:** Eu normalmente coloco esses trechos junto com as respectivas entradas <VirtualHost *:80>. 
 + 
 +**NOTA:** Mude o "/home/server1/public_html/cgi-bin/" para o endereço correto do diretório. 
 + 
 + 
 +====== HTTPS / SSL ======= 
 +A ser adicionado no arquivo original. 
 + 
 + 
 +====== SNI HTTPS / SSL (Name based https) ====== 
 +A ser adicionado no arquivo original. 
 + 
 + 
 +====== Fontes ====== 
 + 
 +  * Originalmente escrito por [[wiki:user:arfon | arfon]] 
 + 
 +{{tag>howtos network_services apache httpd author_arfon translator_carriunix}}
 pt-br:howtos:network_services:setup_apache ()