jump to navigation

Cómo instalar un webserver con Apache, PHP5 y WordPress utilizando Virtual Hosts Mayo 12, 2008

Posted by proteo2000 in nivel avanzado, textos.
Tags: , , , , , , , ,
4 comments

El siguiente tutorial fue el resultado de una tarea de un curso de linux avanzado. Si bien el procedimiento no es muy avanzado sí me costó trabajo obtenerlo. Y -como diría Galileo- sin embargo se mueve. Funciona para GNU/Linux Debian Etch.

Para efectos demostrativos crearé dos sitios web virtuales, ambos en el puerto 80:

  1. acuerdo.com, un sitio de páginas estáticas en /var/www/memoria_jornadas
  2. misitio.com, un blog de wordpress

Y dado que WordPress requiere una base de datos MySQL además de PHP versión 5 habrá que instalar un servidor de MySQL y soporte para PHP5.

1. Instalar Apache + PHP + WordPress + MySQL

Como root:

$ apt-get install apache2 php5 wordpress mysql-server-5.0

2. Comprobar en un navegador la dirección http://127.0.0.1 para comprobar si apache funciona correctamente.

3. Ahora hay que comprobar si el soporte de PHP funciona:

a. Como root, cree una página PHP llamada prueba.php con el siguiente contenido y guárdela en /var/www/apache2-default/:

<?php
// Muestra toda la información, por omisión INFO_ALL
phpinfo();
// Mostrar solo la información de módulos.
// phpinfo( 8 ) produce el mismo resultado.
phpinfo(INFO_MODULES);
?>

4. Desde el navegador pruebe la página http://127.0.0.1/apache2-default/prueba.php

5. Si no funciona el PHP, habrá que habilitar el soporte de PHP5 en apache2

Como root:

a. En /etc/apache2/mods-available crear archivos:

libphp5.conf:
AddType application/x-httpd-php .php .phtml
libphp5.load:
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

b. Habilitar módulos utilizando el script a2enmod:

$ a2enmod libphp5

6. Modificar archivo /etc/hosts. Agregar línea:

127.0.0.1    localhost (...) misitio.com acuerdo.com

Ojo: En la misma línea deben quedar todos los alias usados para 127.0.0.1

4. Configurar Virtual Hosts

a. En la carpeta /etc/apache2/sites-available crear archivo de definición, llamémoslo “virtual”:

NameVirtualHost acuerdo.com:80
<VirtualHost acuerdo.com:80>
DocumentRoot /var/www/memoria_jornadas/
ServerName acuerdo.com
ServerAlias *.acuerdo.com
ErrorLog /var/log/apache2/acuerdo-err.log
TransferLog /var/log/apache2/acuerdo-transfer.log
</VirtualHost>
NameVirtualHost misitio.com:80
<VirtualHost misitio.com:80>
DocumentRoot /usr/share/wordpress/
ServerName misitio.com
ServerAlias www.misitio.com *.misitio.com
ErrorLog /var/log/apache2/wp-error.log
TransferLog /var/log/apache2/wp-access.log
</VirtualHost>

Nota: previamente hay que copiar los archivos necesarios a /var/www/memoria_jornadas, revisar permisos, y -muy importante- comprobar que existan los directorios referidos.

5. Habilitar (enable) los sitios con el script a2ensite:

$ a2ensite virtual

6. Reiniciar servicios de Apache:

$ /etc/init.d/apache2 restart

7. Configurar WordPress:

a. Abra su navegador y abra la dirección http://misitio.com

b. Siga las instrucciones para configurar el WordPress.

Mayor información en el sitio oficial de Apache y en el blog All About Linux.