Entorno LAMP
Si queremos iniciarnos en el mundo del Desarrollo Web necesitaremos prepararnos un entorno de desarrollo. En este post vamos a tratar la instalación de LAMP, configurando nuestro propio servidor web local en un sistema GNU/Linux.
¿QUÉ ES LAMP?
Se denomina LAMP a un conjunto de herramientas de software libre que se instalan en conjunto, ya sea en un servidor local o remoto, para poder disponer de nuestro propio servidor web. Las siglas de LAMP hacen referencia a Linux, Apache, MysQL y PHP (también otros leguajes de programación como Perl o Python).
Para el entorno Windows esta herramienta es WAMP o XAMPP.
A continuación veremos información de cada herramienta:
LINUX
De GNU_and_Tux.svg: Tux.svg: Larry Ewing, Simon Budig, Anja Gerwinski
Heckert_GNU_white.svg: Aurelio A. Heckert <aurium@gmail.com>
Gnulinux.png: Aurelio A. Heckert <aurium@gmail.com>, lewing@isc.tamu.edu (using The GIMP), Duduf
derivative work: Wondigoma (talk) – GNU_and_Tux.svg
Gnulinux.png, FAL, Link
GNU/Linux es un sistema operativo de código abierto, el más recomendado para servidores web por su robustez y seguridad. Al ser de código abierto, existen muchas distribuciones diferentes, cada una con sus características. Para nuestro ejemplo, vamos a utilizar la última versión de Debian, actualmente es Debian 8.6 Jessie.
(Próximamente: post sobre Instalación de Debian 8.6 Jessie).
- Sitio oficial de Debian: https://www.debian.org
- Más información sobre GNU/Linux en Wikipedia: https://es.wikipedia.org/wiki/GNU/Linux
APACHE
Apache es un servidor HTTP multiplataforma y de código abierto, desarrollado y mantenido por una comunidad de usuarios bajo la supervisión de la Apache Software Foundation dentro del proyecto HTTP Server (httpd).
- Más información sobre Apache en Wikipedia: https://es.wikipedia.org/wiki/Servidor_HTTP_Apache
- Sitio Oficial Apache: https://www.apache.org/
MYSQL
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base datos open source más popular del mundo.
Para nuestra instalación usaremos MariaDb.
MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Está desarrollado por Michael (Monty) Widenius(fundador de MySQL) y la comunidad de desarrolladores de software libre.
- Sitio Oficial de MySQL: https://www.mysql.com
- Más información de MysQL en Wikipedia: https://es.wikipedia.org/wiki/MySQL
- Sitio Oficial de MariaDb: https://www.mariadb.org
- Más información de MariaDb en Wikipedia: https://es.wikipedia.org/wiki/MariaDB
PHP
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML.
- Sitio Oficial e información de PHP: http://php.net
PHPMYADMIN
Para terminar de preparar nuestro entorno, también necesitaremos PhpMyAdmin.
phpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas web, utilizando Internet.
- Información de phpMyAdmin en Wikipedia: https://es.wikipedia.org/wiki/PhpMyAdmin
- Sitio Oficial de phpMyAdmin: https://www.phpmyadmin.net/
INSTALACIÓN DE LAMP
Ahora que sabemos qué es LAMP y cada una de sus herramientas, vamos a pasar a la instalación. Para este post he utilizado un servidor Debian 8.6 Jessie en una máquina virtual con VirtualBox. (En un próximo post explicaremos la instalación de Debian).
Antes de empezar a descargar las herramientas, actualizaremos los paquetes de nuestro servidor Debian con los comandos: sudo apt-get update y luego sudo apt-get upgrade
PRIMER PASO: INSTALACIÓN DE MARIADB
Como sistema gestor de bases de datos, vamos a instalar MariaDb, sistema basado en MySQL. Para ello, nos logueamos en nuestro servidor Debian como usuario root con el comando: su – e introducimos la contraseña.
Ahora instalaremos el servidor Openssh para poder conectarnos a nuestro servidor de forma segura: apt-get install openssh-server
Instalamos el servidor y el cliente de MariaDb:
apt-get install mariadb-server mariadb-client
Nos pide una contraseña para el usuario root de MariaDb. Aunque no es obligatorio, sí es aconsejable:
Y volvemos a repetir la contraseña:
SEGUNDO PASO: INSTALACIÓN DEL SERVIDOR WEB APACHE
Para su instalación utilizamos el comando:
apt-get install apache2
Una vez instalado, habilitamos el módulo y el sitio SSL en nuestro servidor Apache:
a2enmod ssl
a2ensite default-ssl
Y reiniciamos el servidor Apache, es muy importante reiniciarlo cada vez que configuremos algo:
service apache2 restart
TERCER PASO: INSTALACIÓN DE PHP Y EL MÓDULO PHP DE APACHE
Instalamos php, el módulo de php de apache y reiniciamos el servidor:
apt-get install php5 libapache2-mod-php5
service apache2 restart
CUARTO PASO: SOPORTE MYSQL Y MARIADB EN PHP
Como vamos a usar MariaDb en vez de MySQL, debemos instalar el nuevo paquete php5-mysqlnd en vez del paquete php5-mysql, así evitaremos mensajes de avisos y posibles errores. Además, instalaremos unos cuantos módulos que nos pueden hacer falta más adelante:
apt-cache search php5
apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Y volvemos a reiniciar el servidor apache:
service apache2 restart
QUINTO PASO: MEJORAR LA VELOCIDAD DE PHP
Instalaremos el paquete APCu para el almacenamiento en caché y optimización de PHP:
apt-get install php5-apcu
Y como siempre, reiniciamos el servidor Apache:
service apache2 restart
SEXTO PASO: INSTALACIÓN DE PHPMYADMIN
PhpMyAdmin es una herramienta gráfica que nos permite administrar nuestras bases de datos MySQL y MariaDb. La instalación es tan sencilla como los pasos anteriores:
apt-get install phpmyadmin
Elegimos el servidor web con el que trabajaremos, apache2. Para elegirlo pulsamos la
“barra espaciadora” y luego aceptamos con “Intro”:
Ahora decimos que sí configuramos la base de datos para phpmyadmin con dbconfig-common:
Introducimos la contraseña del usuario de administración de la base de datos:
Contraseña de aplicación MySQL para phpmyadmin, en mi caso utilicé la misma:
Confirmamos la contraseña y ya tendremos todo listo:
PRUEBA DEL SERVIDOR APACHE
Una vez instalado el entorno LAMP en nuestro servidor Debian, vamos a comprobar que todo funciona correctamente. Lo primero que vamos a hacer es ver la dirección IP de nuestro servidor con ifconfig:
En mi caso, la IP es 192.168.1.34 Ahora vamos a un equipo cliente e introducimos
http://192.168.1.34 para ver si funciona el servidor Apache:
Funciona correctamente, pero ahora debemos probar la conexión segura al servidor.
Vamos a introducir https://192.168.1.34 para comprobarlo:
Si todo va bien, nos saldrá este aviso indicando que la conexión no es privada. Para que no nos salga este aviso debemos configurar un certificado, pero no lo haremos de
momento. Pulsamos en “Opciones avanzadas” y luego en “Acceder a…”
Todo correcto, hemos accedido por un canal seguro a nuestro servidor Apache:
PRUEBA DE PHP
Para comprobar si PHP está correctamente instalado, vamos a crear un archivo y lo
guardaremos en el directorio raíz de nuestro servidor apache. El archivo contendrá la
función infophp(), que nos mostrará la versión de php y los módulos instalados en
nuestro servidor. Creamos el archivo:
nano /var/www/html/info.php
Introducimos la función phpinfo() y lo guardamos como info.php. Escribimos tal cuál está en la foto de abajo, pulsamos ctrl+O para guardar, pulsamos Intro para confirmar el nombre del archivo y por último ctrl+X para salir:
Ahora comprobamos el archivo accediendo a su ubicación en el servidor, en mi caso:
https://192.168.1.34/info.php:
Este archivo es sólo para comprobar que PHP funciona correctamente en nuestro servidor. Una vez que lo hemos comprobado, es aconsejable borrarlo:
rm /var/www/html/info.php
PRUEBA DE PHPMYADMIN
Por último, nos queda probar PhpMyAdmin. Simplemente accedemos a su ubicación en nuestro servidor y nos logueamos para comprobar que funciona correctamente:
Una vez logueados, ya podemos manejar nuestras bases de datos:
Y esto ha sido todo, ya disponemos de nuestro entorno LAMP en un servidor Debian
Pingback: Instalación y Configuración de MySQL 5.7
Pingback: Proyecto Bases de Datos
Instalación de LAMP – Javier Jiménez