[2025-jun-17] The SlackDocs Wiki has moved to a new server, in order to make it more performant.
Tabla de Contenidos
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)