Cómo Configurar un Stack LOMP en Ubuntu Server

Como desarrollador web, puede que te encuentres en una situación en la que necesites configurar un servidor con Linux, OpenLiteSpeed, MariaDB (o MySQL) y PHP (LOMP). Esta puede ser una tarea desalentadora. Aquí te mostramos los pasos para instalar un stack LOMP en tu servidor Linux.
Tabla de Contenidos
- ¿Por qué usar LOMP en lugar de otros stacks (LAMP, LEMP)?
- Requisitos previos
- Instalando OpenLiteSpeed
- Instalando MariaDB
- Instalando PHP
- Accediendo y configurando OpenLiteSpeed
- Preguntas frecuentes
¿Por qué usar LOMP en lugar de otros stacks (LAMP, LEMP)?
LOMP es una opción popular para el desarrollo web porque es de código abierto y tiene un amplio rango de soporte. Además, todos los componentes en el stack LOMP son compatibles entre sí, lo que facilita su configuración y mantenimiento.
Además, OpenLiteSpeed es un servidor web de alto rendimiento en comparación con otros servidores web, como Apache y Nginx. OpenLiteSpeed puede manejar más solicitudes concurrentes y utilizar menos recursos, lo que lo convierte en una excelente opción para sitios web de alto tráfico.
Requisitos previos
Antes de comenzar esta guía, hay algunas cosas que necesitarás tener en su lugar.
Servidor Linux. Este tutorial utiliza Ubuntu 22.04, la última versión en el momento de escribir.
Cuenta de usuario no root con privilegios sudo configurada en tu servidor.
Nombre de dominio que apunte a tu servidor.
Instalando OpenLiteSpeed
En el stack LOMP, OpenLiteSpeed se utiliza como el servidor web. Un servidor web es un software que responde a las solicitudes de archivos que componen tu sitio web. Cuando alguien escribe tu nombre de dominio, su navegador envía una solicitud a tu servidor web pidiendo los archivos que componen tu sitio web. El servidor web responde enviando esos archivos de vuelta al navegador.
Antes de instalar OpenLiteSpeed en Ubuntu, primero actualiza el índice de paquetes de tu servidor:
sudo apt updateRecupera el repositorio OLS con el comando wget.
sudo wget -O - https://repo.litespeed.sh | catLa opción -O le dice a wget que escriba la salida del script en tu terminal en lugar de crear un archivo. El carácter | (conocido como pipe) toma la salida del primer comando y la pasa como entrada al segundo comando, que es cat. Esto te permite revisar el script antes de ejecutarlo.

Si la salida se ve bien, puedes ejecutar el script con el siguiente comando:
sudo wget -O - https://repo.litespeed.sh | sudo bashLa parte sudo bash del comando le dice a tu sistema que ejecute el script con privilegios de root. Esto es necesario porque el script necesita poder modificar los repositorios de tu sistema.

Una vez que se ha agregado el repositorio, actualiza el índice de paquetes nuevamente para reflejar los cambios:
sudo apt updateFinalmente, instala OpenLiteSpeed con el siguiente comando apt.
sudo apt install openlitespeed -yOpenLiteSpeed se instalará en tu servidor.

Inicia y habilita el servicio OpenLiteSpeed para que se inicie automáticamente cuando tu servidor arranque:
sudo systemctl start openlitespeed
sudo systemctl enable openlitespeedPuedes verificar el estado del servicio OpenLiteSpeed para asegurarte de que esté funcionando correctamente:
sudo systemctl status openlitespeedLa salida se verá como la de abajo.

Instalando MariaDB
MariaDB es un fork del popular servidor de bases de datos MySQL. Se utiliza en lugar de MySQL en el stack LOMP porque es compatible con el otro software en el stack pero desarrollado bajo una licencia de código abierto. MariaDB es gratuito para usar y distribuir.
Ejecuta el siguiente comando apt para instalar MariaDB:
sudo apt install mariadb-server -yAl igual que con OpenLiteSpeed, inicia y habilita el servicio MariaDB para que se inicie automáticamente cuando tu servidor arranque.
sudo systemctl start mariadb
sudo systemctl enable mariadbPuedes verificar el estado del servicio MariaDB para asegurarte de que esté funcionando correctamente.
sudo systemctl status mariadbLa salida se verá como la de abajo.

Asegurando tu Instalación de MariaDB
Por defecto, una instalación nueva de MariaDB viene con algunas configuraciones peligrosas que podrían dejar tu servidor de base de datos vulnerable a ataques. Para asegurar tu instalación, ejecuta el script mariadb-secure-installation empaquetado con MariaDB.
sudo mariadb-secure-installationEste script cambia algunas de las opciones predeterminadas menos seguras y establece una contraseña para el usuario root de MariaDB.
Se te hará una serie de preguntas. Para cada una, responde “Y” (por sí) o “N” (por no).
Primero, se te pedirá que ingreses la contraseña de root. Dado que acabas de instalar MariaDB, no habrás establecido una contraseña para el usuario root aún, así que deja esto en blanco y presiona Enter.

A continuación, se te preguntará si deseas el método de autenticación “unix_socket” para el usuario root. Esto significa que puedes iniciar sesión en MariaDB automáticamente cuando estés conectado como el usuario root del sistema. Ingresa Y y presiona Enter.
Si deseas cambiar la contraseña del usuario root será la siguiente pregunta. Ingresa Y y presiona Enter. Se te pedirá que ingreses y confirmes una nueva contraseña para el usuario root. Es una buena práctica usar una contraseña fuerte que sea difícil de adivinar.
Después de eso, se te preguntará si deseas eliminar usuarios anónimos de tu base de datos. Un usuario anónimo es aquel que no ha recibido un nombre de usuario o contraseña. Ingresa Y y presiona Enter. Por defecto, MariaDB permite que cualquiera se conecte al servidor de base de datos sin un nombre de usuario o contraseña. Esto no es seguro, así que eliminaremos a estos usuarios anónimos.
A continuación, se te preguntará si deseas deshabilitar el inicio de sesión remoto de root. Deshabilitar el inicio de sesión remoto de root es una buena medida de seguridad, ya que significa que un atacante necesitaría acceso físico a tu servidor para iniciar sesión como el usuario root. Ingresa Y y presiona Enter.
Finalmente, se te preguntará si deseas eliminar las bases de datos de prueba y el acceso a ellas. Estas se utilizan para fines de prueba y ya no son necesarias. Ingresa Y y presiona Enter.
Se te pedirá que recargues las tablas de privilegios para que tus cambios surtan efecto. Ingresa Y y presiona Enter. Tu instalación de MariaDB ahora está segura.

Instalando PHP
PHP es un lenguaje de scripting del lado del servidor utilizado para procesar contenido dinámico, como datos de formularios o imágenes. Si estás utilizando WordPress, necesitarás instalar PHP.
Ejecuta el siguiente comando para buscar paquetes de PHP disponibles.
sudo apt-cache search lsphpVerás una lista de paquetes con nombres que comienzan con PHP. Estos son los paquetes PHP7.4, PHP8.0 y PHP8.1. Para esta guía, instalaremos PHP8.1, la última versión de PHP. Este paquete incluye las últimas características y actualizaciones de seguridad.
Para instalar PHP8.1, ejecuta el siguiente comando:
sudo apt install lsphp81 lsphp81-{common,mysql} -yLa parte {common,mysql} le dice a apt que instale los módulos comunes y mysql para PHP8.1. El módulo common proporciona un conjunto de funciones básicas que son necesarias para la mayoría de las aplicaciones PHP. El módulo mysql proporciona funciones que permiten a PHP interactuar con MariaDB.

Tu aplicación PHP podría ser compatible con una versión diferente de PHP, así que asegúrate de revisar la documentación de tu aplicación antes de elegir una versión de PHP.
Si deseas instalar otras versiones de PHP, reemplaza lsphp81 con la versión deseada. Por ejemplo, para instalar PHP7.4, usarías el nombre del paquete lsphp74 como se muestra a continuación:
sudo apt install lsphp74 lsphp74-{common,mysql}Accediendo y Configurando OpenLiteSpeed
Configurando el Firewall
Ubuntu viene con un firewall predeterminado llamado UFW. Necesitarás permitir el tráfico en los puertos 7080 y 8088 para acceder a la Consola de Administración Web y a tu sitio web.
Permite el tráfico en estos puertos ejecutando el siguiente comando:
sudo ufw allow 7080/tcp && sudo ufw allow 8088/tcpVerifica el estado de tu firewall ejecutando el siguiente comando:
ufw statusVerás una salida similar a la de abajo. Como puedes ver, la salida muestra que el tráfico en los puertos 7080 y 8088 está permitido.

Accediendo a OpenLiteSpeed
Ahora que tenemos todo configurado, estamos listos para acceder a OpenLiteSpeed.
Para hacer esto, abre tu navegador web y ve a http://your_domain:8088. Reemplaza “your_domain” con tu nombre de dominio.
Verás una página similar a la de abajo: la página de bienvenida de OpenLiteSpeed.

Desplázate hacia abajo y haz clic en el enlace “Test PHP” para probar si PHP está funcionando correctamente con OpenLiteSpeed.

Verás una página similar a la de abajo. Esta página muestra que PHP está funcionando correctamente con OpenLiteSpeed. Aunque la versión de PHP muestra como PHP7.4, cambiaremos esa versión a PHP8.1 en la siguiente sección.

Haz clic en el enlace bajo el script “Hello World CGI” para probar si la función CGI de OpenLiteSpeed está funcionando correctamente.
CGI es un mecanismo para ejecutar programas en un servidor web en respuesta a solicitudes de navegadores web. OpenLiteSpeed puede ejecutar scripts CGI escritos en cualquier lenguaje, pero el uso más común de CGI es ejecutar scripts en Perl o PHP.
Esta función es muy útil si deseas utilizar un lenguaje de programación que no es compatible con OpenLiteSpeed.

Verás una página Hello World similar a la de abajo, lo que significa que la función CGI está funcionando correctamente.
A continuación, ejecuta el siguiente comando para establecer una contraseña para la Consola de Administración Web.
sudo /usr/local/lsws/admin/misc/admpass.shProporciona un nombre de usuario y contraseña para la Consola de Administración Web cuando se te solicite y presiona ENTER.

Navega a http://your_domain:7080 para abrir la Consola de Administración Web: la interfaz gráfica de usuario (GUI) para gestionar tu servidor OpenLiteSpeed.
Te permite realizar todas las tareas que puedes realizar usando la línea de comandos de una manera mucho más fácil. Puedes configurar tu servidor directamente en el navegador web sin tener que editar ningún archivo de configuración, como en los servidores web tradicionales.
Reemplaza your_domain con tu nombre de dominio real para ver una página como la de abajo.
Ingresa el nombre de usuario y la contraseña que creaste en el paso anterior y haz clic en “Login” para iniciar sesión en la Consola de Administración Web.

Verás una página similar a la de abajo. Esta página es la página principal de la Consola de Administración Web. Te muestra una visión general de tu servidor.

Configurando OpenLiteSpeed para Usar PHP8.1
Por defecto, OpenLiteSpeed está configurado para trabajar con PHP7.4. Si estás utilizando una versión diferente de PHP, necesitarás decirle a OpenLiteSpeed qué versión de PHP usar.
En la página principal de la Consola de Administración Web, haz clic en la pestaña “Server Configuration”, luego haz clic en “External App.” Verás una lista de todas las aplicaciones externas que están actualmente configuradas.
Junto a “LiteSpeed SAPI App,” haz clic en el ícono “Edit” bajo Action como se muestra.

Verás una página similar a la de abajo. En el campo “Command”, ingresa lsphp81/bin/lsphp, la ruta al binario lsphp. Esta configuración le dice a OpenLiteSpeed que use PHP8.1 en lugar del PHP7.4 predeterminado.

Mantén otras configuraciones como sus valores predeterminados y haz clic en el ícono de Guardar para guardar tus cambios.
Haz clic en el ícono de flecha curvada para realizar un reinicio suave. Tus cambios no surtirán efecto hasta que reinicies OpenLiteSpeed de manera suave.
Finalmente, navega a http://your_domain:8088/phpinfo.php. Verás una página como la de abajo, que muestra que OpenLiteSpeed está utilizando PHP8.1.
¡Felicidades! Has instalado y configurado con éxito el stack LOMP en tu servidor Ubuntu.
Preguntas Frecuentes
¿Puedo usar OpenLiteSpeed junto con otros servidores web?
No. OpenLiteSpeed está diseñado para ser utilizado como un servidor web independiente. No está diseñado para trabajar junto a otros servidores web. OpenLiteSpeed utiliza los mismos puertos que otros servidores web (80 para HTTP y 443 para HTTPS). Esto significa que solo un servidor web puede estar en funcionamiento en tu servidor en un momento dado.
¿Puedo asegurar mi servidor web OpenLiteSpeed con un certificado SSL gratuito como Let’s Encrypt?
Sí, puedes. OpenLiteSpeed tiene soporte integrado para Let’s Encrypt y otras autoridades de certificación compatibles con ACMEv2. Puedes usar la Consola de Administración Web para instalar un certificado SSL gratuito con solo unos pocos clics. Consulta la documentación oficial de OpenLiteSpeed para más información.
Crédito de la imagen: Unsplash. Todas las capturas de pantalla por Nicholas Xuan Nguyen.