El documento proporciona instrucciones para instalar el servidor web Apache en Ubuntu 12.04, configurar sitios web virtuales (VirtualHosts) para alojar múltiples páginas, y habilitar el módulo PHP para procesar páginas con código PHP. Se instala Apache y se comprueba que funciona correctamente, luego se crean carpetas y archivos de configuración para tres sitios web de prueba, y se habilita PHP a través de la instalación del módulo correspondiente y su activación.
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Web apache en ubuntu 12,04
1. Instalación de un servidor web Apache en
Ubuntu 12.04
Comencemos
Lo primero será instalar el paquete apache2 con sus dependencias:
sudo apt-get install apache2
Una vez hecho esto, comprobamos que está funcionando correctamente, abrimos un
navegador y escribimos localhost:
2. También podemos comprobarlo mediante el comando /etc/init.d/apache2 status:
Muy bien, ya tenemos el servidor apache instalado y funcionando!
Si únicamente quisiéramos alojar una página simple (HTML y CSS) ya estaríamos
preparados para hacerlo, únicamente habría que situar los archivos de la página dentro de la
carpeta /var/www, reemplazando el index.html por defecto con el de nuestra página web.
Antes de continuar me gustaría enseñaros un pequeño resumen sobre las carpetas y
archivos de Apache que se utilizan con más frecuencia, saber para qué sirve cada una nos
ayudará a comprender lo que vamos a hacer en los siguientes pasos de este tutorial:
Como somos muy de complicarnos la vida vamos a suponer que queremos alojar varias
páginas independientes, haciendo nuestro pequeño servicio de hosting. Para ello, tal y como
comenté en otro post, deberemos utilizar VirtualHosts (a no ser que prefiramos entrar con
3. direcciones web del tipo http://www.ejemplo.com/web1.html, lo cual además de cutre es
inseguro).
VirtualHost
La configuración de los VirtualHosts en Ubuntu (o Debian) es bastante más flexible y
organizada que en Fedora, ya que tendremos la posibilidad de crear archivos de
configuración independientes para cada una de las páginas que alojemos, algo muy útil si
manejamos un gran volumen de páginas web desde un mismo servidor.
Crearemos VirtualHosts basados en nombre, por ser el método más flexible y utilizado de
los que existen. El uso de VirtualHost basados en nombres nos permite mostrar a un
navegador web una página u otra dependiendo de la URL que nos solicite dicho navegador.
Lo primero que haremos será crear varias páginas web de prueba, cada una con su
index.html dentro de carpetas independientes en la ruta /var/www, algo como esto para las
pruebas es más que suficiente:
4. Una vez que lo tenemos nos toca configurar el archivo /etc/hosts para las pruebas en local:
5. Ahora vamos a crear los archivos de configuración para cada uno de los VirtualHost. Los
crearemos dentro de /etc/apache2/sites-available con el nombre de la página para
distinguirlos fácilmente, un ejemplo de archivo de configuración lo tenéis aquí:
Con estas opciones es suficiente para que funcione correctamente. Hay muchas más,
algunas de ellas las veremos más tarde, otras podéis verlas directamente en el archivo
/etc/apache2/sites-available/default (Ojo, echadle un vistazo para ver más opciones de
configuración pero no os recomiendo que cambieis nada de este archivo, dejadlo como
está).
Una vez que hemos creado uno para cada VirtualHost solamente nos queda habilitarlos.
Para ello utilizaremos el comando a2ensite nombrearchivoconfiguracion:
6. Si queréis deshabilitar una página podéis hacerlo en cualquier momento con el comando
a2dissite nombrearchivoconfiguracion.
Para realizar una redirección a otra página web, que puede estar en el mismo servidor o en
cualquier parte de internet, tenemos que añadir la siguiente línea al archivo de
configuración del VirtualHost que queramos redireccionar:
RedirectPermanent / http://www.ejemplo.com
7. Recordad que para que los cambios sean efectivos debéis reiniciar el servidor con sudo
service apache2 reload.
Entramos en el navegador para comprobar si están funcionando OK todas las páginas que
tenemos alojadas:
Módulo PHP
La gestión de los módulos en Apche bajo Ubuntu/Debian es bastante parecida a la gestión
de VirtualHost, e igual de flexible. Podemos ver qué módulos tenemos disponibles en la
carpeta /etc/apache2/mods-available y ver cuáles están activados en la carpeta
/etc/apache2/mods-enabled.
Por defecto no tenemos el módulo para PHP disponible, así que tendremos que instalarlo:
sudo apt-get install php5
8. Tras instalarlo volvemos a /etc/apache2/mods-available y comprobamos que ahora se
encuentra disponible el módulo PHP:
9. Comprobamos que se encuentra activo dentro de /etc/apache2/mods-enabled:
Si por algún motivo no se iniciase automáticamente tras la instalación, lo activaríamos con
el comando a2enmod nombremodulo, para deshabilitar un módulo utilizaríamos el
comando a2dismod nombremodulo.
Recordad: Cada cambio que realicéis en el servidor necesita un reinicio (sudo service
apache2 reload) para que se haga efectivo.
Vamos a crear una página simple con código PHP para comprobar que funciona. Edito el
archivo /var/www/getupcity1/index.html y lo renombro a index.php, y le inserto un código
PHP a la página: