GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar Nginx, WordPress y Mysql 8 en Rocky Linux/Centos 8

WordPress es un sistema de administración de contenido gratuito y de código abierto escrito en PHP y combinado con una base de datos MySQL o MariaDB.
Bienvenido al creador de sitios web más popular del mundo. El 42% de la web está construida en WordPress.

Contenido relacionado:

  • Instalación y configuración de Mysql Server 8 en Centos 8

Requisitos

Para seguir esta guía, asegúrese de tener lo siguiente:

  • Servidor Centos 8
  • Acceso raíz o usuario con acceso sudo
  • Nombre de dominio con registros A DNS asignados al servidor
  • Acceso a Internet desde el servidor

Tabla de contenido

  1. Actualización del sistema
  2. Instalando el servidor de base de datos mysql 8
  3. Crear mysql wordpress usr
  4. Instalar el servidor web Nginx
  5. Instalar PHP con dependencias
  6. Configurar los ajustes de PHP y PHP FPM
  7. Descargar e instalar WordPress
  8. Configuración de wordpress
  9. Configurar Nginx para servir el sitio
  10. Complete la instalación de WordPress

1. Actualizando el sistema

Asegúrese de que su sistema esté actualizado antes de continuar. Use el siguiente comando para actualizar los paquetes:

sudo dnf -y update

Salida:

$ sudo dnf -y update
Last metadata expiration check: 1:18:02 ago on Tue 17 Aug 2021 11:20:55 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!

2. Instale el servidor de base de datos MySQL 8

Nota: Para ver una guía detallada sobre la instalación del servidor mysql, consulte esta guía aquí.

Ahora que el sistema está actualizado, instalemos el servidor mysql. Mysql está disponible en los repositorios de Centos 8 como mysql-server paquete. Instálelo con este comando:

sudo dnf install -y mysql-server

Una vez finalizada la instalación, inicie el servicio con este comando:

sudo systemctl start mysqld

Habilite el servicio para que se inicie en el arranque:

sudo systemctl enable mysqld

Finalmente, use el comando de instalación segura proporcionado por mysql para configurar las iniciales y la contraseña para el usuario de mysql.

sudo mysql_secure_installation

Anote la contraseña de root.

3. Crear usuario de mysql wordpress

Siempre es una buena práctica crear un usuario dedicado para usar cuando se conecta a la base de datos desde mysql. Inicie sesión como usuario raíz y use estos comandos para crear un usuario:

Cree una base de datos para ser utilizada por nuestro sitio:

create database wp_db;

Crear un usuario:

create user 'wp_user'@'%' identified by 'strongpass';

Otorgue los privilegios de usuario creados a la base de datos:

grant all privileges on wp_db.* to 'wp_user'@'%';

Ahora guarde la base de datos, el usuario y la contraseña para usarlos cuando tengamos wordporess instalado.

4. Instale el servidor web Nginx

Usaremos nginx para atender el tráfico que ingresa desde el dominio designado a nuestro sitio de wordpress. Necesitaremos tener un host virtual y un dominio ya asignado al servidor que usaremos para servir wordpress.

Para instalar Nginx:

sudo dnf -y install nginx

Una vez completada la instalación, inicie Nginx y habilítelo para que se inicie automáticamente después de reiniciar:

systemctl start nginx
systemctl enable nginx

Puede verificar si el servidor web se está ejecutando con este comando:

sudo systemctl status nginx

Salida

$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-17 12:40:45 UTC; 21s ago
 Main PID: 70209 (nginx)
    Tasks: 3 (limit: 23800)
   Memory: 5.4M
   CGroup: /system.slice/nginx.service
           ├─70209 nginx: master process /usr/sbin/nginx
           ├─70210 nginx: worker process
           └─70211 nginx: worker process

Aug 17 12:40:45 app-server.citizix.com systemd[1]: Starting The nginx HTTP and reverse proxy server...
Aug 17 12:40:45 app-server.citizix.com nginx[70206]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Aug 17 12:40:45 app-server.citizix.com nginx[70206]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Aug 17 12:40:45 app-server.citizix.com systemd[1]: Started The nginx HTTP and reverse proxy server.

5. Instalar PHP con dependencias

WordPress está codificado en PHP. Necesitaremos el tiempo de ejecución de php para servir wordpress en nuestro servidor.

WordPress funciona en PHP 7.4. La última versión de php no está disponible en los repositorios predeterminados de Centos. Habilitémoslo con este comando:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Ahora habilite php 7.4 con este comando:

sudo dnf module enable php:remi-7.4

Ahora instalemos phpuse este comando para instalar:

sudo dnf install -y php \
    php-common \
    php-mbstring \
    php-gd \
    php-intl \
    php-xml \
    php-json \
    php-mysqlnd \
    php-fpm

6. Configure los ajustes de PHP y PHP FPM

La configuración global de php se almacena en /etc/php.ini expediente. Actualicemos esta configuración.

Abre php.ini con tu editor de texto favorito, yo usaré vim

sudo vim /etc/php.ini

Busque lo siguiente y actualice los valores como se muestra a continuación:

post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = Africa/Nairobi

php-fpm es responsable de servir nuestro contenido php, su archivo de configuración se encuentra aquí:/etc/php-fpm.d/www.conf .

Ahora abra el /etc/php-fpm.d/www.conf archivo de configuración:

sudo vim /etc/php-fpm.d/www.conf

Busque las directivas de usuario y grupo. Realice los siguientes cambios de apache a nginx:

user = nginx
group = nginx

Guarde y cierre el archivo, luego reinicie el servicio PHP-FPM para aplicar los cambios de configuración:

sudo systemctl restart php-fpm

7. Descargar e instalar WordPress

Ahora que tenemos los servidores configurados, descarguemos e instalemos wordpress en el servidor. La última versión de WordPress se puede descargar desde su sitio web oficial.

Vamos a crear un directorio donde se servirá nuestro contenido de wordpress:

sudo mkdir /var/www/dev-citizix

Asegúrese de que nginx el usuario es dueño del contenido:

sudo chown -R nginx.nginx /var/www/dev-citizix

Descarga el último contenido de wordpress:

cd /tmp
curl -LO https://wordpress.org/latest.zip

Salida de muestra:

$ curl -LO https://wordpress.org/latest.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.7M  100 15.7M    0     0  6650k      0  0:00:02  0:00:02 --:--:-- 6647k
$ ls
latest.zip

Extraiga y mueva el contenido a nuestro directorio del servidor:

unzip latest.zip
mv wordpress/* /var/www/dev-citizix

8. Configurando wordpress

Ahora que el contenido de wordpress se ha copiado en el directorio del sitio, actualicemos la configuración de la base de datos utilizando el archivo de muestra proporcionado.

Cambiar al directorio del sitio:

cd /var/www/dev-citizix/

Copie su wp-config-sample archivo a wp-config.php .

cp wp-config-sample.php wp-config.php

Abra el archivo de configuración en un editor de texto:

vim wp-config.php

Actualice estas variables:DB_NAME , DB_USER , DB_PASSWORD , DB_HOST :

<?php

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxx' );

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

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

/** MySQL hostname */
define( 'DB_HOST', 'xxx' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

Guarde el archivo de texto una vez que haya terminado.

Haga que el usuario de Nginx sea el propietario del directorio de WordPress, para que tenga acceso y pueda servir los archivos.

sudo chown -R nginx:nginx /var/www/dev-citizix

9. Configurar Nginx para servir el sitio

Ahora que la configuración está en su lugar, configuremos un host virtual nginx para servir el contenido que acabamos de agregar a /var/www/dev-citizix .

Vamos a crear un sitio virtual en el directorio donde nginx sirve contenido aquí /etc/nginx/conf.d :

sudo vim /etc/nginx/conf.d/dev-citizix.conf

Agrega el siguiente contenido:

server {
    listen 80;

    server_name dev.citizix.com;
    root /var/www/dev-citizix;
    index index.php index.html index.htm;

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

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Asegúrese de que la configuración agregada sea buena usando este comando para probar:

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Una vez que confirme que todo está bien, reinicie Nginx para que los cambios surtan efecto:

sudo systemctl restart nginx

10. Complete la instalación de WordPress

Una vez realizados todos los pasos anteriores, se completa la instalación desde la línea de comandos. Puede abrir su navegador web favorito y dirigirlo a http://dev.citizix.com. Debería obtener la siguiente pantalla:

Desde allí, puede seguir las indicaciones para configurar su wordpress.

Conclusión

Logramos configurar Centos 8 con Mysql 8, Php 7.4 y Nginx para servir wordpress en esta guía.


Cent OS
  1. Cómo instalar y configurar docker en Rocky Linux/Centos 8

  2. Cómo instalar y configurar Ansible en Rocky Linux/CentOS 8

  3. Cómo instalar Erlang en Rocky Linux/Alma Linux/CentOS 8

  4. Cómo instalar y usar Podman en Rocky Linux/Alma Linux/Centos 8

  5. Cómo instalar y configurar Mono en Rocky Linux 8 y CentOS 8

Cómo instalar MySQL 8 en CentOS 8

Cómo instalar y configurar Jenkins en Rocky Linux/Centos 8

Cómo instalar y cofigurar NextCloud usando LEMP en Rocky Linux/Centos 8

Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8

Cómo instalar Nginx en CentOS 6

Cómo instalar Nginx en Rocky Linux 9