Instale WordPress con Nginx, MariaDB 10 y PHP 7 en Debian 9


WordPress 5 se ha lanzado recientemente y para aquellos de ustedes que están ansiosos por probarlo en su propio servidor Debian, hemos preparado una guía de configuración simple y directa.

Utilizaremos LEMP - Nginx - servidor web ligero, MariaDB - servidor de base de datos popular y PHP 7 .

  1. A dedicated server or a VPS (Virtual Private Server) with Debian 9 minimal installation

Este tutorial lo guiará en la instalación de todos los paquetes necesarios, creando su propia base de datos, preparando vhost y completando la instalación de WordPress a través del navegador.

Instalación del servidor web Nginx en Debian 9

WordPress es una aplicación web y para servir a nuestras páginas, utilizaremos el servidor web Nginx . Para instalarlo, use los siguientes comandos:

$ sudo apt update && sudo apt upgrade
$ sudo apt install nginx

A continuación, inicie el servidor y habilítelo, para que se inicie automáticamente después de cada inicio del sistema.

$ sudo systemctl start nginx.service
$ sudo systemctl enable nginx.service

Configuración de Vhost para el sitio web de WordPress en Nginx

Nuestro siguiente paso es crear un vhost para nuestro sitio web de WordPress. Esto le indicará a Nginx dónde buscar los archivos de nuestro sitio web y realizar una configuración adicional en él.

Abra el siguiente archivo con su editor de texto favorito:

$ sudo vim /etc/nginx/sites-available/wordpress.conf

Para los fines de este tutorial, usaré example.com , puede cambiarlo con el dominio que desee usar. Puede elegir un dominio no existente y usar el archivo hosts para resolver ese dominio directamente en la IP de su sistema:

server {
    listen 80;
    listen [::]:80;
    root /var/www/html/wordpress;
    index  index.php index.html index.htm;
    server_name  example.com www.example.com;

     client_max_body_size 100M;

    location / {
        try_files $uri $uri/ /index.php?$args;        
    }

    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass             unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Una vez que haya terminado de editar el archivo, guárdelo y luego habilite el sitio con el siguiente comando.

$ sudo ln -s /etc/nginx/sites-available/wordpress.conf  /etc/nginx/sites-enabled/

Después de eso, tendremos que volver a cargar nginx para que los cambios puedan activarse.

$ sudo systemctl reload nginx 

Instalando MariaDB 10 en Debian 9

WordPress requiere una base de datos para que pueda mantener sus datos, como publicaciones, usuarios, etc. Nuestro servidor de base de datos de elección aquí es MariaDB una famosa bifurcación de MySQL, creada por los creadores de MySQL.

Para instalar MariaDB use el siguiente comando:

$ sudo apt install mariadb-server mariadb-client

Cuando la instalación haya finalizado, inicie el servicio y habilítelo para que esté disponible después de cada inicio del sistema.

$ sudo systemctl start mariadb.service
$ sudo systemctl enable mariadb.service

Para asegurar su instalación MariaDB, use el siguiente comando:

$ sudo mysql_secure_installation

Siga los pasos en la pantalla y responda las preguntas correspondientes para asegurar la instalación de MariaDB.

Nuestro siguiente paso es crear una base de datos vacía, asignarle un usuario de base de datos y otorgarle privilegios suficientes a la base de datos.

$ sudo mysql -u root -p

Los siguientes comandos crearán la base de datos llamada wordpress , luego crearán los usuarios de la base de datos wp_user con la contraseña ' secure_password ', luego otorgaremos privilegios a ese usuario sobre la base de datos wordpress . A continuación, se vaciarán los privilegios y saldremos del indicador de MySQL. Puede cambiar el texto en negrita con la base de datos, el usuario y la contraseña a su elección:

CREATE DATABASE wordpress;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY ‘secure_password’;
GRANT ALL ON wordpress.* TO 'wp_user'@'localhost' ;
FLUSH PRIVILEGES;
EXIT;

Instalando PHP 7 en Debian 9

WordPress está escrito en PHP , así que obviamente tendremos que instalar PHP en nuestro sistema. Usaremos php-fpm . El siguiente comando, instalará los paquetes PHP necesarios para ejecutar WordPress:

$ sudo apt install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl

Después de eso, inicie el servicio php-fpm y habilítelo:

$ sudo systemctl start php7.0-fpm
$ systemctl enable php7.0-fpm

Instalando WordPress 5 en Debian 9

Estas casi listo. Estos son los pasos finales de nuestra instalación. Ahora tenemos que descargar el último paquete de WordPress usando el siguiente comando.

$ sudo cd /tmp && wget http://wordpress.org/latest.tar.gz

El archivo contiene la carpeta llamada wordpress y la extraeremos en el directorio /var/www/html :

$ sudo tar -xvzf latest.tar.gz -C /var/www/html

Hemos preparado nuestra raíz de documentos cuando instalamos nginx . La raíz de este documento es /var/www/html/wordpress/. Lo que debemos hacer ahora es actualizar la propiedad de la carpeta para que el servidor web pueda acceder a ella:

$ sudo chown www-data: /var/www/html/wordpress/ -R

Ahora estamos listos para completar la instalación de WordPress usando nuestro navegador. Escriba su dominio en la barra de direcciones y siga los pasos en la pantalla. Si no ha configurado su archivo de hosts, debe ingresar la siguiente línea en el archivo /etc/hosts .

IP-address example.com

Donde debe reemplazar dirección ip con la dirección IP del sistema y example.com con el dominio que desea usar

Cuando cargue la página, debería ver lo siguiente:

Elija su idioma y continúe en la página siguiente, donde se le pedirá que ingrese los detalles de su base de datos. Usa los que hemos creado anteriormente:

En la siguiente página se le pedirá que ingrese el título de su sitio web, nombre de usuario, contraseña y dirección de correo electrónico:

Cuando haga clic en el botón, su instalación estará completa. Ahora puedes comenzar a administrar tu nuevo sitio web de WordPress.