Instalando Wordpress en tu serividor Linux con PHP8.3, Mysql 8 y Nginx

Enviado por christian el

Instala un Wordpress en Linux - Debian con PHP8.3 Mysql 8 y Nginx

 

Hoy algo diferente. No soy muy fan de Wordpress pero en algunos casos tienes que hacerlo porque no hay otro remedio! Como tengo que hacer una instalación de un nuevo sitio wordpress de 0, aprovecharé para documentarla y que me queden los pasos para el futuro! 

No soy un experto en este framework por lo que seguramente habrá mejores formas de instalarlo así que no me matéis! :D

 

Creación de un usuario en el servidor

Antes de nada, crearemos un usuario para el hosting de este sitio web. Me siento más cómodo que cada instancia tenga sus credenciales asociadas. De esta forma si accedes con el usuario, solo podrás (en principio) acceder a la información de cada sitio únicamente. Para ello usa el comando add user. Tendrás que especificar los datos del usuario y los datos de acceso

sudo adduser [tu_nombre_de_usuario]

Ahora ya tienes tu usuario creado con tu home configurado. Será del estilo /home/[tu_nombre_de_usuario]. En principio no le voy a dar permiso para sudo ya que creo que no lo va a necesitar. De esta forma queda el usuario "limitado"

 

Descargar el Wordpress en el directorio

Ya que tenemos el usuario preparado, vamos a descargar y preparar el wordpress en su sitio. En mi caso lo publicaré en el home del usuario ya que no lo voy a usar para otra cosa. Me lo bajaré de aquí con el comando wget y lo descomprimiré

wget https://es.wordpress.org/latest-es_ES.zip && unzip latest-es_ES.zip

rm latest-es_ES.zip

Un paso importante son los permisos de los ficheros, da igual que los apliques ahora o después pero hacer lo tienes que hacer!. Principalmente los permisos pueden ser [usuario]:www-data o directamente www-data:www-data en todo los directorios

chown www-data:www-data -R /home/[tu_nombre_de_usuario]/wordpress

 

Cear usuario en Mysql

El servidor que tengo es un Debian 11 con Mysql 8 por lo que vamos a crear también un usuario de base de datos que solo tenga acceso a la ddbb del worpress. También por tranquilidad y seguridad. Simplemente entra en mysql con un usuario con privilegios y crea la base de datos y el usuario. Algo del estilo:

CREATE USER 'tu_usuario'@'localhost' IDENTIFIED BY 'tu_contraseña';
CREATE DATABASE tu_base_de_datos;
GRANT ALL PRIVILEGES ON tu_base_de_datos.* TO 'tu_usuario'@'localhost';
FLUSH PRIVILEGES;

 

Crear fpm custom php8.3

Como también tenemos php8.3, vamos a crear nuestro fpm propio. Porque?, principalmente porque así podemos aplicar configuraciones propias solo para este entorno y no afectamos los demás sitios que tengamos en el servidor (si los tenemos claro). Muy sencillo para hacerlo. Simplemente:

# Acceder al directorio de pool de fpm
cd /etc/php/8.3/fpm/pool.d/

# Crear un nuevo fpm con la config básica
cp www.conf tu_nuevo_sitio.conf

Debes editar el fichero y cambiar el nombre del fpm y el path donde escucha según lo que tú quieras:

# Cambia [www] por [tu_nombre_del_sitio]
# Cambia listen = /run/php/php8.3-fpm.sock por tu_nombe_custom.sock

Para lanzar el nuevo fpm, reinicia el servicio

service php8.3-fpm restart

 

Habilita el nuevo sitio en Nginx

Este punto ya te lo he documentado aquí

 

Instala el Wordpress

Ahora que ya tenemos todas las partes preparadas, vamos a juntar toda la configuración. Tenemos:

  • Un sitio en Nginx configurado y funcionando
  • Un fpm también preparado
  • Usuario y base de datos en Mysql listo
  • Ficheros de wordpress en el directorio

Ahora tenemos 2 opciones para continuar:

  1. Especificar de forma manual la parametrización del fichero wp-config.php
  2. Acceder vía web y realizar la configuración paso a paso

Estoy algo vago hoy por lo que lo vamos hacer mediante la interfaz web. Es más lento pero no tengo que andar escribiendo el fichero a mano... Simplemente accedemos a la web y comenzamos el proceso:

  1. Configuración de base de datos

    Configuración DDBB

  2. Esperar a que realiza parte de la instalación
  3. Configuración general del sitio

    Configuración sitio

  4. Esperar a que se complete la instalación
  5. Listo!! Ya tenemos nuestro wordpress instalado y funcionando
Dinahosting: dominios y alojamiento web
My investor

Regístrate en MyInvestory tendrás un extra de 20€ ! :D

Usa el código U048395 y te llevas un regalo en tu primera inversión :)

Usa el código 22c80f y te llevas un regalo en tu primera inversión :)