Tutorial

Cómo instalar WordPress con OpenLiteSpeed en Ubuntu 18.04

UbuntuMiscellaneousWordPressControl PanelsUbuntu 18.04

Introducción

WordPress es un sistema de administración de contenidos (CMS) de código abierto. WordPress, el CMS más popular del mundo, le permite configurar blogs y sitios web sobre un backend de base de datos de MySQL usando PHP para ejecutar secuencias de comandos y procesar contenido dinámico.

OpenLiteSpeed es un servidor web optimizado de código abierto que puede usar para administrar y presentar sitios web. OpenLiteSpeed tiene algunas funciones útiles que lo convierten en una opción bien acondicionada para muchas instalaciones: reglas de reescritura compatibles con Apache, una interfaz de administración basada en la web integrada, y procesamiento PHP optimizado para el servidor.

En esta guía, se repasará el proceso de instalación y configuración de una instancia de WordPress en Ubuntu 18.04 usando el servidor web OpenLiteSpeed. Debido a que WordPress y OpenLiteSpeed pueden administrarse a través de un navegador web, esta configuración es ideal para aquellos que no tienen acceso regular a una sesión SSH o que posiblemente no se sientan cómodos administrando un servidor web a través de la línea de comandos.

Requisitos previos

Para comenzar a seguir los pasos de esta guía, necesitará lo siguiente:

Paso 1: Crear una base de datos y un usuario de base de datos para WordPress

WordPress utiliza MySQL para administrar y almacenar información sobre el sitio y el usuario. Ya instaló MySQL. Sin embargo, como paso preparatorio, deberá crear una base de datos y un usuario que WordPress pueda utilizar.

Para comenzar, establezca conexión con su servidor usando SSH:

  • ssh sammy@your_server_IP

A continuación, inicie sesión en la cuenta root de MySQL:

  • sudo mysql

Nota: Si completó el Paso 3 del tutorial de MySQL y configuró su usuario root de MySQL para la autenticación con el complemento mysql_native_password, deberá iniciar sesión con el siguiente comando:

  • mysql -u root -p

A continuación, introduzca la contraseña del usuario root cuando se solicite.

Desde el símbolo del sistema de MySQL, cree una base de datos con el comando siguiente. Aquí, por simplicidad, asignaremos a esta base de datos el nombre wordpress, pero puede elegir el que prefiera:

  • CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

A continuación, cree un usuario y concédale privilegios sobre la base de datos que acaba de crear. Una vez más, puede dar a este usuario cualquier nombre, pero por cuestiones de simplicidad lo llamaremos wordpressuser. Además, asegúrese de cambiar password por una contraseña segura que elija:

  • GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

A continuación, ejecute FLUSH PRIVILEGES para indicar al servidor que vuelva a cargar la tabla de permisos y aplique sus nuevos cambios:

  • FLUSH PRIVILEGES;

Después de esto, puede cerrar el símbolo del sistema de MySQL:

  • exit

Terminó de configurar su instalación de MySQL para que funcione con WordPress. A continuación, instalaremos algunas extensiones PHP.

Paso 2: Instalar extensiones de PHP adicionales

En el tutorial de requisitos previos de OpenLiteSpeed, instaló el paquete lsphp73. Éste es una compilación de PHP optimizados para OpenLiteSpeed que utiliza la SAPI dde LiteSpeed para comunicarse con aplicaciones externas. Dependiendo de sus necesidades, WordPress puede requerir otras extensiones PHP para funcionar como es preciso.

Para instalar algunas extensiones PHP usadas comúnmente con WordPress, ejecute el siguiente comando:

  • sudo apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis

Nota: Es posible que los paquetes de este comando no abarquen todos los casos de uso. Para ver una lista completa de las extensiones PHP 7.3 disponibles en el repositorio de LiteSpeed que añadió a su servidor en el tutorial de requisitos previos, consulte la Wiki de LiteSpeed.

Después de esto, puede proceder a descargar y configurar WordPress en su servidor.

Paso 3: Descargar WordPress

Ahora que el software de su servidor está configurado, podrá instalar y configurar WordPress. Preferentemente por motivos de seguridad, siempre se recomienda obtener la versión más reciente de WordPress directamente en el sitio del producto.

Posiciónese en un directorio editable y luego descargue la versión comprimida escribiendo lo siguiente:

  • cd /tmp
  • curl -O https://wordpress.org/latest.tar.gz

Extraiga el archivo comprimido para crear la estructura de directorios de WordPress:

  • tar xzvf latest.tar.gz

Moveremos estos archivos a la raíz de nuestro documento de forma momentánea, pero primero crearemos algunos archivos y directorios de los que dependerá la instalación de WordPress.

OpenLiteSpeed es compatible con archivos .htaccess. Esto es importante para nuestros propósitos, ya que WordPress utiliza archivos .htaccess para crear y administrar permalinks.

Añada un archivo .htaccess ficticio de modo que esté disponible para que WordPress pueda usarlo más tarde:

  • touch /tmp/wordpress/.htaccess

A continuación, copiaremos el archivo de configuración de muestra al nombre de archivo que WordPress lee realmente:

  • cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Adicionalmente, cree el directorio upgrade para que WordPress no experimente problemas de permisos cuando intente hacer esto por sí mismo después de una actualización de su software:

  • mkdir /tmp/wordpress/wp-content/upgrade

A continuación, copie todo el contenido del directorio al directorio root de su documento. OpenLiteSpeed cuenta con un host virtual predeterminado llamado Example ubicado en el directorio /usr/local/lsws/. El directorio root del documento para el host virtual Example es el subdirectorio html:

  • sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress

Observe que este comando incluye un punto al final del directorio de origen para indicar que todo dentro del directorio debería copiarse, incluidos los archivos ocultos (como el archivo .htaccess que creó):

Con eso, habrá instalado correctamente WordPress en su servidor web y realizado algunos de los pasos de configuración iniciales. A continuación, veremos algunos cambios adicionales en la configuración que proporcionará a WordPress los privilegios que necesita para funcionar de forma segura y acceder a la base de datos y cuenta de usuario de MySQL que creó previamente.

Paso 4: Configurar el directorio de WordPress

Antes de ver el proceso de configuración basado en la Web para WordPress, deberemos ajustar algunos elementos en nuestro directorio de WordPress.

Comience otorgando la propiedad de todos los archivos del directorio al usuario nobody y al grupo nogroup; esta es la configuración de funcionamiento predeterminada del servidor web OpenLiteSpeed. El siguiente comando chown concederá a OpenLiteSpeed la capacidad para leer y escribir archivos en el directorio wordpress, lo que le permitirá presentar el sitio web y realizar actualizaciones automáticas:

  • sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress

A continuación, ejecutaremos dos comandos find para establecer los permisos correctos de los directorios y archivos de WordPress:

  • sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} \;
  • sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} \;

Estos deberían ser permisos razonables para comenzar, aunque algunos complementos y procedimientos pueden requerir ajustes adicionales.

Tras esto, deberá aplicar algunos cambios al archivo de configuración principal de WordPress.

Cuando abrq el archivo, su primer objetivo será ajustar algunas claves secretas para proporcionar cierta seguridad a su instalación. WordPress proporciona un generador seguro para estos valores, de modo que no tenga que crear valores buenos por su cuenta. Solo se utilizan de forma interna, de modo que tener valores complejos y seguros aquí no afectará de manera negativa a la usabilidad.

Para obtener valores seguros del generador de claves secretas de WordPress, escriba lo siguiente:

  • curl -s https://api.wordpress.org/secret-key/1.1/salt/

Obtendrá valores únicos como estos:

Advertencia: Debe solicitar valores únicos en cada ocasión. ¡NO copie los valores que se muestran a continuación!

Output
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H'); define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3'); define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88'); define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g'); define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-'); define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY'); define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|'); define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

Son líneas de configuración que pegará directamente en su archivo de configuración para establecer claves seguras. Copie el resultado que obtuvo a su portapapeles, y luego abra el archivo de configuración de WordPress ubicado en el directorio root de su documento:

  • sudo nano /usr/local/lsws/Example/html/wordpress/wp-config.php

Busque la sección que contiene los valores ficticios para esos ajustes. Se parecerá a esto:

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

Elimine esas líneas y pegue los valores que copió de la línea de comandos:

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

A continuación, modifique los ajustes de conexión de la base de datos en la parte superior del archivo. Debe ajustar el nombre de la base de datos, su usuario y la contraseña asociada que configuró dentro de MySQL.

El otro cambio que debe realizar es configurar el método que debe emplear WordPress para escribir en el sistema de archivos. Debido a que dimos permiso al servidor web para escribir donde debe hacerlo, podemos fijar de forma explícita el método del sistema de archivos en direct. Si no lo configuramos con nuestros ajustes actuales, WordPress solicitaría las credenciales de FTP cuando usted realice algunas acciones.

Este ajuste se puede agregar debajo de los ajustes de conexión de la base de datos o en cualquier otra parte del archivo:

/var/www/wordpress/wp-config.php
. . .

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

. . .

define('FS_METHOD', 'direct');

Guarde y cierre el archivo cuando termine.

En este momento, WordPress aún no está completamente configurado en su sistema, ya que aún deberá aplicar algunos toques finales para poder comenzar a publicar contenido. Para hacer eso, primero deberá realizar algunos cambios en la configuración de su instalación de OpenLiteSpeed.

Paso 6: Configurar OpenLiteSpeed

Actualmente, tiene WordPress instalado en su servidor de Ubuntu, pero su instalación de OpenLiteSpeed aún no se configuró para ofrecerlo. En este paso, accederemos a la interfaz administrativa de OpenLiteSpeed y realizaremos algunos cambios en la configuración de su servidor.

En su navegador web preferido, diríjase a la interfaz administrativa de OpenLiteSpeed. Puede encontrarla introduciendo la dirección IP pública de su servidor, o el nombre de dominio asociado con ella, con :7080 al final en la barra de direcciones de su navegador:

https://server_domain_or_IP:7080

Ahí, se le presentará una pantalla de inicio de sesión. Introduzca el nombre de usuario y la contraseña que definió en el tutorial de instalación de OpenLiteSpeed de los requisitos previos:

Pantalla de inicio de sesión de OpenLiteSpeed

En la consola de OpenLiteSpeed, busque y haga clic en Server Configuration en el menú lateral izquierdo. A continuación, diríjase a la pestaña** External App, busque la fila de LiteSpeed SAPI App** y haga clic en el botón Edit:

Página de configuración del servidor

Recuerde que en el tutorial de OpenLiteSpeed instaló el paquete lsphp73, una compilación de PHP optimizada para funcionar con OpenLiteSpeed a través de la SAPI de LiteSpeed. Sin embargo, la configuración predeterminada de la página External App apunta a lsphp en vez de lsphp73. Debido a esto, su instalación de OpenLiteSpeed no podrá ejecutar correctamente las secuencias de comandos PHP.

Para corregir esto, cambie el campo Name por lsphp73, el campo Address por uds://tmp/lshttpd/lsphp73.sock, y el campo Command para que lea $SERVER_ROOT/lsphp73/bin/lsphp:

Cambios en la aplicación externa

Tras realizar esos cambios, haga clic en el ícono Save en la esquina superior derecha del cuadro LiteSpeed SAPI App.

A continuación, haga clic en Virtual Hosts en el menú izquierdo. En la página Virtual Hosts, busque el host virtual que usará y haga clic en su ícono View. Aquí, usaremos el host virtual predeterminado Example:

Página de hosts virtuales

Diríjase a la pestaña** General** del host virtual. En ella, encuentre la sección General y haga clic en el botón Edit:

Pestaña general de hosts virtuales

OpenLiteSpeed examina el contenido del campo Document Root en busca del contenido que se presentará. Debido a que el contenido y los archivos de WordPress se almacenan en su totalidad en el directorio wordpress que creó anteriormente, actualice el campo Document Root para que apunte a ese directorio. Para hacer esto, lo único que debe hacer es anexar wordpress/ al final del valor predeterminado:

Cambios generales a  los hosts virtuales

Haga clic en el ícono Save para guardar este cambio.

A continuación, deberá habilitar los archivos index.php de modo que puedan usarse para procesar las solicitudes que no se manejan a través de archivos estáticos. Esto permitirá que la lógica principal de WordPress funcione de forma correcta.

En la pestaña General, desplácese para encontrar la sección Index Files y haga clic en su ícono Edit:

Página Index Files de hosts virtuales

En el campo Index Files, disponga index.php antes de index.html. Al disponer index.php antes de index.html, permitirá que se prioricen los archivos de índice PHP. Una vez que este campo se actualice, tendrá este aspecto:

Cambios en Index Files de hosts virtuales

Asegúrese de hacer clic en el ícono Save antes de continuar.

A continuación, diríjase a la pestaña Rewrite del host virtual. Busque la sección Rewrite Control y pulse el botón** Edit**:

Página Rewrite del host virtual

Fije las opciones Enable Rewrite y Auto Load from -htaccess en Yes haciendo clic en los botones de opción respectivos. Configurar las instrucciones de reescritura de este modo le permitirá usar permalinks en su instalación de WordPress:

Cambios en Rewrite de host virtuales

Haga clic en el ícono Save después de realizar esos cambios.

El host virtual predeterminado que se incluye con la instalación de OpenLiteSpeed incluye algunas áreas protegidas con contraseña para mostrar funciones de autenticación de usuario de OpenLiteSpeed. WordPress incluye sus propios mecanismos de autenticación y no usaremos la autenticación basada en archivo incluida en OpenLiteSpeed. Deberíamos deshacernos de estos para minimizar los fragmentos de configuración sueltos activos en nuestra instalación de WordPress.

Primero, haga clic en la pestaña Security y luego en el botón Delete junto a SampleProtectedArea, en la tabla Realms List.

Realm list de seguridad de OpenLiteSpeed

Se le solicitará confirmar la eliminación. Haga clic en Delete para continuar.

A continuación, haga clic en la pestaña Context. En Context List, elimine el contexto /protected/ que estaba asociado con el ámbito de seguridad que acaba de eliminar.

Eliminar contexto protegido en OpenLiteSpeed

Una vez más, deberá confirmar la eliminación haciendo clic en Delete.

Puede eliminar de forma segura cualquiera o todos los demás contextos usando también la misma técnica, ya que no los necesitaremos. Eliminamos específicamente el contexto /protected/ porque, de otra forma, se produciría un error debido a la eliminación de su ámbito de seguridad asociado (acabamos de eliminarlo en la pestaña Security).

Después de esto, pulse el ícono verde Graceful Restart en la esquina superior derecha de la consola de OenLiteSpeed. Con esto se reiniciará el servidor de OpenLiteSpeed, lo cual hará que se apliquen los cambios que acaba de realizar:

Ubicación del ícono de Graceful Restart

Con esto, su servidor OpenLiteSpeed quedará completamente configurado. Está listo para terminar de configurar WordPress en su navegador.

Paso 7: Completar la instalación a través de la interfaz de Wordpress

Ahora que la configuración del servidor está completa, podemos finalizar la instalación a través de la interfaz web.

En su navegador web, diríjase al nombre de dominio o a la dirección IP pública de su servidor:

http://server_domain_or_IP

Seleccione el idioma que desee utilizar:

Selección de idioma de WordPress

A continuación, accederá a la página principal de configuración. Seleccione un nombre para su sitio de WordPress y elija un nombre de usuario (por motivos de seguridad, se recomienda no elegir opciones como “admin”). De forma automática, se generará una contraseña segura. Guárdela o seleccione una contraseña segura alternativa.

Introduzca su dirección de correo electrónico y defina si quiere que los motores de búsqueda no indexen su sitio:

Instalación de la configuración de WordPress

Cuando esté listo, haga clic en el botón Install WordPress. Accederá a una página en la que se le solicitará iniciar sesión:

Solicitud de inicio de sesión de WordPress

Tras iniciar sesión, accederá al panel de administración de WordPress:

Solicitud de inicio de sesión de WordPress

Desde el panel de control, puede comenzar a realizar cambios en el tema de su sitio y el contenido que se publicará.

Conclusión

Al completar esta guía, instaló y configuró una instancia de WordPress en un servidor de Ubuntu 18.04 con OpenLiteSpeed activo. Algunos pasos posteriores comunes son elegir el ajuste de los permalinks para sus publicaciones (puede encontrarse en** Settings** > Permalinks) o seleccionar un nuevo tema (en Appearance > Themes). Si es la primera vez que utiliza WordPress, explore la interfaz un poco para conocer su nuevo CMS.

Para mejorar la seguridad de su nuevo sitio de WordPress, recomendamos que lo configure de modo que funcione con SSL a fin de que pueda presentar contenido a través de HTTPS. Mire este tutorial de la documentación de OpenLiteSpeed para instalar LetsEncrypt y configurarlo.

Creative Commons License