Table of Contents
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)