En esta publicación:
¿Qué es un servidor LAMP?
LAMP es un acrónimo que define el uso de las siguientes herramientas:
- Linux(Sistema operativo).
- Apache(Servidor web http).
- MySQL(Gestion de bases de datos).
- PHP(Lenguaje de programación).
Juntos proveen una plataforma de software para desarrollar aplicaciones web de alto rendimiento. cada componente aporta características esenciales. En este articulo se presentan los pasos para completar la instalación de un servidor LAMP componente a componente:
Instalación de Linux
Linux es un sistema operativo libre y abierto que ha estado en el mercado desde la década de los 90s. Actualmente tiene una base de usuarios a nivel mundial que trasciende industrias. Linux es popular en parte por que ofrece mayor flexibilidad y opciones de configuración que otros sistemas operativos.
Para este ejercicio instalaremos la distribución de Linux: CentOS 7.
¿Por qué CentOS 7?
Al considerar que sistema operativo utilizar hay muchas opciones para un host web, a continuación se presentan razones por las cuales es recomendable utilizar CentOS 7 sin embargo la sedición es del desarrollador , otro SO Linux recomendado es Ubuntu Server que presenta buenas características para web hosting.
- Seguridad: actualmente es una de las mayores preocupaciones y CentOS tiene múltiples características de seguridad incluidas. Una de las formas en que CentOS ayuda a protegerse de cyber-ataques es utilizando Security-Enhanced Linux (SELinux) que es un mecanismo de control de acceso que impone reglas sobre procesos y archivos, basado en políticas definidas por el usuario.
- Amplia documentación: debido a que CentOS es ampliamente utilizado en el mundo del desarrollo y host web se ha convertido en estándar en el mercado, por lo que encontrar documentación e información sobre el mismo es relativamente fácil.
- Panel de administración: CentoOS soporta múltiples plataformas de administración que incluye: cPanel, InterWorx, WebMin, DirectAdmin, Spacewalk, Virtualmin, Vesta CP, y muchos más.
El proceso de instalación de el sistema operativo podrá variar según el que elijas, a continuación puedes visitar la guía detallada de instalación de CentOS 7:
Actualizar SO
Ahora con nuestro sistema operativo listo podemos instalar los demas componentes, antes de iniciar es importante actualizar los repositorios del CentOS previamente instalado con el comando:
sudo yum update
Instalación de servidor Apache
El servidor web Apache procesa solicitudes y sirve contenido web a través de http así que la aplicación es accesible a cualquiera en el dominio público vía URL web. Desarrollado y mantenido por la comunidad de usuarios, Apache es sistema maduro y con muchas características que ejecutan gran parte de los sitios web actualmente publicados en Internet.
Instalar Apache
sudo yum install httpd
Habilitar consultas web
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Habilitar y activar Apache
Habilitar el servicio logrará que el servidor se active automáticamente al reiniciar el sistema operativo:
sudo systemctl enable httpd.service
Activar servicio:
sudo systemctl start httpd.service
Iniciar servidor:
sudo systemctl start httpd
Verificar estado de Apache
sudo systemctl status httpd
Si todo ha salido bien, mostrará el siguiente resultado:
Y un navegador web será posible consultar el servidor con la dirección IP del server, si no recuerdas la IP puedes consultarla con el comnado nmcli:
El navegador deberá mostrar la pantalla de prueba de Apache:
http://ip-servidor/
Instalación de servidor MySQL
MySQL es una base de datos relacional de código abierto para almacenar datos, se puede almacenar información en formato que es fácilmente consultado con lenguaje SQL. SQL es una gran opción para dominios comerciales bien estructurados y el manejo de sus datos, además es capaz de manejar incluso grandes y complejos sitios web.
Instalar MySQL
sudo yum install mariadb-server mariadb
Habilitar e iniciar MySQL
Habilitar el servicio logrará que el servidor se active automáticamente al reiniciar el sistema operativo:
sudo systemctl enable mariadb.service
Iniciar servidor:
sudo systemctl start mariadb
Verificar estado de MySQL
sudo systemctl status mariadb
Si todo ha salido bien, mostrará el siguiente resultado:
Instalación de servicio PHP
PHP es un lenguaje de programación de código abierto, trabaja de manera transparente con Apache para crear sitios web dinámicos. No se puede utilizar HTML para ejecutar procesos dinámicos cómo consultar datos de una base de datos. Para proveer este tipo de funcionalidad, simplemente incluyes código PHP en las secciones de la página web que requieren una interacción dinámica.
Instalar PHP
sudo yum install php php-mysql
Iniciar PHP
sudo systemctl restart httpd.service
Verificar versión de PHP
php -v
Probar PHP + Apache
Para verificar que las herramientas hayan quedado bien instaladas podemos crear un ejercicio sencillo de prueba. Necesitamos crear un archivo PHP y alojarlo en el directorio de contenido del servidor web, para ello necesitamos cualquier editor de texto de Linux en este caso utilizaremos nano, lo podemos instalar con el siguiente comando:
sudo yum install nano
Con nano instalado podemos editar el archivo info.php el cual no existe previamente el directorio del contenido de Apache (/var/www/html/) creamos y editamos el archivo con el comando:
sudo nano /var/www/html/info.php
El contenido de info.php debe ser el siguiente:
<?php
phpinfo ();
?>
Con el archivo guardado podemos consultar a través del navegador web donde deberemos obtener el siguiente resultado:
http://ip-servidor/info.php
Conclusión
Hemos instalado exitosamente el servidor LAMP, con ello podremos empezar a desarrollar nuestras aplicaciones web, los siguientes pasos lógicos serían instalar herramientas que nos permitan aprovechar al máximo nuestro servidor algunos de estos son:
phpMyadmin: software basado en php que te permite gestionar de manera gráfica tus bases de datos a través del navegador web, mira la guía de instalación en la siguiente publicación:
WordPress: software basado en php, es un sistema de gestión para la creación de contenido web, actualmente con gran soporte y ampliamente utilizado para el diseño y creación de todo tipo de páginas web personales y comerciales, mira la guía de instalación en la siguiente publicación: