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