[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.
Action disabled: register

Welcome to the Slackware Documentation Project

Configurar el servidor httpd Apache

Este es un HOWTO general para poner en marcha un servicio básico de httpd.

Se aplica a:

  • Slackware 14.1 (y posiblemente versiones anteriores)
  • Apache 2 (y posiblemente versiones anteriores)

Configuración básica

Edite /etc/httpd/httpd.conf - Esto es lo que le importa, cambie/descomente las siguientes líneas según sea necesario:

vi /etc/httpd/httpd.conf

  # opcional, requiere una configuración DNS adecuada
  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 pero bueno. Esto crea un listado de directorios si falta index.html.
  Include /etc/httpd/extra/httpd-autoindex.conf
  # Opcional
  Include /etc/httpd/extra/httpd-default.conf

Todos los demás ajustes predeterminados deberían ser válidos.

Hacer que httpd se inicie en el arranque.

chmod 755 /etc/rc.d/rc.httpd
/etc/rc.d/rc.httpd start

CONSEJO: Con esta configuración, las páginas web predeterminadas deben estar en /srv/httpd/htdocs. Sus registros predeterminados deben estar en /var/log/httpd.

Directorios de usuarios

Esto permitirá a los usuarios tener un espacio web individual (/home/user/public_html). Se puede acceder a estos desde la web añadiendo “~nombredeusuario” a la URL.

Ejemplo: http://www.slackware.com/~pat

Edite el archivo /etc/httpd/httpd.conf - Esto es lo que le interesa, cambie/descomente las siguientes líneas según sea necesario: <código> 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, cambie/descomente lo siguiente:

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>

Reinicie Apache

/etc/rc.d/rc.httpd restart

Habilitar CGI-BIN

Esto permite la ejecución de scripts CGI en su servidor web.

Edite el archivo /etc/httpd/httpd.conf - Esto es lo que le interesa, cambie/descomente las siguientes líneas según sea necesario:

 vi /etc/httpd/httpd.conf

  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>

Reinicie Apache

/etc/rc.d/rc.httpd restart

CONSEJO: Su directorio cgi-bin será /srv/httpd/cgi-bin/. Se puede acceder a los scripts añadiendo /cgi-bin/SCRIPTNAME a la URL del sitio web.

Ejemplo: http://www.slackware.com/cgi-bin/awesomescript.pl

NOTA: Esto no se aplica a los scripts PHP, vea lo siguiente para ellos.

El usuario CGI-BIN

Esto permitirá a los usuarios ejecutar scripts CGI desde su directorio /home/user/public_html/cgi-bin. Se puede acceder a sus scripts a través de sus directorios de usuario.

Ejemplo: http://www.slackware.com/~pat/cgi-bin/webform.pl

Configure CGI-BIN como se ha descrito anteriormente.

Edite el archivo /etc/httpd/extra/httpd-userdir.conf - Esto es lo que le interesa, cambie/descomente las siguientes líneas según sea necesario:

vi /etc/httpd/extra/httpd-userdir.conf

  <Directory "/home/*/public_html/cgi-bin">
    Options ExecCGI
    SetHandler cgi-script
  </Directory>

Reinicie Apache

/etc/rc.d/rc.httpd restart

Habilitar PHP

Hosts Virtuales

Edite el archivo /etc/httpd/httpd.conf - Esto es lo que le concierne, cambie/descomente las siguientes líneas según sea necesario:

vi /etc/httpd/httpd.conf

  Include /etc/httpd/extra/httpd-vhosts.conf

Edite el archivo /etc/httpd/extra/httpd-vhosts.conf - Esto es lo que le interesa, añada una de estas entradas para cada host virtual:

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>

Reinicie Apache

/etc/rc.d/rc.httpd restart

NOTA: Yo ejecuto mis vhosts como usuarios, por lo tanto, las raíces de los documentos están en los directorios /home/user. No es necesario que usted lo haga. Puede colocar las raíces del documento en cualquier lugar que desee.

Ejemplo:

/srv/www/htdocs/server1
/srv/www/htdocs/server2

NOTA 2: Esto no afecta la configuración predeterminada de su servidor web en /etc/httpd/httpd.conf. Esa instalación del servidor web seguirá funcionando y será la predeterminada si se utiliza una IP sencilla como URL.

Vhosts con directorios CGI-BIN individuales

Si tiene hosts virtuales que necesitan CGI (o necesitan CGI en su propio directorio) puede hacerlo así:

Edite el archivo /etc/httpd/extra/httpd-vhosts.conf - Añada una de estas entradas para cada vhost que necesite directorios cgi-bin únicos:

vi /etc/httpd/extra/httpd-vhosts.conf

  <Directory /home/server1/public_html/cgi-bin/>
      Options ExecCGI
      SetHandler cgi-script
  </Directory>

Restart Apache

/etc/rc.d/rc.httpd restart

SUGERENCIA: Normalmente los pongo con sus respectivas entradas <VirtualHost *:80>.

NOTA: Cambie el “/home/server1/public_html/cgi-bin/” a la ubicación correcta del directorio.

HTTPS / SSL

para ser añadido

SNI HTTPS / SSL (https basado en nombres)

para ser añadido

Fuentes

  • Escrito originalmente por arfon

Traducido por — Pedro Herrero García 2019/02/16 19:07 (UTC)

 es:howtos:network_services:setup_apache ()
This translation is older than the original page and might be outdated. See what has changed.