Introducción
WordPress es un sistema de gestión de contenido (CMS) de código abierto. WordPress, el CMS más popular del mundo, le permite configurar blogs y sitios web en un backend de base de datos MySQL, utilizando PHP para crear scripts y procesar contenido dinámico.
OpenLiteSpeed tiene algunas características útiles que lo convierten en una opción sólida para muchas instalaciones: reglas de reescritura compatibles con Apache, una interfaz de administración basada en web incorporada y procesamiento PHP personalizado optimizado para el servidor.
Esta guía le explicará el proceso de instalación y configuración de una instancia de WordPress en Ubuntu 18.04 utilizando el servidor web OpenLiteSpeed.
Prerrequisitos
Antes de comenzar esta guía, necesita lo siguiente:
- Un servidor que ejecuta Ubuntu 18.04 con un usuario con privilegios de sudo.
- OpenLiteSpeed instalado en su servidor. Consulte nuestra guía para instalar y configurar OpenLiteSpeed en Ubuntu 18.04.
- MySQL instalado en su servidor. Siga nuestro tutorial Cómo instalar MySQL en Ubuntu 18.04.
Si su intención es instalar WordPress en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Crea un usuario y una base de datos para WordPress
WordPress usa MySQL para administrar y almacenar información del usuario y del sitio. MySQL ya está instalado, pero como paso preparatorio necesita crear una base de datos y un usuario que WordPress pueda usar.
Luego inicie sesión en la cuenta raíz de MySQL:
sudo mysql
Nota: Si ha configurado el usuario raíz de MySQL para autenticarse con el mysql_native_password
, deberá iniciar sesión con el siguiente comando:
mysql -u root -p
Luego ingrese la contraseña del usuario root cuando se le solicite.
Desde el indicador de MySQL, cree una base de datos con el siguiente comando. Aquí, llamaremos a esta wordpress
para facilitar las cosas, pero puedes nombrarla como quieras:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Luego, cree un usuario y otórguele privilegios sobre la base de datos recién creada. Nuevamente, puede darle a este usuario cualquier nombre, pero por simplicidad lo llamaremos wordpressuser
. Además, asegúrese de cambiar su password
a una contraseña segura de su elección:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
Luego, ejecute el FLUSH PRIVILEGES
que le indica al servidor que vuelva a cargar las tablas de concesión y haga que los nuevos cambios surtan efecto:
FLUSH PRIVILEGES;
Después de eso, puede cerrar el indicador de MySQL:
exit
Ha terminado de configurar la instalación de MySQL para que funcione con WordPress. A continuación, instalaremos algunas extensiones de PHP.
Instalar extensiones PHP adicionales
En el tutorial de OpenLiteSpeed como requisito previo, ha instalado el paquete lsphp73
Esta es una colección de PHP optimizada para OpenLiteSpeed que usa LiteSpeed SAPI para comunicarse con aplicaciones externas. Dependiendo de sus necesidades, WordPress puede requerir otras extensiones PHP para funcionar como desee.
Para instalar algunas extensiones PHP de uso común 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 cubran todos los casos de uso. Para obtener una lista completa de las extensiones PHP 7.3 disponibles en el repositorio de LiteSpeed que agregó a su servidor en el tutorial de requisitos previos, consulte LiteSpeed Wiki.
Descarga de WordPress
Ahora que el software de su servidor está configurado, puede instalar y configurar WordPress. Por razones de seguridad en particular, siempre se recomienda obtener la última versión de WordPress directamente desde su sitio.
Cambio a un directorio de escritura y luego enrollamiento descarga la versión comprimida escribiendo:
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
Tar-extraiga el archivo comprimido para crear la estructura de directorio de WordPress:
tar xzvf latest.tar.gz
Moviremos estos archivos a la raíz de nuestro documento momentáneamente, pero primero crearemos algunos archivos y directorios de los que dependerá la instalación de WordPress.
OpenLiteSpeed admite archivos .htaccess
Esto es importante para nuestros propósitos, ya que WordPress usa .htaccess
para crear y administrar enlaces permanentes.
Agregue un .htaccess
para que esté disponible para su uso en WordPress en un momento posterior:
touch /tmp/wordpress/.htaccess
A continuación, copie el archivo de configuración de muestra en el nombre de archivo que WordPress realmente lee:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Además, cree la upgrade
del directorio para que WordPress no tenga problemas de permisos cuando intente hacerlo por sí solo después de una actualización de su software:
mkdir /tmp/wordpress/wp-content/upgrade
Luego, copie todo el contenido del directorio en la raíz del documento. OpenLiteSpeed viene con un host virtual Example
ubicado en el /usr/local/lsws/
. La raíz del documento (redice) para el host virtual de Example
es el subdirectorio html
sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress
Tenga en cuenta que este comando incluye un punto al final del directorio de origen para indicar que se debe copiar todo el contenido del directorio, incluidos los archivos ocultos (como el .htaccess
creado):
Con eso, ha instalado WordPress en su servidor web y ha seguido algunos de los pasos de configuración iniciales. A continuación, veremos algunos cambios de configuración adicionales que le darán a WordPress los privilegios que necesita para ejecutarse de forma segura y acceder a la base de datos MySQL y la cuenta de usuario creada anteriormente.
Configurar el directorio de WordPress
Antes de que podamos pasar por el proceso de instalación basado en web para WordPress, necesitamos cambiar algunos elementos en nuestro directorio de WordPress.
Comienza dando la propiedad de todos los archivos en el directorio al usuario nadie y al grupo nogroup, que el servidor web OpenLiteSpeed ejecuta de forma predeterminada. El siguiente chown
otorgará a OpenLiteSpeed la capacidad de leer y escribir archivos en el wordpress
, lo que le permitirá servir el sitio web y realizar actualizaciones automáticas:
sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress
Luego, ejecute dos find
para establecer los permisos correctos para 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 {} \;
Debe haber permisos razonables para comenzar, aunque algunos complementos y procedimientos pueden requerir cambios adicionales.
A continuación, deberá realizar algunos cambios en el archivo de configuración principal de WordPress.
Cuando abra el archivo, su primer objetivo será ajustar algunas claves secretas para proporcionar cierta seguridad para su instalación. WordPress proporciona un generador seguro para estos valores para que no tenga que intentar encontrar buenos valores por su cuenta. Estos solo se usan internamente, por lo que no perjudica la usabilidad tener valores complejos y seguros aquí.
Para obtener valores seguros del generador de claves secretas de WordPress, escriba:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
Obtendrá valores únicos que se ven así:
¡Advertencia! Es importante solicitar valores únicos en todo momento. ¡ NO copie los valores a continuación!
define('AUTH_KEY', '8Bq$%@(39t*p@}T+Y2o%07X;|~@aMB|zJC)SVp>DER.9xX3c-g-i1L0jSkBt+zIX');
define('SECURE_AUTH_KEY', '|0s.|Py-R_C`Az[N0RO9U+Km5{./y?$%-2BZLk@k<9-yjI&_]`X3Q$-<i7h/TKh)');
define('LOGGED_IN_KEY', 'pa)HG>!/Hts5;cP?^8+sced4UeW3+U!hAA8~s1Us+zU@&7[o8|k98(P+EQ5 4P:4');
define('NONCE_KEY', ')g0QE~.+=--N#<KQ++#&`pm}VnascB(}9!u+:U>6y -UK-vv,/$[Z(vjfa<]+Wo{');
define('AUTH_SALT', 'ucvgs$A*i+A_B-J?B 6FFHbYU+EkmP1K;Yy]/$f y0~@}n{, RV/cY6kcn((*!;~');
define('SECURE_AUTH_SALT', ';-2F/XXbg:LD6xl(|YAkM|^N`O+1_F-n|)n% FoIsYS-M|I]$do{fT|e0(XPJK!s');
define('LOGGED_IN_SALT', 'v#?D+gh|_<:#]!1R&Qvg$Ui-`YIXb5A|rr ]*[o9*&4:=y473X`_Uby9^!BlNl07');
define('NONCE_SALT', '{ei20HVh*o8mJ+0|$?+r,+BT8ut|Gr+gjn_wVM!V-~#$zrJG_H2!N{=&|b.zR=-T');
Estas son las líneas de configuración que pegará directamente en su archivo de configuración para configurar claves seguras. Copie la salida recibida en el portapapeles, luego abra con su editor el archivo de configuración de WordPress ubicado en la raíz del documento:
sudo nano /usr/local/lsws/Example/html/wordpress/wp-config.php
Busque la sección que contiene los valores ficticios para esas configuraciones. Se verá así:
...
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 estas líneas y pegue los valores copiados de la línea de comando:
...
define('AUTH_KEY', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('SECURE_AUTH_KEY', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('LOGGED_IN_KEY', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('NONCE_KEY', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('AUTH_SALT', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('SECURE_AUTH_SALT', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('LOGGED_IN_SALT', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('NONCE_SALT', 'VALORI COPIATI DALLA RIGA DI COMANDO');...
A continuación, cambie la configuración de conexión de la base de datos en la parte superior del archivo. Debe ajustar el nombre de la base de datos, el usuario de la base de datos y la contraseña asociada configurados en MySQL.
El otro cambio que debe realizar es establecer el método que WordPress debe usar para escribir en el sistema de archivos. Dado que le hemos dado permiso al servidor web para escribir donde sea necesario, podemos establecer explícitamente el método del sistema de archivos en direct
. Si no lo configuramos con nuestra configuración actual, WordPress solicitaría las credenciales de FTP al realizar ciertas acciones.
Esta configuración se puede agregar en la configuración de conexión de la base de datos o en cualquier otro lugar del archivo:
...
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.
Configurar OpenLiteSpeed
Actualmente, WordPress está instalado en su servidor Ubuntu, pero la instalación de OpenLiteSpeed aún no se ha configurado para servirlo. En este paso, iremos a la interfaz administrativa de OpenLiteSpeed y realizaremos algunos cambios en la configuración de su servidor.
En su navegador web favorito, vaya a la interfaz administrativa de OpenLiteSpeed. Puede encontrarlo ingresando la dirección IP pública de su servidor o el nombre de dominio asociado a él, seguido de :7080
, en la barra de direcciones de su navegador:
https://tuo_dominio_o_ip:7080
Se le presentará una pantalla de inicio de sesión. Ingrese el nombre de usuario y la contraseña definidos en el tutorial de instalación de requisitos previos de OpenLiteSpeed.
- Desde el panel de OpenLiteSpeed, busque y haga clic en Configuración del servidor en el menú de la barra lateral izquierda.
- Luego vaya a la pestaña Aplicación externa, busque la fila Aplicación SAPI LiteSpeed y haga clic en el botón Editar.
Te recordamos que en el prerrequisito del tutorial de OpenLiteSpeed has instalado el lsphp73
, una colección PHP optimizada para trabajar con OpenLiteSpeed a través de SAPI LiteSpeed. Sin embargo, la configuración predeterminada en la página Aplicación externa apunta a lsphp
lugar de lsphp73
. Por esta razón, la instalación de OpenLiteSpeed no podrá ejecutar scripts PHP correctamente.
Para corregir esto:
- Cambie el campo Nombre
lsphp73
- Cambie el campo Dirección
uds://tmp/lshttpd/lsphp73.sock
- Cambie el campo de comando
$SERVER_ROOT/lsphp73/bin/lsphp
Haga clic en el icono Guardar en la esquina superior derecha del cuadro de la aplicación LiteSpeed SAPI.
Después. Haga clic en Hosts virtuales en el menú de la izquierda. En la página de hosts virtuales, busque el host virtual que desea utilizar y haga clic en el icono Ver. Aquí, usaremos el host virtual de ejemplo predeterminado.
Cambie a la pestaña General del host virtual. Allí, busque la sección General y haga clic en el botón Editar.
OpenLiteSpeed examina el contenido del campo Document Root para el contenido que se publicará. Dado que todo el contenido y los archivos de WordPress se almacenan en el wordpress
, actualice el campo Raíz del documento para que apunte a ese directorio. Para hacer esto, todo lo que necesita hacer es agregar wordpress/
al final del valor predeterminado, luego:
- Raíz del documento:
$VH_ROOT/html/wordpress/
Haga clic en el icono Guardar para guardar este cambio.
A continuación, debe habilitar los index.php
para que puedan usarse para procesar solicitudes no controladas de archivos estáticos. Esto permitirá que la lógica principal de WordPress funcione correctamente.
Mientras aún está en la pestaña General, desplácese hacia abajo para encontrar la sección Archivos de índice y haga clic en el icono Editar.
En el campo Archivos de índice:
- Anteponga
index.html
aindex.php,
Atención, asegúrese de agregar una coma entreindex.php
eindex.html
. Al ponerindex.php
antes deindex.html
, permite que los archivos de índice PHP tengan prioridad.
Asegúrese de hacer clic en el icono Guardar antes de continuar.
Luego, vaya a la pestaña Habilitar reescritura del host virtual. Busque la sección Auto Load from.htaccess y presione el botón Editar:
- Establezca las opciones Habilitar reescritura y Carga automática desde.htaccess en
Yes
haciendo clic en sus respectivos botones. Configurar las instrucciones de reescritura de esta manera le permitirá utilizar enlaces permanentes en su instalación de WordPress.
Haga clic en el icono Guardar después de realizar esos cambios.
El host virtual predeterminado incluido con la instalación de OpenLiteSpeed incluye algunas áreas protegidas por contraseña para mostrar las capacidades de autenticación de usuario de OpenLiteSpeed. WordPress incluye sus propios mecanismos de autenticación y no usaremos la autenticación basada en archivos incluida en OpenLiteSpeed. Deberíamos deshacernos de estos para minimizar los fragmentos de configuración perdidos activos en nuestra instalación de WordPress.
Primero, haga clic en la pestaña Seguridad en la parte superior:
- Luego, haga clic en el botón Eliminar junto a SampleProtectedArea en la tabla Lista de reinos.
- Se le pedirá que confirme la eliminación. Haga clic en Eliminar para continuar.
- Luego, haga clic en la pestaña Contexto. En la Lista de contexto, elimine el
/protected/
que se asoció con el ámbito de seguridad recién eliminado. - Nuevamente, deberá confirmar la eliminación haciendo clic en Eliminar.
Puede eliminar de forma segura uno o todos los otros contextos utilizando la misma técnica, ya que no la necesitaremos. Eliminamos específicamente el /protected/
porque, de lo contrario, se produciría un error debido a la eliminación del dominio de seguridad asociado (que acabamos de eliminar en la pestaña Seguridad ).
A continuación, presione el icono verde de reinicio elegante en la esquina superior derecha de la consola OpenLiteSpeed. Esto reiniciará el servidor OpenLiteSpeed, haciendo efectivos los cambios.
Con eso, su servidor OpenLiteSpeed está completamente configurado. Está listo para terminar de configurar WordPress en su navegador.
Completar la instalación a través de la interfaz de WordPress
Ahora que la configuración del servidor está completa, podemos completar la instalación a través de la interfaz web.
En su navegador web, acceda al nombre de dominio o dirección IP pública del servidor:
http://tuo_dominio_o_ip
Ahora puede continuar con la instalación clásica de WordPress.
Conclusión
Al completar esta guía, habrá instalado y configurado una instancia de WordPress en el servidor Ubuntu 18.04 que ejecuta OpenLiteSpeed.