infoALEPH

Software y soporte técnico para Linux y Windows, además de otras cosas

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

Publicado por proteo2000 en Mayo 12, 2008

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.

Escribe un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>