domingo, 27 de enero de 2008

Instalar Apache + PHP + MySQL + Userdir en Ubuntu

Este tutorial es para usuarios un poco más experimentados que quieran convertir su Ubuntu en un servidor, ya sea para crear aplicaciones PHP en una red local o simplemente para probar y aprender. También debo decir que aunque está orientado a Ubuntu, los usuarios de las demás distros pueden seguir los pasos de configuración. Lo único que cambia es la instalación.

Para esto usaremos Apache2 como servidor, MySQL como servidor de bases de datos y PHP como script. A esta combinación se le llama LAMP. Una vez te familiarices con la configuración de Apache, puedes instalar más juguetes, como Python y Ruby.

Paso 1: Instalación
En Ubuntu abrimos nuestro amigo Synaptic. Una vez abierto vamos al menú Editar > Marcar paquetes por tarea. Nos abrirá una ventana como esta:



En esta ventana señalas LAMP Server y das Aceptar a todo. Luego haces click en Aplicar y dejas que instale.

En otras distros puedes buscar e instalar en el administrador de paquetes: apache2, mysql-server y php5.

Para probar que funciona, una vez instalado abre el navegador y escribe en la barra de dirección: http://localhost. Debería abrirte una página con un enlace a un folder. Si te sale una página de error, revisa si te faltó algún paquete en la instalación.

Paso2: Configuración de PHP
Cuando instalamos LAMP en Ubuntu de esta forma, PHP aún no estará disponible en nuestro servidor, así que lo tenemos que configurar. Ve al directorio de Apache, para eso abre un Terminal (Aplicaciones > Accesorios > Terminal) y escribe:

cd /etc/apache2

Una vez allí escribe ls para que te despliegue la lista de archivos y directorios. Verás en la lista los directorios mods-available y mods-enabled. Estos directorios son la nueva forma de configurar Apache. Si lo has usado en versiones anteriores, recordarás que anteriormente se configuraba editando los archivos .conf. Ahora todos los módulos disponibles de Apache se encuentran en el directorio mods-available y lo que hay que hacer es crear enlaces simbólicos a estos, en el directorio mods-enabled para activarlos.

Bueno, entonces hagamos el enlace simbólico a los módulos de PHP. Para esto escribe en el Terminal lo siguiente:

sudo ln -s /etc/apache2/mods-available/php* /etc/apache2/mods-enabled

Si ejecutas el comando ls mods-enabled verás que ya se encuentran allí los archivos de enlace de PHP5.

Paso 3: Configuración de Userdir
Primero paso a explicar qué es el módulo de Apache Userdir. Es un muy útil módulo que te permite crear un directorio en tu Home, que funcionará como un directorio en el servidor. Esto es muy conveniente para hacer pruebas con PHP, ya que te evita tener que copiar los archivos en /var/www (que sólo es editable por el root) para probarlos.

La configuración es similar a la de PHP. Escribimos en el Terminal:

sudo ln -s /etc/apache2/mods-available/userdir* /etc/apache2/mods-enabled

Ahora creamos el directorio público en tu Home. Para eso ve a Lugares > Carpeta personal. Allí crea una nueva carpeta nombrándola public_html. La dirección de esta nueva carpeta debe ser /home/[tu nombre de usuario]/public_html.

Paso 4: La prueba
Terminado todo lo anterior, nuestro servidor estará listo para usarse con PHP y Userdir una vez lo reiniciemos. Para eso escribe en el Terminal:

/etc/init.d/apache2 restart

Si todo va bien, no saldrá ningún mensaje de error. Siendo así, abre el navegador y escribe en la barra de direcciones: http://localhost. Así accedemos a la raíz del servidor y comprobamos que Apache está funcionando correctamente. Ahora, para ir al directorio público que acabas de crear, escribe al final de la dirección /~[tu nombre de usuario], la dirección completa debe quedar http://localhost/~[tu nombre de usuario]. Obviamente reemplazas los corchetes y su interior por tu nombre de usuario. El caracter ~ (virgulilla) lo pones con AltGr + 4. Por ejemplo, si tu nombre de usuario es tux, la dirección es http://localhost/~tux.

Si todo salió bien, verás una página con el mensaje "Index of /~[tu nombre de usuario]". Bien, ahora sólo falta probar PHP. Para eso abre el directorio public_html de tu Home con el explorador de archivos (Nautilus), haz click derecho y en el menú contextual haz click en Crear un Documento > Archivo Vacío. Ponle como nombre "prueba.php". Ahora haz dobleclick sobre éste para editarlo con Gedit. Escribe:

<?php
phpinfo();
?>

Guarda el archivo y ahora ve de nuevo al navegador, y abre de nuevo http://localhost/~[tu nombre de usuario], o si ya lo tenías abierto, oprime F5 para actualizar. Verás que debajo de "Parent directory" se ha agregado "prueba.php". Ábrelo y te debe aparecer una página con una tabla de color morado. Busca MySQL en dicha página, si lo encuentras como un título es que MySQL también está correctamente instalado.

Muy bien, ahora deja volar tu imaginación y creatividad y crea tus aplicaciones PHP agregando archivos y carpetas en el directorio public_html de tu Home, empieza por acá para saber más de PHP. Puedes probar instalando un manejador de contenidos como Mambo o un administrador de MySQL como PhpMyAdmin. También podrás instalar nuevos módulos de lenguajes como Ruby o Python. Suerte ;-)

9 comentarios:

Anónimo dijo...

Wenas!!

Muy weno el tutorial, lo intente en windows y no me tiraba, he probao en ubuntu 7.10 y me ha salido a la primera :D, menos una cosilla, cuando pincho encima de prueba.php lo que hace es salirme la ventana para descargarme el archivo y no se me visualiza lo de la pagina morada, podrias decirme como hacerlo?

Gracias

Saludos.

Pabloghg dijo...

OOPS! Gracias por avisarme. Cometí un error cuando expliqué la instalación de PHP en Apache, pero ya lo corrijo.

Para activar PHP en Apache abre la consola y escribe sudo ln -s /etc/apache2/mods-available/php* /etc/apache2/mods-enabled

Ahora reinicia Apache con /etc/init.d/apache2 restart

Ya te debería funcionar. Si no, me cuentas. Te explico que estuvo mal: escribí PHP* en vez de php*, en Linux el sistema de archivos diferencia entre mayúsculas y minúsculas. Gracias por avisarme de este error.

Para Windows mejor usa XAMPP que viene con todo listo para funcionar. Lo descargas aquí

Anónimo dijo...

Hola

He intentado hacerlo de dos maneras y me sigue pasando lo mismo :S

sudo ln -s /etc/apache2/mods-available/php* /etc/apache2/mods-enabled

sudo ln -s /etc/apache2/mods-available/PHP* /etc/apache2/mods-enabled

En cuanto a lo de xampp, gracias voy a probar haber que tal sale ^^

Saludos.

Pabloghg dijo...

Bueno, puede ser que no se ha instalado PHP5 correctamente. Lo que puedes hacer es abrir Synaptic y buscar el paquete php5. Instálalo y ya está, te evita el tener que crear los enlaces simbólicos. Me cuentas el resultado.

Anónimo dijo...

Hola

Gracias, lo he probao y funciona ^^
Tengo una preguntilla...Quiero instalar RAP (RDF-API) hay que descargarse un .zip pero no se que hay que hacer con el, ¿No sabras algo acerca del tema,no?

Saludos.

Anónimo dijo...

grax, me sirvio muxisimo

T dijo...

a mi me funciono de maravillas , solo que tuve q entrar con sudo su para poder resetear el apache

Fabricio Romero dijo...

me funciono de perlas tengo kubuntu 9.04 y esta demasiado buena la info solo tuve que instalar adicional al final de todo phpmyadmin con la linea:

sudo apt-get install phpmyadmin

todo funciona muy bien ahora a instalar joomla y dejar volar mi imaginación :D

Unknown dijo...
Este comentario ha sido eliminado por el autor.