Cómo instalar OpenLiteSpeed, MariaDB, PHP8.0 en Ubuntu 20.04

En este tutorial presentamos una nueva pila para aplicaciones web, la pila LOMP (OpenLiteSpeed, MariaDB y PHP8.0) y cómo instalar OpenLiteSpeed, MariaDB, PHP8.0 en Ubuntu 20.04/18.04.

Una pila de software es un conjunto de herramientas de software agrupadas. LOMP son las siglas de Linux, OpenLiteSpeed, MariaDB/MySQL y PHP, que pueden alimentar sitios y aplicaciones web dinámicas.

 Linux es el sistema operativo; OpenLiteSpeed es el servidor web; MariaDB/MySQL es el servidor de bases de datos y PHP es el lenguaje de scripting del lado del servidor responsable de generar páginas web dinámicas.

¿Por qué OpenLiteSpeed es mejor que Apache/Nginx?

Anteriormente hablamos de cómo instalar la pila LAMP (Apache) y la pila LEMP (Nginx). ¿Por qué cambiamos a OpenLiteSpeed? Porque es mucho más potente.

  • 5 veces más peticiones por segundo.
  • LSAPI permite un mejor rendimiento de PHP que mod_PHP y PHP-FPM.
  • Extremadamente bajo consumo de CPU y memoria.
  • HTTP/3. Como OpenLiteSpeed se centra en la velocidad, adopta la nueva tecnología más rápido que Nginx.
  • Módulo PageSpeed y ModSecurity incorporados. Si usas Nginx, tienes que volver a compilar estos dos módulos cada vez que actualices Nginx.
  • Integración de la caché de páginas con aplicaciones web populares como WordPress, Magento, Joomla, Prestashop, Opencart, Drupal, xenForo, Laravel, Shopware y MediaWiki.
  • Conexión anti-DDoS y estrangulamiento del ancho de banda.
  • Compresión Brotli integrada para archivos estáticos.
  • Panel de administración basado en la web.

Requisitos para instalar OpenLiteSpeed, MariaDB, PHP8.0 en Ubuntu

Para seguir este tutorial, necesita un sistema operativo Ubuntu 20.04/18.04 que se ejecute en un servidor remoto.

Si buscas un VPS (Servidor Virtual Privado) de alto rendimiento, entonces puedes ir CONTABO y encontrar varios modelos por un precio muy asequible

Paso 1: Actualizar los paquetes de software

Antes de instalar la pila LOMP, es una buena práctica actualizar el repositorio y los paquetes de software ejecutando el siguiente comando en su sistema operativo Ubuntu 20.04/18.04.

sudo apt update;sudo apt upgrade

Paso 2: Instalar el servidor web OpenLiteSpeed

OpenLiteSpeed no está incluido en el repositorio de software de Ubuntu por defecto, por lo que tendremos que instalarlo desde el repositorio oficial upstream. Ejecuta el siguiente comando para añadir el repositorio de OpenLiteSpeed a su sistema Ubuntu.

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | sudo bash

El comando anterior también importará la clave GPG de OpenLiteSpeed al sistema Ubuntu para que APT pueda verificar la integridad del paquete durante la instalación. A continuación, instala OpenLiteSpeed con:

sudo apt install -y openlitespeed

Una vez instalado, podemos habilitar OpenLiteSpeed para que se inicie automáticamente en el arranque ejecutando el siguiente comando.

sudo systemctl enable lshttpd

A continuación, inicia OpenLiteSpeed con este comando:

sudo systemctl start lshttpd

Ahora comprueba su estado.

sudo systemctl status lshttpd

Muestra de salida:

● lshttpd.service - OpenLiteSpeed HTTP Server
     Loaded: loaded (/etc/systemd/system/lshttpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-03-09 08:35:28 UTC; 36s ago
   Main PID: 61360 (litespeed)
     CGroup: /system.slice/lshttpd.service
             ├─61360 openlitespeed (lshttpd - main)
             ├─61371 openlitespeed (lscgid)
             ├─61400 openlitespeed (lshttpd - #01)
             ├─61401 openlitespeed (lshttpd - #02)
             └─61402 lsphp

Mar 09 08:35:26 vagrant systemd[1]: Starting OpenLiteSpeed HTTP Server...
Mar 09 08:35:26 vagrant lswsctrl[61323]: [OK] litespeed: pid=61360.
Mar 09 08:35:28 vagrant systemd[1]: Started OpenLiteSpeed HTTP Server.
Mar 09 08:35:48 vagrant systemd[1]: /etc/systemd/system/lshttpd.service:9:

Enabled” indica que el autoarranque en el arranque está activado y podemos ver que OpenLiteSpeed se está ejecutando. Si el comando anterior no sale inmediatamente después de ejecutarse. Es necesario presionar “q” para que se cierre.

Comprueba la versión de OpenLiteSpeed.

/usr/local/lsws/bin/openlitespeed -v

Salida:

LiteSpeed/1.7.15 Open (BUILD built: Tue Feb 22 16:27:52 UTC 2022)
        module versions:
        lsquic 3.0.4
        modgzip 1.1
        cache 1.64
        mod_security 1.4

Por defecto, OpenLiteSpeed escucha en el puerto 8088, tenemos que hacerlo escuchar en el puerto 80. Edita el archivo de configuración principal con un editor de texto de línea de comandos como Nano.

sudo nano /usr/local/lsws/conf/httpd_config.conf

Encuentra las siguientes líneas

listener Default{
    address                  *:8088
    secure                   0
    map                      Example *
}

Cambia el 8088 por el 80.

listener Default{
    address                  *:80
    secure                   0
    map                      Example *
}

Guarda y cierra el archivo. A continuación, reinicia OpenLiteSpeed.

sudo systemctl restart lshttpd

Nota: Si tiene otros servidores web como Nginx ejecutándose en el servidor, debe detenerlo y luego reiniciar OpenLiteSpeed.

sudo systemctl stop nginx

Ahora escribe la dirección IP pública de tu servidor Ubuntu 20.04/18.04 en la barra de direcciones del navegador. Debería ver la página web “Congratulations”, lo que significa que el servidor web OpenLiteSpeed está funcionando correctamente.

Ubuntu 20.04 openlitespeed

Si la conexión se rechaza o no se completa, es posible que haya un cortafuegos que impida las solicitudes entrantes al puerto TCP 80. Si estás usando el firewall iptables, entonces necesitas ejecutar el siguiente comando para abrir el puerto TCP 80.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Si estás usando el firewall UFW, entonces ejecuta este comando para abrir el puerto TCP 80.

sudo ufw allow http

Por defecto, el servidor web de OpenLiteSpeed se ejecuta como usuario nobody y grupo nogroup. El directorio raíz del documento por defecto es /usr/local/lsws/Example/html.

Paso 3: Instalar el servidor de bases de datos MariaDB

sudo apt install mariadb-server mariadb-client

MariaDB es un sustituto directo de MySQL. Ha sido desarrollado por antiguos miembros del equipo de MySQL a quienes les preocupa que Oracle pueda convertir MySQL en un producto de código cerrado. Introduzca el siguiente comando para instalar MariaDB en Ubuntu 20.04/18.04.

Una vez instalado, el servidor MariaDB debería iniciarse automáticamente. Utilice systemctl para comprobar su estado.

systemctl status mariadb

Salida:

● mariadb.service - MariaDB 10.3.29 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 9161 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 9451)
     Memory: 64.7M
     CGroup: /system.slice/mariadb.service
             └─9161 /usr/sbin/mysqld

Si no se está ejecutando, inícialo con este comando:

sudo systemctl start mariadb

Para que MariaDB se inicie automáticamente en el arranque, ejecuta

sudo systemctl enable mariadb

Ahora ejecuta el script de seguridad posterior a la instalación.

sudo mysql_secure_installation

Cuando te pida que introduzcas la contraseña de root de MariaDB, pulsa la tecla Enter ya que la contraseña de root aún no está establecida. A continuación, introduce “y” para establecer la contraseña de root del servidor MariaDB.

A continuación, puedes pulsar Enter para responder a todas las preguntas restantes, lo que eliminará el usuario anónimo, deshabilitará el inicio de sesión de root remoto y eliminará la base de datos de prueba. Este paso es un requisito básico para la seguridad de la base de datos MariaDB. (Observe que Y está en mayúsculas, lo que significa que es la respuesta por defecto).

Por defecto, el paquete MaraiDB en Ubuntu utiliza unix_socket para autenticar el inicio de sesión del usuario, lo que básicamente significa que puede utilizar el nombre de usuario y la contraseña del sistema operativo para iniciar sesión en la consola de MariaDB. Así que puedes ejecutar el siguiente comando para iniciar sesión sin proporcionar la contraseña de root de MariaDB.

sudo mariadb -u root

Para salir, ejecuta

exit;

Comprueba la información de la versión del servidor MariaDB.

mariadb --version

Como puedes ver, hemos instalado MariaDB 10.3.29.

mariadb  Ver 15.1 Distrib 10.3.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Paso 4: Instalar PHP8.0

Cuando instalamos OpenLiteSpeed, automáticamente se instala el paquete lsphp73, que es una compilación de PHP 7.3 hecha para OpenLiteSpeed. Podemos instalar PHP8.0 con el siguiente comando.

sudo apt install lsphp80 lsphp80-mysql lsphp80-common lsphp80-opcache lsphp80-curl

Comprueba el número de versión.

/usr/local/lsws/lsphp80/bin/php8.0 -v

Muestra de salida:

PHP 8.0.6 (cli) (built: May  7 2021 15:17:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.6, Copyright (c), by Zend Technologies

Aunque sólo hemos instalado 5 paquetes de PHP8.0, la versión de PHP de OpenLiteSpeed incluye muchos módulos de PHP. Puedes comprobar los módulos PHP habilitados con el siguiente comando.

/usr/local/lsws/lsphp80/bin/php8.0 --modules

Paso 5: Probar PHP

Hay un archivo phpinfo.php bajo el directorio /usr/local/lsws/Example/html, así que puedes introducir ip-servidor/phpinfo.php en la barra de direcciones del navegador para probar PHP con el servidor web OpenLiteSpeed, Reemplaza ip-servidor con tu IP real.

Deberías ver la información de PHP de tu servidor. Esto significa que los scripts PHP pueden funcionar correctamente con el servidor web OpenLiteSpeed. Están conectados a través de la API de LiteSpeed (LSAPI).

¡Felicidades! Has instalado con éxito OpenLiteSpeed, MariaDB y PHP en Ubuntu 20.04/18.04. Puedes ver que OpenLiteSpeed utiliza PHP7.3 por defecto. Para cambiar la versión de PHP, necesitas usar el panel de administración.

Paso 5: Configurar el panel de administración

Establece un nombre de usuario y una contraseña para el panel de administración.

sudo /usr/local/lsws/admin/misc/admpass.sh

Entonces puedes acceder al panel de administración en https://ip-servidor:7080/login.php. Por defecto, utiliza un certificado TLS autofirmado, por lo que debes añadir una excepción de seguridad en tu navegador web.

  • En Firefox, haga clic en Avanzado y en “Aceptar el riesgo y continuar”
  • En Google Chrome, haz clic en Proceder a tu-servidor-ip(inseguro) .

Cambio a PHP8.0 en el panel de administración

Para hacer que el host virtual por defecto utilice PHP8.0, primero tenemos que habilitar PHP8.0 a nivel de servidor.  Ve a Configuración del servidor -> Aplicación externa, y haz clic en el botón + para añadir una nueva aplicación externa.

Selecciona LiteSpeed SAPI App como tipo y haz clic en el botón Siguiente.

Introduce la siguiente información:

  • Namelsphp8.0
  • Addressuds://tmp/lshttpd/lsphp80.sock
  • Max Connections10
  • Environment: PHP_LSAPI_CHILDREN=10
    LSAPI_AVOID_FORK=200M
  • Initial Request Timeout (secs)60
  • Retry Timeout (secs)0
  • Persistent ConnectionYes
  • Response BufferingNo
  • Commandlsphp80/bin/lsphp
  • Backlog100
  • Instances1
  • Priority0
  • Memory Soft Limit (bytes): 2047M
  • Memory Hard Limit (bytes): 2047M
  • Process Soft Limit: 1400
  • Process Hard Limit: 1500

Guarda la configuración. A continuación, ve a Virtual Hosts -> Ejemplo -> pestaña Script Handler y haz clic en el botón + para añadir un nuevo script handler.

Introduce la siguiente información:

  • Suffixesphp
  • Handler TypeLiteSpeed SAPI
  • Handler Namelsphp8.0

Guarda la configuración. A continuación, haz clic en el botón Graceful Restart de la esquina superior izquierda para que los cambios surtan efecto.

Ahora introduce ip-servidor/phpinfo.php en la barra de direcciones del navegador para probar PHP con el servidor web OpenLiteSpeed. Deberías ver que el host virtual por defecto utiliza ahora PHP8.0.

Ya tienes experiencia instalando otra pila tecnológica de software para realizar tus pruebas, quizá esta forma de configurar el servidor web a través de una interface en navegador te resulte mas sencillo, Para esto hay que tener en cuenta que lo mas extendido es siempre Apache y Nginx y que habrá mucha mas información de como instalar o configurar estos servidores para las diferentes aplicaciones.

Si quieres revisar como se instalan otras pilas tecnológicas sobre Ubuntu, aquí tienes estos dos tutoriales:

¡Que tengas un ingenioso día!

¡que tengas un ingenioso día!

Contrata tu plan Ingenios@ de Sistemas por 5€ al mes y responderé a todas tus preguntas sobre tecnología en el menor tiempo posible. Pasa a formar parte de la comunidad Ingenios@s de Sistemas y disfruta de contenido exclusivo y aprende sobre sistemas Open Source, Blockchain, SmarContract, Web3, Inteligencia Artificial y Reaidad Virtual, súbete al tren de la Revolución 4.0

Si quieres estar al día y no perderte nada Suscribete al Podcast Ingenios@s de Sistemas, un episodio diario que te mantendrá informado y formado en esta vertiginosa carrera.

Deja un comentario

Share to...