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
- Actualización del sistema
- Instalando el servidor de base de datos mysql 8
- Crear mysql wordpress usr
- Instalar el servidor web Nginx
- Instalar PHP con dependencias
- Configurar los ajustes de PHP y PHP FPM
- Descargar e instalar WordPress
- Configuración de wordpress
- Configurar Nginx para servir el sitio
- 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
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.