Instalación de Apache, PHP y MySQL en Ubuntu

viernes, 9 de mayo de 2008

Para todo desarrollador web es un menester la instalación de un servidor web, agregarle algún módulo de procesamiento en el servidor y un motor de base datos. El combo que vamos a tratar aquí es un clásico: Apache como servidor web, MySQL como motor de base de datos y PHP como lenguaje de procesamiento "server-side".
A diferencia de otras guías que he escrito, esta la he realizado en base a un documento publicado por SiRGt, quien en vez de utilizar el comando apt-get para la descarga de los paquetes, utiliza el aptitude. Hay sutiles diferencias entre ambos, y voy a dar la visión pragmática del tema, paso a paso tal cual he realizado la instalación en mi equipo. No dudes en dejar un comentario al respecto; será muy bienvenido.

Primero, hay que actualizar los repositorios de paquetes. Ante la duda, se recomienda hacer un backup del repositorio. Basta con abrir la consola y tipear:

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup


De ser necesario, para restaurar el backup, solo basta pisar el archivo /etc/apt/sources.list con el que generamos (/etc/apt/sources.list.backup).
Para actualizar los repositorios, se debe hace un "update" y un "upgrade" de los mismos. Desde la consola:

$ sudo aptitude update
$ sudo aptitude upgrade

Si tenemos todo mas o menos al día, no tendríamos que tardar mas de unos segundos. Una vez actualizados los repositorios, procedemos a la instalación del motor de base de datos. Cabe destacar que en este ejemplo estamos instalando la version 5.0 de MySQL, recomendada al día de la fecha (09/05/2008) por sus desarrolladores. Veamos los comandos:

$ sudo aptitude install mysql-server-5.0


Si quisieramos instalar otra versión, solo se debe reemplazar el parámetro "mysql-server-5.0" por el indentificador que corresponda. Por ejemplo, para la versión 4.1, sería algo así:

$ sudo aptitude install mysql-server-4.1

Comenzará entonces una descarga de unos 40Mb aproximadamente (para la versión 5.0). Si utilizamos aptitude para realizar la instalación, en algún momento aparecerá una ventana que nos solicitará que ingresemos la contraseña de root para el motor de base de datos. NO PIERDAS ESTA CONTRASEÑA. Si en cambio utilizamos apt-get, o instalamos una versión anterior de MySQL, es posible que sea necesario ingresarla manualmente. En tal caso, basta con:

$ sudo /usr/bin/mysqladmin -u root password tu_password


Donde tu_password es la contraseña que quieras asignarle al usuario root.
Ahora continuaremos con la instalación del apache. Desde la consola, tipeamos:

$ sudo aptitude install apache2


Se descargarán unos 2Mb aproximadamente. Con eso es suficiente para el servidor web. Ahora pasaremos al módulo de PHP 5, para lo cual tipeamos:

$ sudo aptitude install php5


Se descargarán unos 3Mb aproximadamente. Ahora se deben instalar las librerías que permitiran al motor de base de datos trabajar en conjunto con el PHP y el Apache. Para instalarlas, ingresamos:

$ sudo aptitude install libapache2-mod-auth-mysql
$ sudo aptitude install php5-mysql

Ambas librerías no llegan a ocupar 300Kb. Y con esto damos por terminada la instalación. Ahora, para probar que todo este ok, reiniciaremos el daemon del servidor web y probaremos un script ejecutado desde nuestro servidor. Para reiniciar el servidor web:

$ sudo /etc/init.d/apache2 restart


Despues de unos segundos, se detendrá el servidor y se lo volverá a arrancar. Es posible que aparezca un "warning" indicándonos que el Apache no pudo determinar el nombre de dominio de nuestro servidor; a no preocuparse, utilizará por defecto el nombre "localhost" para la ip 127.0.0.1, lo cual nos permitirá realizar pruebas locales. Para configurar el servicio web, necesitaríamos otra guía, la cual no dudo escribire pronto ;)
Reinciado el servicio, crearemos un script para probar nuestro flamante "webserver". Para eso, ejecutamos desde la consola:

$ sudo gedit /var/www/script_prueba.php


Y como script, pondremos esto:

<?php
phpinfo();
?>

Guardamos el archivo, abrimos nuestro navegador web, y le solicitamos la siguiente URL:

http://localhost/script_prueba.php


Si todo esta bien, veremos una pantalla de status del módulo de PHP que está corriendo en nuestro servidor, con un detalle exhaustivo de toda su configuración.
Y con esto finalizamos la instalación y test de nuestro servidor web en Ubuntu. Quedan muchos temas por ver; desde como empezar a desarrollar un sitio hasta como configurar nuestro servidor para poder ser accedido desde internet. Intentaré cubrir todos esos temas en breve. Hasta la próxima!

Links de interés:
Guía original de SiRGt
Apache
PHP
MySQL

5 comentarios:

Anónimo dijo...

Gracias por actualizar, voy a poner tu post al en los comentarios para que la gente que tenga dudas venga a verlo ;)

saludos!

nin_7 dijo...

q tal, me llamo daniel estudio ing. de sistemas en la ULA - venezuela.

Habia estado buscando y buscando y buscando ... paginas en internet donde me explicaran detalladamente como instalar apache, php y mysql, pero como siempre en la web se encuentran muchos documentos pero los autores dejan muchos detalles que uno como principiante ignora (" NUESTRA IGNORANCIA jejeje")... y es dificil obtener un buen resultado de ellos.

Hasta q encontre este documento BUENISIMO, por lo general no dejo comentario " me da pereza jeje" pero esta vez me motivo la forma en que explicaron el documento lo califico como excelente gracias por su aporte y sigan documentando de esa forma y que otros sigan sus pasos :) ...

tambien voy a poner tu link en el foro de ubuntu para actualizar el foro :D, el cual me trajo hasta aqui gracias al comentario actualizado de Sirgt, espero ayudar con eso a otros ...

GRACIAS... y suerte

Leonardo Tadei dijo...

Muy buenas!

el procedimiento está correctísimo, como todo lo que publicás.
Te escribo porque esto puede hacerse mucho más fácil: en Synaptic en Editar -> Marcar Paquetes por Tarea, hay una opción que hace todo esto con un solo click: LAMP.
O en Tasksel si te gusta más la línea de comandos.

Saludos!

Kaleb.Almanegra dijo...

Leonardo, muchas gracias por tu aporte!

Estoy un poco dejado con el blog... ni bien tenga unos minutos me pongo a actualizar.

Nuevamente, muchas gracias!

Lesseriel dijo...

Hola, soy nuevo en esto, esta guia funciona para Ubuntu 10.04 en la vesioon DESKTOP? o tengo qe poner la version server?

Vas a publicar tambien como conectarlo a la WEB?

Gracias!