Cómo instalar LOMP Stack (OpenLiteSpeed, MySQL y PHP) en Rocky Linux 9

OpenLiteSpeed es una versión ligera y de código abierto del Servidor LiteSpeed desarrollado por LiteSpeed Technologies. Es compatible con las reglas Apache Rewrite, HTTP/2 y HTTP/3, y los protocolos TLS v1.3 y QUIC. Viene con un panel de administración basado en WebGUI, lo que lo diferencia de otros servidores y lo hace más fácil de gestionar.

La pila LOMP es un acrónimo de Linux, OpenLiteSpeed, MySQL/MariaDB y PHP. Los servidores Litespeed son conocidos por su velocidad, especialmente con PHP, que se integra utilizando la Interfaz de Programación de Aplicaciones para Servidores LiteSpeed (LSAPI). El intérprete de LiteSpeed PHP (LSPHP) sirve páginas PHP dinámicas a través de LSAPI.

Este tutorial te mostrará paso a paso cómo instalar un Servidor LOMP en una máquina Rocky Linux 9.

Requisitos previos

  • Un servidor con Rocky Linux 9.
  • Un usuario no root con privilegios sudo.
  • Un nombre de dominio completo (FQDN) como example.com que apunte al servidor.
  • No es necesario desactivar ni configurar SELinux para que funcione con OpenLiteSpeed.
  • Asegúrate de que todo está actualizado.
    $ sudo dnf update
    
  • Pocos paquetes necesita tu sistema.
    $ sudo dnf install wget curl nano unzip yum-utils -y
    

    Puede que algunos de estos paquetes ya estén instalados en tu sistema.

Paso 1 – Configurar el Cortafuegos

El primer paso es configurar el cortafuegos. Rocky Linux utiliza el cortafuegos Firewalld. Comprueba el estado del cortafuegos.

$ sudo firewall-cmd --state
running

El cortafuegos funciona con diferentes zonas, y la zona pública es la que utilizaremos por defecto. Enumera todos los servicios y puertos activos en el cortafuegos.

$ sudo firewall-cmd --permanent --list-services

Debería mostrar la siguiente salida.

cockpit dhcpv6-client ssh

OpenLiteSpeed necesita el puerto 7080 para su panel de administración.

$ sudo firewall-cmd --permanent --add-port=7080/tcp

También necesitamos los puertos HTTP y HTTPS para funcionar. Ábrelos.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Recarga el cortafuegos para aplicar los cambios.

$ sudo firewall-cmd --reload

Vuelve a listar todos los servicios.

$ sudo firewall-cmd --permanent --list-services

Deberías obtener el siguiente resultado.

cockpit dhcpv6-client http https ssh

Paso 2 – Instala OpenLiteSpeed

Descarga el archivo binario de OpenLiteSpeed. Puedes obtener el enlace al último archivo binario en la página oficial de descargas de OpenLiteSpeed.

$ wget https://openlitespeed.org/packages/openlitespeed-1.7.16.tgz

Extrae el archivo.

$ tar -zxf openlitespeed-*.tgz

Cambia al directorio extraído.

$ cd openlitespeed

Ejecuta el instalador.

$ sudo ./install.sh

Espera un rato a que termine el instalador.

Hay algunos problemas con OpenLiteSpeed en la máquina Rocky Linux 9 debido a los cuales puede que veas algunos errores sobre paquetes PHP que faltan. Por ahora puedes ignorarlos porque el servidor puede seguir funcionando con varias soluciones.

El script instalador instala y habilita el servicio systemd lshttpd.

Inicia el servidor OpenLiteSpeed.

$ sudo systemctl start lshttpd

Comprueba la versión del servidor instalada.

$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.16 Open (BUILD built: Thu Nov 17 16:18:46 UTC 2022) 
        module versions:
        lsquic 3.1.1
        modgzip 1.1
        cache 1.64
        mod_security 1.4

Crea la contraseña de administrador

Ejecuta el script de restablecimiento de contraseña.

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

Obtendrás el siguiente resultado. Introduce admin como nombre de usuario y establece una contraseña segura.

Please specify the user name of administrator.
This is the user name required to login the administration Web interface.

User name [admin]: admin

Please specify the administrator's password.
This is the password required to login the administration Web interface.

Password: 
Retype password: 
Administrator's username/password is updated successfully!

Ya puedes utilizar la nueva contraseña de administrador.

Abre http://<YOURSERVERIP>:7080 para acceder al panel de administración de OpenLiteSpeed. En tu primer acceso, tu navegador te advertirá de que tu conexión no es privada. Haz clic en Avanzado y pulsa «Aceptar el riesgo y Continuar» (en el caso de Firefox) o «Proceder a <YOURSERVERIP>(unsafe)» (en el caso del navegador basado en Chromium). No volverás a ver la advertencia.

Deberías ver la página de inicio de sesión.

Página de inicio de sesión de OpenLiteSpeed

Introduce admin como nombre de usuario y contraseña, que estableciste anteriormente, y pulsa el botón Iniciar sesión para continuar.

Aparecerá la siguiente pantalla.

Panel de administración de OpenLiteSpeed

Paso 3 – Instalar PHP

El instalador de OpenLiteSpeed suele instalar PHP 7.4 por defecto. En el caso de Rocky Linux 9, no se instala automáticamente. Además, instalaremos una versión reciente de PHP. Antes de hacerlo, necesitamos instalar el repositorio de LiteSpeed.

Instala el repositorio OpenLiteSpeed ejecutando el siguiente comando.

$ sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.3-1.el8.noarch.rpm

Puedes obtener la última versión del archivo RPM en la página del repositorio OpenLiteSpeed.

Instala PHP 8.2.

$ sudo dnf install lsphp82 lsphp82-mysqlnd lsphp82-process lsphp82-bcmath lsphp82-pdo lsphp82-common lsphp82-xml lsphp82-opcache lsphp82-soap

Los paquetes lsphp-gd, y lsphp-mbstring siguen faltando en el repositorio. Así que si los quieres, tendrás que esperar un tiempo antes de que se publiquen oficialmente.

Verifica la instalación de PHP.

$ /usr/local/lsws/lsphp82/bin/php -v
PHP 8.2.1 (cli) (built: Jan  3 2023 18:40:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies

Puedes comprobar la lista de módulos PHP habilitados.

$ /usr/local/lsws/lsphp82/bin/php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Más adelante configuraremos OpenLiteSpeed para que funcione con PHP.

Paso 4 – Instalar MySQL

Instala el servidor MySQL.

$ sudo dnf install mysql-server

Habilita e inicia el servidor MySQL.

$ sudo systemctl enable mysqld --now

Comprueba el estado del servicio.

$ sudo systemctl status mysqld

Obtendrás la siguiente salida.

? mysqld.service - MySQL 8.0 database server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2023-02-17 07:31:00 UTC; 2s ago
    Process: 14933 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
    Process: 14955 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
   Main PID: 15054 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 5873)
     Memory: 427.1M
        CPU: 4.079s
     CGroup: /system.slice/mysqld.service
             ??15054 /usr/libexec/mysqld --basedir=/usr

Feb 17 07:30:51 nspeaks.xyz systemd[1]: Starting MySQL 8.0 database server...
Feb 17 07:30:51 nspeaks.xyz mysql-prepare-db-dir[14955]: Initializing MySQL database
Feb 17 07:31:00 nspeaks.xyz systemd[1]: Started MySQL 8.0 database server.

Ejecuta el script de seguridad de MySQL.

$ sudo mysql_secure_installation

Recibirás varias indicaciones. La primera te preguntará si quieres instalar el complemento Validar Contraseña. Pulsa Y para instalar el plugin. Elige 2 como nivel de seguridad, lo que requerirá que tu contraseña tenga al menos 8 caracteres e incluya una mezcla de mayúsculas, minúsculas, números y caracteres especiales.

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

A continuación, se te pedirá que crees una contraseña de root segura. Asegúrate de que tu contraseña cumple los requisitos del plugin Validar.

Please set the password for root here.

New password: 

Re-enter new password:

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

A continuación, se te harán varias preguntas relacionadas con el aumento de la seguridad de la base de datos. Pulsa Y en cada pregunta.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Accede al shell de MySQL.

$ mysql -u root -p

Introduce tu contraseña de root cuando se te solicite.

Crea una base de datos de prueba y un usuario con permiso de acceso. Sustituye testdb y testuser por los nombres adecuados a tu configuración. Sustituye password por una contraseña segura.

mysql> CREATE DATABASE testdb;
mysql> CREATE USER 'testuser' IDENTIFIED BY 'Your_Password123';
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
mysql> FLUSH PRIVILEGES;

Sal del intérprete de comandos MySQL.

mysql> exit

Paso 5 – Configurar OpenLiteSpeed

Vuelve a cambiar el puerto HTTP a 80

Cambiemos el puerto HTTP por defecto a 80. Accede a tu panel de administración en http://<YOURSERVERIP>:7080 con las credenciales que acabas de crear.

Visita la sección Escuchadores de la izquierda. Verás los oyentes por defecto con el puerto 8080.

Receptores OpenLiteSpeed

Pulsa el botón Ver para ver la configuración detallada. En la página siguiente, en Listener Default > General Page, haz clic en el icono Editar y cambia el puerto de 8080 a 80.

Escucha por defecto de OpenLiteSpeed

Escucha OpenLiteSpeed Editar

Haz clic en Guardar y reinicia el servidor haciendo clic en el botón Reinicio graceful.

OpenLiteSpeed Reinicia el Servidor

Paso 6 – Configurar PHP

En este paso, tenemos que asociar nuestra copia de PHP 8.2 con el servidor.

Haz clic en la sección Configuración del Serv idor, a la izquierda, y luego en la pestaña Aplicación Externa. Verás una LiteSpeed App para PHP ya existente. Haremos algunas modificaciones en ella.

Aplicaciones externas de OpenLiteSpeed

Haz clic en el botón Editar para editar la aplicación PHP.

A continuación, haz coincidir la configuración como se muestra a continuación. Deja todos los demás campos en blanco.

Name: lsphp
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment: PHP_LSAPI_MAX_REQUESTS=500
             PHP_LSAPI_CHILDREN=35
             LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Persistent Connection: Yes
Response Buffering: no
Start By Server: Yes(Through CGI Daemon)
Command: lsphp82/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500

Haz clic en Guardar cuando hayas terminado.

Aplicación LiteSpeed SAPI

Ahora que hemos creado nuestra propia app PHP 8.2, debemos decirle al servidor que empiece a utilizarla. Como hemos editado el listado por defecto, ya está configurado. Reinicia el servidor haciendo clic en el botón Reinicio graceful.

Para comprobar si tu PHP se ha conmutado correctamente, visita http://<YOURSERVERIP>/phpinfo.php en tu navegador.

OpenLiteSpeed PHP Información

Paso 7 – Crear el VirtualHost

En primer lugar, tenemos que crear directorios para nuestro host virtual.

$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p

El directorio html contendrá los archivos públicos y el directorio logs contendrá los registros del servidor.

A continuación, abre la consola Admin, accede a la sección Hosts Virtuales desde la izquierda y haz clic en el botón Añadir.

Resumen de los hosts virtuales OpenLiteSpeed

Rellena los valores como se indica

Virtual Host Name: example.com
Virtual Host Root: $SERVER_ROOT/example.com/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
External App Set UID Mode: Server UID

Configuración del host virtual OpenLiteSpeed

Pulsa el botón Guardar cuando hayas terminado. Aparecerá el siguiente error porque el archivo de configuración no existe en este momento. Haz clic en el enlace para crear el archivo de configuración.

Configuración del host virtual OpenLiteSpeed

Vuelve a pulsar el botón Guardar para terminar de crear el host virtual.

Una vez creado el host virtual, ve a Hosts Virtuales -> Elegir Host Virtual(ejemplo.com) -> General y modifica la configuración como se indica.

Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes

Sección general del host virtual OpenLiteSpeed

Pulsa el botón Guardar cuando hayas terminado. A continuación, tenemos que configurar los archivos de índice. Haz clic en el botón Editar contra Archivos de índice debajo de la Sección General. Configura las siguientes opciones.

Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No

Archivos de índice de OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. A continuación, tenemos que elegir Archivos de registro. Ve a la sección Registro, haz clic en Editar en Registro de host virtual e introduce los siguientes valores. No modifiques los demás ajustes.

Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set

Registro de host virtual OpenLiteSpeed

Puedes elegir el Nivel de registro como DEBUG si estás en una máquina de producción/desarrollo.

Haz clic en Guardar y, a continuación, haz clic en el signo más de la sección Registro de acceso para añadir una nueva entrada. Rellena los siguientes valores.

Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Bytes log: Not Set
Compress Archive: Not Set

Registro de acceso a OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. A continuación, tenemos que configurar el Control de Acceso en la sección Seguridad. Establece los siguientes valores.

Allowed List: *
Denied List: Not set

Control de acceso OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. A continuación, tenemos que configurar la Definición del Manejador de Script. Haz clic en el signo más (+) para añadir una nueva definición. Establece los siguientes valores.

Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp

Definición del Manejador de Script OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. A continuación, tenemos que establecer el Control de Reescritura en la sección Reescritura. Establece los siguientes valores.

Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set

Control de reescritura OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. Y por último, tenemos que configurar los Escuchadores. Ve a la sección Escuchas y haz clic en el botón Ver frente a Escucha predeterminada. A continuación, haz clic en el botón Añadir en Asignaciones de host virtual para añadir una nueva asignación y establece los siguientes valores.

Virtual Host: example.com
Domains: example.com

Asignaciones de host virtual OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. Ahora, haz clic en el botón Reinicio graceful para aplicar todos los cambios anteriores y reiniciar el servidor.

Paso 8 – Instalar SSL

Configurar SSL en OpenLiteSpeed requiere que configuremos dos certificados. Un certificado autofirmado para el servidor en general y un certificado Let’s Encrypt específico para el servidor.

Creemos primero el certificado autofirmado.

$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes

Obtendrás un resultado similar.

-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:example.com
Email Address []:[email protected]

Puedes pulsar intro en todos los campos y dejarlos vacíos. Introduce tu dominio para el Nombre común y tu dirección de correo electrónico.

Los certificados se almacenan ahora en el directorio /home/user. Necesitaremos esta información más adelante.

Para utilizar Let’s Encrypt, necesitamos instalar la herramienta Certbot. Para ello utilizaremos el instalador de paquetes Snapd. Como Rocky Linux no lo incluye, instala el instalador de Snapd. Necesita el repositorio EPEL para funcionar.

$ sudo dnf install -y epel-release

Instala Snapd.

$ sudo dnf install -y snapd

Activa e inicia el servicio Snap.

$ sudo systemctl enable snapd --now

Instala el paquete principal de Snap, y asegúrate de que tu versión de Snapd está actualizada.

$ sudo snap install core && sudo snap refresh core

Crea los enlaces necesarios para que Snapd funcione.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Ejecuta el siguiente comando para instalar Certbot.

$ sudo snap install --classic certbot

Utiliza el siguiente comando para asegurarte de que se puede ejecutar el comando Certbot creando un enlace simbólico al directorio /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Verifica la instalación.

$ certbot --version
certbot 2.3.0

Ejecuta el siguiente comando para generar un certificado SSL.

Obtén el certificado SSL. El directorio webroot se establece en el directorio HTML público configurado anteriormente.

$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com

Genera un certificado de grupo Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Para comprobar si la renovación SSL funciona correctamente, realiza una ejecución en seco del proceso.

$ sudo certbot renew --dry-run

Si no ves errores, ya está todo listo. Tu certificado se renovará automáticamente.

Ahora abre la consola Admin y ve a Oyentes >> Añadir nuevo oyente y añade los siguientes valores.

Listener Name: SSL
IP Address: ANY
Port: 443
Secure: Yes

Escucha SSL OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. A continuación, ve a la sección Asignaciones de host virtual bajo el Escuchador SSL haciendo clic en SSL, pulsando el botón Añadir y rellenando los siguientes valores.

Virtual Host: example.com
Domains: example.com

Asignación de host virtual OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. A continuación, ve a Receptores >> Receptor SSL >> Pestaña SSL >>Clave privada y certificado SSL (botón Editar) e introduce los siguientes valores para el certificado autofirmado que hemos creado antes.

Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes

Clave y certificado SSL autofirmados OpenLiteSpeed

Haz clic en Guardar cuando hayas terminado. A continuación, ve a Receptores >> Receptor SSL >> Pestaña SSL >> Protocolo SSL (botón Editar) e introduce los siguientes valores para el protocolo SSL y los detalles de cifrado.

Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem

Protocolos SSL OpenLiteSpeed

Pulsa Guardar cuando hayas terminado. A continuación, ve a Anfitriones virtuales >> ejemplo.com >> Pestaña SSL >> Clave privada y certificado SSL (botón Editar) y rellena los siguientes valores con el certificado Let’s Encrypt.

Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes

Clave y certificado SSL de OpenLiteSpeed Let's Encrypt

Haz clic en Guardar cuando hayas terminado. A continuación, ve a Anfitriones Virtuales >> ejemplo.com >> Pestaña SSL >> Engrapado OCSP (botón Editar) e introduce los siguientes valores para activar el Engrapado OCSP.

Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org

Apilamiento OCSP

Haz clic en Guardar cuando hayas terminado. A continuación, ve a Anfitriones Virtuales >> ejemplo.com >> Pestaña SSL >> Seguridad (botón Editar) y rellena los siguientes valores para habilitar el protocolo HTTP3/QUIC.

Enable HTTP3/QUIC: Yes

No necesitamos activar otras opciones porque están activadas por defecto.

Protocolo OpenLiteSpeed HTTP3/QUIC

Haz clic en Guardar cuando hayas terminado.

Reinicia el servidor haciendo clic en el botón Reinicio graceful.

Paso 9 – Sitio de Prueba

Crea un archivo de Prueba en tu directorio html.

$ sudo nano /usr/local/lsws/example.com/html/index.php

Pega el siguiente código en el editor Nano.

<html>
<head>
    <h2>OpenLiteSpeed Server Install Test</h2>
</head>
    <body>
    <?php echo '<p>Hello,</p>';

    // Define PHP variables for the MySQL connection.
    $servername = "localhost";
    $username = "testuser";
    $password = "password";

    // Create a MySQL connection.
    $conn = mysqli_connect($servername, $username, $password);

    // Report if the connection fails or is successful.
    if (!$conn) {
        exit('<p>Your connection has failed.<p>' .  mysqli_connect_error());
    }
    echo '<p>You have connected successfully.</p>';
    ?>
</body>
</html>

Abre la URL https://example.com en un navegador y deberías ver la siguiente página.

Prueba del sitio OpenLiteSpeed

El sitio de prueba es totalmente funcional. Puedes empezar a utilizar el servidor para servir sitios web y aplicaciones PHP dinámicas.

Conclusión

Con esto concluye nuestro tutorial sobre la instalación de LOMP Stack (OpenLiteSpeed, MySQL y PHP) en un servidor Rocky Linux 9. Si tienes alguna pregunta, publícala en los comentarios a continuación.

También te podría gustar...