Linux apache mysql php

Instalación de LAMP (Linux, Apache, MySQL y PHP)

LAMP, aparte de “lampara” en inglés, es un conjunto muy típico de programas open source que se suele utilizar para alojar páginas y/o aplicaciones web como WordPress o PHPMyAdmin. LAMP es el nombre que queda de juntar las iniciales de estos programas: Linux (Sistema operativo del servidor), Apache (Servidor web), MySQL (Base de datos) y PHP (Lenguaje de programación que procesa la web).
Del mismo modo, podemos encontrar otras muchas combinaciones como MAMP, LAPP, XAMPP, WIMP, etc… donde la primera letra se refiere al sistema operativo (X es multiplataforma), la segunda al servidor web, la tercera a la base de datos y la última al lenguaje de programación (En el caso de XAMPP son dos, PHP y PERL)

El objetivo de esta instalación es la de poder empezar a desarrollar nuestros proyectos con CMS (WordPress, Joomla, Concrete5…) en local, aunque también nos va a permitir ejecutar aplicaciones web o scripts PHP.
Por eso no voy a entrar en este artículo a ver otras cosas como realizar conexiones SSH con nuestro servidor o configurar un hosting DNS para que no tengamos que mirar la IP de casa cada vez que queramos conectarnos a un ordenador en casa.

Originalmente, esta guía sirve para distribuciones Ubuntu 14.04, aunque la he probado en Kubuntu 15.04 y también funciona.

Instalación de LAMP paso a paso

Instalar Apache

El servidor web Apache es uno de los servidores web más populares que existen, si no el más popular, y es sin duda una buena elección para nuestro propósito.
En la linea de comandos, ejecutamos:


sudo apt-get update
sudo apt-get install apache2

El primer comando es para comprobar que no existen actualizaciones sin instalar. El sistema también comprueba automáticamente si las hay y nos avisa,  pero no está de más hacerlo por si acaso.

Ya está instalado el servidor web. Ahora, si ponemos “localhost” en lugar de “http://www.cualquierweb.com” podremos ver los archivos o carpetas que tengamos dentro de /var/www/html (carpeta raíz por defecto para Apache).
Personalmente suelo cambiar esta configuración y hago que la carpeta raíz sea /var/www, pero como no es imprescindible lo explico en otro post (click aquí para ver cómo hacerlo)

Esta instalación trae un archivo index.html, con lo que si todo ha ido bien, deberíamos poder verlo:

imagen de muestra de Apache, primer paso en la instalación del servidor LAMP

Instalar MySQL

MySQL es un sistema gestor de bases de datos. Nos permitirá almacenar y organizar la información que tendrá que utilizar nuestra web.

Desde la linea de comandos:


sudo apt-get install mysql-server php5-mysql

Nos pedirá que escojamos una contraseña para el usuario root.

Cuando la instalación termine, ejecutaremos los siguientes comandos para crear la estructura de directorios de MySQL donde guardará la información y para asegurar un poco el acceso a la base de datos:


sudo mysql_install_db

sudo mysql_secure_installation

Nos pedirá que introduzcamos la contraseña del usuario root (la que hemos introducido hace dos comandos) y nos preguntará si queremos cambiarla. Como la acabamos de introducir y no queremos modificarla, seleccionamos “n”.

Las siguientes preguntas que nos va a hacer son para eliminar tablas y usuarios de muestra, para inhabilitar las conexiones remotas y para cargar los cambios que acabamos de hacer. Salvo excepción, podemos aceptarlas todas

Instalar PHP

PHP es el componente que va a procesar los scripts, realizar consultas con las bases de datos, mostrar contenido dinámico o lo que necesitemos.

Instalamos PHP5 y algunos paquetes suplementarios:


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

Ahora modificamos la forma en la que Apache sirve los archivos. Ahora Apache sirve primero el archivo index.html y queremos que sirva index.php. Para hacer esto, basta con cambiar el orden en el que aparecen dentro del archivo dir.conf:


sudo nano /etc/apache2/mods-enabled/dir.conf

Si no hemos cambiado nada veremos esto:



DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

Modificamos el orden y ponemos index.php en primera posición:



DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Guardamos (Ctrl-x) y reiniciamos Apache para que funcionen los cambios:


sudo service apache2 restart

Instalar módulos PHP

Para mejorar la funcionalidad de PHP se pueden instalar algunos módulos más. Podemos ver que opciones hay con el siguiente comando:


apt-cache search php5-

Veremos una lista con todos los componentes y una pequeña descripción de cada uno.:


php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dev - Files for PHP5 module development
php5-json - JSON module for php5
php5-readline - Readline module for php5
php5-cgi - Lenguaje de guiones embebidos en HTML para servidores (binario CGI)
. . .

Para saber qué hace cada módulo, podemos ver toda la información sobre el módulo junto con una descripción extendida así (sustituir “php-common” por el nombre del paquete que se quiera ver):


apt-cache show php-common

Una vez que sepamos que paquetes queremos instalar, los instalamos con el comando “apt-get install”:


sudo apt-get install php-common

Y si queremos instalar varios a la vez, podemos ponerlos uno detrás de otro, separados únicamente por un espacio:


sudo apt-get install php-common php5-cli

Prueba

Ya tenemos instalado y configurado nuestro servidor LAMP. Solo nos queda probar que todo funcione correctamente. Para ello crearemos un archivo llamado info.php en la raíz del servidor web, que por defecto está en /var/www/html/ (Si quieres cambiarlo puedes ver aquí como).
Con el siguiente comando creamos y abrimos el archivo de texto con el nombre que queremos:


sudo nano /var/www/html/info.php

Pegamos el siguiente código dentro de ese archivo:


;

Guardamos y cerramos. Ahora deberíamos poder ejecutar el script copiando la siguiente dirección en nuestro navegador:


http://IP-del-servidor/info.php

Si lo hemos instalado en el mismo equipo que ejecuta el navegador, podemos sustituir “http://IP-del-servidor” por “localhost” y quedaría así:


localhost/info.php

Deberíamos ver una imagen como esta, en la que nos da información acerca de la configuración de PHP en el servido (más adelante escribiré acerca de como cambiar algunos valores para que no tengamos problemas con instalaciones de wordpresss) :

imagen con información sobre PHP, últio paso en la instalación del servidor LAMP

Una vez comprobado, borramos el archivo para evitar dar información a cualquiera que acceda a nuestro servidor:


sudo rm /var/www/html/info.php

Por último, si estás instalando LAMP para poder instalar después PHPMyAdmin, aquí te explico como hacerlo.

 

Fuentes: DigitalOcean.com y Wikipedia