Instalación y configuración
En primer lugar procedemos a instalar el paquete con la siguiente orden:
$ apt-get install –no-install-recommends apache2
Si no tenemos configurado un servicio DNS, para las pruebas podemos simplemente modificar el fichero /etc/hosts de esta forma:
127.0.0.1 localhost www.miweb.com www.otraweb.com
Así al ingresar a la dirección http://www.miweb.com nos dirigirá a la IP 127.0.0.1 que es nuestra máquina (localhost).
Toda la configuración de Apache se encuentra bajo /etc/apache2 y por defecto el directorio donde alojamos la web es /var/www. En ese directorio se encuentra un fichero llamado index.html que se abrirá automáticamente al ingresar al sitio. Veremos como cambiar esa ruta, pero antes apunta la siguiente orden:
$ apache2ctl configtest
Nos hará un chequeo de la configuración. Si algo no te funciona, es lo primero que debes comprobar. Para revisar los errores podemos mirar las últimas 20 líneas del registro:
$ tail -n 20 /var/log/apache2/*.log
Por último, no olvides reiniciar Apache cada vez que modifiques un fichero de configuración:
$ service apache2 restart
Un sitio para cada usuario
Apache es modular, esto es, permite añadirle funcionalidades como la ejecución de código en PHP, Python, Perl... u ofrecer un sitio diferente para cada usuario del sistema operativo. Éste módulo en concreto se denomina userdir y se habilita con:
$ a2enmod userdir
Cada módulo habilitado guarda su configuración bajo /etc/apache2/mods-enable así que si buscas en ese directorio encontrarás userdir.conf que contiene los parámetros de configuración. Por defecto verás que apunta hacia /home/nombre_usuario/public_html mediante la directiva DocumentRoot encargada de determinar la ruta desde la que se sirven los ficheros. Si cambias public_html por misitio, Apache te dirigirá al fichero /home/nombre_usuario/misitio/index.html cuando en el navegador escribas http://www.miweb.com/~nombre_usuario.
Si quieres deshabilitar éste módulo puedes hacerlo con el comando a2dismod seguido de su nombre. Otros módulos disponibles se encuentran en /etc/apache2/mods-available
Diferentes sitios en el mismo servidor
Otra funcionalidad de Apache son los llamados VirtualHost. Bajo un mismo servidor podemos alojar varios sitios independientes según la configuración: si escribimos http://www.miweb.com nos dirigirá a una web y con http://www.otraweb.com veremos una página diferente, situada en el directorio que indiquemos.
Por tanto, creamos un nuevo directorio por ejemplo en /var/www/otraweb con su index.html correspondiente. Vamos a copiar el sitio por defecto de Apache y le daremos otro nombre:
$ cd /etc/apache2/sites-available $ cp default otraweb
El contenido del nuevo fichero debe empezar así:
Justo encima de esas líneas vamos a crear un sitio de distinto nombre, con el siguiente contenido:
<VirtualHost *:80>
ServerName www.otraweb.com
DocumentRoot /var/www/otraweb
<Directory /var/www/otraweb>
Options FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>
Habilitamos el nuevo sitio:
$ a2ensite otraweb
Y reiniciamos Apache. Si todo es correcto ahora tenemos dos sitios web independientes. Si algo falla, recuerda revisar la configuración con el comando que debiste haber apuntado
.
Otra forma de hacer lo mismo es indicarle a Apache que en lugar de diferenciar los sitios según su nombre, lo haga según el puerto. Así, podemos tener además otro sitio diferente si ingresamos, por ejemplo, http://www.otraweb.com:8080
Para ello añadimos Listen 8080 en el fichero /etc/apache2/ports.conf y modificamos de nuevo /etc/apache2/sites-available/otraweb
El sitio original comienza en la línea 17. Indicamos a Apache que será el sitio por defecto con _default_. El nuevo sitio http://www.otraweb.com empieza en la línea 9 y el tercero (con diferente puerto) es el que aparece al principio, el cuál tendrá el mismo nombre pero nos llevará a un directorio diferente (/var/www/otraweb_puerto).
Reiniciamos Apache otra vez. En cada directorio he colocado un index.html con un pequeño script que muestra su ruta, así que en el navegador veremos lo siguiente, según la URL que escribamos:




No hay comentarios:
Publicar un comentario