Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Nombre del demonio/servicio: apache2
- Ficheros de configuración: /etc/apache2/apache2.conf y todos los archivos *.conf que se añaden a la configuración a través de Include
- Ficheros de log: /var/log/apache2/access.log que registra todos los accesos que realizan los clientes a los recursos del servidor: páginas, imágenes, etc. /var/log/apache2/error.log y journalctl -f para errores.
- Puertos utilizados: 80 y 443 (TCP) . El puerto 443 solo se utiliza al configurar comunicaciones cifradas mediante SSL/TLS (https).
- Comandos relacionados:
- # apache2ctl -v Obtiene la versión del servidor Apache
- # apache2ctl -M Lista los módulos o plugins que utiliza Apache
- # apache2ctl -k start|restart|graceful|graceful-stop|stop Las opciones graceful permiten reiniciar o parar el servicio sin cortar(esperando a que terminen) las conexiones que puedan existir con los clientes, esto es útil en aplicaciones críticas(p.ej. aplicaciones de cobro) instaladas en sitios con mucho tráfico.
- # htpasswd Gestiona usuarios de Apache para realizar autenticación al acceder a determinados contenidos.
- # service apache2 reload Hace que apache lea sus archivos de configuración sin reiniciar el servicio. Puede ser de utilidad en servidores con muchas conexiones cuando se realizan cambios de configuración que no requieren reinicio del servicio.
- # curl -v http://<ip_nombre_servidor> curl es una utilidad cliente que permite visualizar el protocolo htttp/https entre cliente y servidor.
- #####
- ServerTokens ProductOnly
- ServerSignature Off
- ###
- LogLevel info (p.ej info registra más errores que warn)
- <VirtualHost *:80>
- ServerName www.ejemplo.com
- ServerAlias www.otronombre.com #Otro DNS para este servidor al que le aplicaría esta configuración VirtualHost
- DocumentRoot ...
- ...
- </VirtualHost>
- <VirtualHost *:443>
- ServerName www.ejemplo.com
- DocumentRoot ...
- ...
- </VirtualHost>
- <VirtualHost *:80 *:443>
- # Este VirtualHost debe ser el último de todos los VirtualHost configurados, lo añadiremos cuando queramos evitar que se acceda al servidor web por IP o por cualquier nombre no especificado en algún VirtualHost anterior a éste
- ServerName 185.119.248.109
- ServerAlias *
- <Location />
- Order deny,allow
- Deny from all
- </Location>
- </VirtualHost>
- # Alternativa 1: a través de <Directory path>
- <Directory path>
- Options -Indexes +FollowSymLinks
- Order ...
- Allow ...
- Deny ...
- AuthType ...
- ...
- </Directory>
- # Alternativa 2: a través de un archivo .htaccess Debemos activar la opción AllowOverride All mediante <Directory path> y luego crear el archivo .htaccess dentro de path
- <Directory path>
- AllowOverride All
- </Directory>
- El contenido de .htaccess sería lo mismo que utilizamos en la altenativa 1:
- Options -Indexes +FollowSymLinks
- Order ...
- Allow ...
- Deny ...
- AuthType ...
- ...
- Acceder a contenidos que "no cuelgan" de DocumentRoot
- En el siguiente ejemplo DocumentRoot es /var/www/html y pretendemos que la URL www.ejemplo.com/fotos acceda a /usr/imagenesen vez de a /var/www/html/fotos
- # Alternativa 1: utilizando la directiva Alias
- <VirtualHost *:80>
- ServerName www.ejemplo.com
- DocumentRoot /var/www/html
- Alias /fotos /usr/imagenes #/usr/imagenes y su contenido deben tener permiso de lectura para apache
- ...
- </VirtualHost>
- # Alternativa 2: creando un enlace simbólico con el comando de Linux #ln -s /usr/imagenes /var/www/html/fotos
- y la opción FollowSymlinks para el directorio donde se encuentra el link simbólico.
- Para borrar un link simbólico se usa el comando unlink
- <VirtualHost *:80>
- ServerName www.ejemplo.com
- DocumentRoot /var/www/html
- <Directory /var/www/html>
- Options +FollowSymlinks
- </Directory>
- ...
- </VirtualHost>
- Configurar acceso a directorio mediante usuario/contraseña:
- #Utilizamos el comando htpasswd [-c] fichero_pass usu para crear usuarios y contraseñas
- <Directory /var/www/privado>
- AuthType Basic
- AuthName "Area privada" #Título del formulario de acceso que muestra el navegador
- AuthUserFile ruta_del_fichero_pass
- Require user usu1 usu2 ó Require valid-user #Esta última da acceso a cualquier usuario autenticado
- </Directory>
- Crear VirtualHost que redirige cualquier URL http (puerto 80 sin cifrar) a https (puerto 443 cifrado)
- <VirtualHost *:80>
- ServerName www.ejemplo.com
- #Para poder reescribir URLs hay que activar en Apache el módulo (plugin) rewrite mediante el comando #a2enmod rewrite
- RewriteEngine On
- RewriteCond %{SERVER_PORT} 80
- RewriteRule ^(.*)$ https://www.ejemplo.com$1 [R,L]
- </VirtualHost>
- <VirtualHost *:443>
- ServerName www.alumno2asirlc.tk
- SSLEngine on
- SSLCertificateFile /etc/ssl/www.alumno2asirlc.tk/fullchain.pem
- SSLCertificateKeyFile /etc/ssl/www.alumno2asirlc.tk/privkey.pem
- DocumentRoot /var/www/html/www.alumno2asirlc.tk
- #Crear en la ruta de DocumentRoot un index.html con contenido de prueba
- </VirtualHost>
- Crear VirtualHost que permita monitorizar el estado del servidor (sólo se permite acceso desde el servidor)
- ExtendedStatus On
- <VirtualHost *:80>
- ServerName localhost
- <Location /server-status>
- SetHandler server-status
- Order deny,allow
- Deny from all
- Allow from localhost
- </Location>
- </VirtualHost>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement