Introducción

Cuando hablamos de las siglas LAMP nos referimos a un conjunto de aplicaciones de software libre que juntas habilitan los servicios necesarios para ofrecer sitios web dinámicos y aplicaciones web. Las siglas LAMP representan L inux, A pache, M ySQL y P HP, siendo Linux el sistema operativo, Apache el servidor web, MySQL la base de datos donde se almacenarán los datos y PHP para dar el soporte al contenido dinámico.

En este artículo vamos a realizar la instalación de este stack en la distribución Ubuntu 14.04, por tanto lo primero que debemos hacer es tener instalada esta distribución para comenzar.



Prerrequisitos

Antes de comenzar, debemos tener una cuenta de usuario que no sea root en el servidor.


Paso 1 - Instalar Apache

El servidor web Apache es actualmente el más famoso de los servidores web en el mundo. Por ese motivo lo hace idóneo como elección para montar un hosting web.

Podemos instalar Apache de una forma muy sencilla utilizando el administrador de paquetes de Ubuntu, apt . Vamos a utilizar la aplicación sudo que nos va a permitir realizar operaciones como super usuario, para ello la cuenta debe estar incluida en sudoers . Para realizar la instalación ejecutamos los siguientes comandos en la terminal:

$ sudo apt-get update
$ sudo apt-get install apache2

El primer comando es para actualizar las cabeceras de paquetes en nuestro sistema y el segundo comando instala apache2 .

Una vez instalado podemos verificar que está instalado visitando la dirección IP pública de nuestro servidor a través de un navegador. En la barra de direcciones introducimos lo siguiente:

http:// tu_direccion_ip_del_servidor

Lo que tenemos que ver en el navegador es la página web de Apache por defecto para la distribución, que ofrece información del servicio y es utilizada normalmente con propósitos de pruebas. Nos debe salir algo como esto:

Imagen 0 en Cómo instalar Linux, Apache, MySQL y PHP (LAMP) en Ubuntu 14.04

Si vemos esta pagina, es que está correctamente instalado.


Paso 2 - Instalar MySQL

Una vez que tenemos el servidor web operativo, el siguiente paso es instalar la base de datos. MySQL es un sistema de base de datos que nos va a permitir almacenar los datos de las páginas o aplicaciones web.

Para instalarlo vamos a utilizar de nuevo la herramienta apt . En la terminal ejecutamos lo siguiente:

$ apt-get install mysql-server php5-mysql

El paquete mysql-server instalará el servidor MySQL y el paquete php5-mysql dará el soporte de PHP a la base de datos.

Durante la instalación del paquete se nos preguntará por la  contraseña del superusuario ( root ) para acceder a la base de datos. Esta cuenta administrativa de MySQL tiene todos los privilegios de administración, para poner un ejemplo es similar a la cuenta de root del propio servidor, por tanto esta contraseña debe ser muy segura, siendo aconsejable el uso de un mínimo de ocho caracteres, con mayúsculas y minúsculas, números y caracteres especiales permitidos.

Una vez la instalación ha sido completada, el siguiente paso es ejecutar algunos scripts adicionales que provee el paquete mysql-server para asegurar la base de datos.

Lo primero es indicarle a la base de datos que cree la estructura de directorios donde se almacenará la información. Esto se consigue ejecutando el siguiente comando:

$ sudo mysql_install_db

Además de esto, vamos a ejecutar un script de seguridad que eliminará algunas características por defecto peligrosas y limitará el acceso a la base de datos. Dicho script se ejecuta del siguiente modo:

$ sudo mysql_secure_installation

Necesitaremos introducir la contraseña que hemos puesto durante la instalación para la cuenta root de MySQL. Lo siguiente que nos preguntará es si queremos cambiar la contraseña. Si la hemos definido bien, no habría necesidad de volver a modificarla, por tanto indicamos “no” en el prompt.

Para el resto de cuestiones, simplemente vamos a pulsar la tecla “ ENTER ” para dejar las opciones por defecto que ya aseguran la configuración. Esto eliminará los usuarios y bases de datos de ejemplo, deshabilitará el acceso remoto del usuario root , y cargará estas nuevas reglas en el servicio.

Una vez realizado todo esto, ya tendremos el servicio instalado y correctamente configurado.


Paso 3 - Instalar PHP

PHP es el componente de la configuración que nos dará el soporte para cargar contenido dinámico en nuestras webs. Este puede ejecutar scripts, conectarse a la base de datos de MySQL para obtener información, y facilitar contenidos procesados hacia el servidor web para poder mostrarlos.

Para su instalación debemos ejecutar lo siguiente:

$ sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

El paquete de php5 instalará en nuestro sistema el soporte de php en si, el paquete libapache2-mod-php5 proveerá el soporte de php para Apache y el paquete php5-mcrypt ofrece las librerías de diversos sistemas de encriptación para php.

Una vez instalados los paquetes, el siguiente paso es configurar Apache para modificar la forma en que el servidor sirve los ficheros cuando un directorio es solicitado. Actualmente, si un usuario solicita un directorio del servidor, Apache buscará primeramente un fichero llamado index.html . Nuestro objetivo es decirle a Apache que cuando se solicita un directorio, que busque primero el fichero llamado index.php .

Para hacer esto, editamos el fichero de configuración /etc/apache2/mods-enabled/dir.conf . Podemos utilizar nuestro editor de textos favorito ( vim , nano , gedit , etc), siempre utilizando sudo :

$ sudo vim /etc/apache2/mods-enabled/dir.conf

Una vez abierto, vamos a buscar este trozo de código:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Y movemos el fichero index.php a la primera posición de búsqueda:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Una vez finalizado, salvamos los cambios en el fichero. Tras ellos para que se apliquen los cambios en el servidor se debe reiniciar el servicio, ejecutando el siguiente comando:

$ sudo service apache2 restart


Instalando módulos de PHP

Para ampliar las funcionalidades de PHP, podemos instalar módulos adicionales.

Para ver los módulos y librerías que tenemos disponibles, hacemos una búsqueda en el repositorio de nuestro sistema ejecutando el siguiente comando:

$ apt-cache search php5-

El resultado será una lista de componentes opcionales que podemos instalar, incluyendo una breve descripción de cada uno:

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .

Para obtener una información mas pormenorizada de un componente concreto podemos ejecutar el siguiente comando:

$ apt-cache show nombre_paquete

Una vez ejecutado, en el campo Descripción podremos ver dicha información.

Si finalmente queremos instalar un componente concreto podemos instalarlo con nuestra herramienta apt del siguiente modo:

$ sudo apt-get install php5-modulo

Si queremos instalar mas de un componente podemos hacerlo en la misma linea de instalación del siguiente modo:

$ sudo apt-get install paquete1 paquete2 …

Ya en este punto, el stack LAMP está instalado y configurado. Ya podemos probar nuestra configuración de PHP en el servidor.


Paso 4 - Probar el procesamiento de PHP en nuestro servidor Web

Para poder probar si nuestro sistema esta correctamente configurado para PHP debemos crearnos un script sencillo y alojarlo en el servidor.

Llamaremos a este fichero de script como informacion.php . Para que Apache encuentre el fichero y lo sirva correctamente, debemos salvar dicho fichero en un directorio específico, que normalmente es llamado “web root” .

En Ubuntu 14.04, este directorio está localizado en /var/www/html . Crearemos el fichero en dicha localización editando directamente sobre el directorio del siguiente modo:

$ sudo vim /var/www/html/informacion.php

Con el editor de texto abierto, agregamos el siguiente código PHP dentro del fichero:

<?php
phpinfo();
?>

Y lo salvamos.

La función phpinfo() nos mostrará una página generada de forma dinámica referente a la información del servidor, con datos del estado del servicio, versión de php, módulos instalados, etc.

Es momento de probar si nuestro servidor esta preparado para mostrar de forma correcta el contenido del script PHP. Para poder realizar esto, en el navegador indicaremos la dirección ip del servidor seguido del fichero php, escribiendo en la barra de navegación lo siguiente:

http:// ip_servidor /informacion.php

La página que debería aparecer seria algo así:

Imagen 1 en Cómo instalar Linux, Apache, MySQL y PHP (LAMP) en Ubuntu 14.04

Si aparece esto, significa que PHP está funcionando como se espera.

Debemos eliminar el fichero para no dejar información residual en nuestro servidor. Esto se hace ejecutando el siguiente comando:

$ sudo rm /var/www/html/informacion.php


Conclusión

Ahora que tenemos el stack LAMP instalado, tenemos muchas opciones de instalación de servicios. Básicamente podemos instalar una plataforma de contenidos como Wordpress , podemos instalar plataformas educativas como Moodle o Joomla , configurar frontends de administración como PHPMyAdmin y un largo etcetera.

Espero que os haya servido para montar vuestro propio servidor LAMP en Ubuntu 14.04!! ;)