Conviertete en todo un experto de Apache (II-II)
Si no han leido la primera parte, se las recomentamos, ya que les ayudará a comprender esta otra: http://underc0de.org/foro/seguridad-en-servidores/conviertete-en-todo-un-experto-de-apache-(i-ii)
Continuamos con el fichero /etc/apache2/sites-available
ServerAdmin
Permite configurar la dirección del administrador del servidor web que se mostrará si el servidor genera una página de error.
- ServerAdmin blackdrake@underc0de.org
ServerName
Indica el nombre del servidor.
- ServerName www.underc0de.org:80
DocumentRoot
Indicamos el directorio raíz donde colocaremos las páginas web.
- DocumentRoot "/www/webs"
También es necesario cambiar la directiva Directory (que veremos más adelante)
- <Directory "/www/webs">
UserDir
Indica si se debe permitir que cada usuario de nuestro sistema tenga su propia carpeta personal en el servidor web.
- UserDir public_html
DirectoryIndex
Especifica la página por defecto que se buscará al acceder a un directorio de la jerarquía de nuestro sitio.
- DirectoryIndex index.html, index.htm, index.php, inicio.html
Si accedemos a un directorio que no contiene ninguno de los archivos especificados, Apache crea dinámicamente un archivo que lista los contenidos:
Esto lo podemos deshabilitar con la directiva (Dentro de <Directory>:
- Options -Indexes
Por lo que ahora saldrá Forbidden:
Permite crear alias para archivos o directorios
- Alias /icons/ "/var/www/icons/"
- <Directory "/var/www/icons"/>
- Options Indexes MultiViews
- AllowOverride None
- Order allow, deny
- Allow from all
- </Directory>
Activando/Desactivando módulos en Apache2
Para activar un módulo usamos el comando a2enmod con el nombre del módulo:
- sudo a2enmod speling
Automáticamente nos informa de lo que está sucediendo:
- Enabling module speling.
- To activate the new configuration, you need to run:
- service apache2 restart
Para desactivarlo lo haremos igual pero con el comando a2dismod
- sudo a2dismod speling
Hosts Virtuales en Apache2
Apache puede servir varios sitios web desde un único servidor web. El cliente nunca diferenciará si son sitios en servidores diferentes o en la misma máquina.
La configuración del servidor virtual por defecto se puede consultar aquí:
- sudo nano /etc/apache2/sites-available/default
(En estas últimas versiones de apache puede ser que el archivo se llame 000-default.)
Como comenté antes, podemos desactivar el listado de los contenidos de una carpeta con la siguiente linea:
- Options -Indexes
Si queremos activarlo, utilizamos:
- Options Indexes
Accedemos a /etc/apache2/sites-available y creamos un nuevo archivo (se recomienda que tenga el nombre del dominio + .conf)
- <VirtualHost *:80>
- ServerAdmin blackdrake@underc0de.org
- ServerName www.underc0de.org
- ServerAlias underc0de.org www.underc0de.org
- # Indexes + Directory Root.
- DirectoryIndex index.php
- DocumentRoot /var/www/underc0de
- </VirtualHost>
Guardamos... y ejecutamos lo siguiente:
- sudo a2ensite underc0de.org.conf
Reiniciamos apache
- sudo /etc/init.d/apache2 reload
O bien podemos usar:
- sudo service apache2 restart
Y ya tendremos nuestro dominio funcionando y apuntando a ese directorio (obviamente las DNS del servidor tienen que estar correctamente configuradas), el directorio al que apunta (/var/www/underc0de) se puede crear antes o después.
En caso de querer desactivar el dominio..
- sudo a2dissite acceso.ovh
Y reiniciamos apache
- sudo /etc/init.d/apache2 reload
O bien podemos usar:
- sudo service apache2 restart