Instalar WordPress manualmente en CentOS 7 con NGINX y PHP-FPM

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

Lo primero que tenemos que hacer cuando vamos a crear un nuevo blog de WordPress con NGINX y PHP-FPM, es instalar WordPress. Yo voy a crear una nueva página WEB en Linux CentOS 7.

Instalación de PHP y MariaDB en Linux

Como ya sabrán los lectores de este blog, utilizo Linux CentOs, así que lo que tenemos que hacer antes de instalar WordPress, es instalar PHP y MariaDB o MySQL.

Ejecutaremos el comando yum install PHP mariadb.

Los paquetes que tengo instalados son:

[email protected]# rpm -qa |grep -i php
php72w-common-7.2.13-1.w7.x86_64
php72w-soap-7.2.13-1.w7.x86_64
php72w-xml-7.2.13-1.w7.x86_64
php72w-mysqlnd-7.2.13-1.w7.x86_64
php72w-mbstring-7.2.13-1.w7.x86_64
php72w-cli-7.2.13-1.w7.x86_64
php72w-gd-7.2.13-1.w7.x86_64
mod_php72w-7.2.12-1.w7.x86_64
php72w-fpm-7.2.13-1.w7.x86_64
php72w-pdo-7.2.13-1.w7.x86_64
[email protected]#

[email protected]# rpm -qa |grep -i mariadb
mariadb-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64
mariadb-server-5.5.60-1.el7_5.x86_64
[email protected]#

Y arrancamos el servicio de base de datos:

systemctl enable mariadb
systemctl start mariadb

Descargar WordPress

Descargamos WordPress del sitio oficial con el comando wget en el directorio donde vamos a ubicar el DocumentRoot o directorio raíz de nuestra página WEB. En el caso para este ejemplo, va a ser /app/hervideros/html.

[[email protected] html]# wget https://es.wordpress.org/wordpress-5.0-es_ES.zip
--2018-12-09 17:46:06-- https://es.wordpress.org/wordpress-5.0-es_ES.zip
Resolving es.wordpress.org (es.wordpress.org)... 198.143.164.252
Connecting to es.wordpress.org (es.wordpress.org)|198.143.164.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11995990 (11M) [application/zip]
Saving to: ‘wordpress-5.0-es_ES.zip’

100%[===================================================================================================>] 11,995,990 8.14MB/s in 1.4s

2018-12-09 17:46:08 (8.14 MB/s) - ‘wordpress-5.0-es_ES.zip’ saved [11995990/11995990]

[[email protected] html]#

Una vez descargado el fichero ZIP, lo descomprimimos.

unzip  wordpress-5.0-es_ES.zip

Crear una base de datos MySQL o MariaDB

WordPress necesita conectarse a una base de datos MySQL o MariaDB para guardar datos internos como los artículos que escribimos o tablas de configuración de plugins. Así que creamos una base de datos nueva en el servidor de MySQL. En mi caso MariaDB.

CREATE USER ‘usuario’@’localhost’ IDENTIFIED BY ‘Contraseña’;
CREATE DATABASE Nombre_base_de_datos;
GRANT ALL PRIVILEGES ON databasename.* TO «usuario»@»localhost»;

Configurar el servidor WEB NGINX

Instalación de NGINX en CentOS

Para instalar Nginx, en CentOS 7, he ejecutado los siguientes comandos:

yum install epel-release -y
yum install nginx

Más información sobre la configuración del repositorio EPEL en este enlace.

Configuración del servicio de Nginx

IP interna asignada al nuevo servicio:

[[email protected] ~]# grep hervideros /etc/hosts
10.0.1.133 hervideros.online
[[email protected] ~]#

Código que añadimos al fichero /etc/nginx/nginx.conf:

# hervideros.online
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name hervideros.online;
#root /usr/share/nginx/html;
root /app/hervideros/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
root /app/hervideros/html;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?q=$uri&$args;
}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}

# Caching 30 days in browser - Expire headers
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}

location ~* \.php$ {
fastcgi_index index.php;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_connect_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_send_timeout 300s;
}

}
# hervideros

Reiniciamos el servidor NGINX con el comando system restart nginx y ya tenemos el servicio escuchando:

[[email protected] nginx]# nmap -Pn -p80 10.0.1.133

Starting Nmap 6.40 ( http://nmap.org ) at 2018-12-09 18:31 CET
Nmap scan report for hervideros.online (10.0.1.133)
Host is up (0.000041s latency).
PORT STATE SERVICE
80/tcp open http

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
[[email protected] nginx]#

Seguramente que te interese revisar el artículo Configuración de WordPress con NGINX y PHP-FPM en Linux CentOS 7., en el que explico cómo configurar el servicio PHP-FPM. En el ejemplo anterior, el servicio está escuchando por la IP y puerto definidos en la directiva:

fastcgi_pass 127.0.0.1:9000;

Acceder a la WEB públicamente desde Internet

En el artículo Route53 – El servicio de DNS de Amazon AWS expliqué cómo comprar un dominio de Internet en Amazon AWS. Para este proyecto, he comprado hervidores.online.

Como podemos comprobar, ya tenemos acceso a la URL de configuración de WordPress desde donde indicamos, por primera vez, el acceso a la base de datos:

https://URL/wp-admin/setup-config.php

Si tienes varias páginas WEB en el mismo servidor, utilizando NGINX para todas ellas, necesitarás separar cada fichero de configuración de cada página para que esté todo más ordenadito. Puedes ver cómo lo tengo configurado en el artículo Configuración de Bloques en NGINX.

Por último, te recomiendo que visites el artículo Tutorial de WordPress

También deberás comprar un certificado SSL para acceder a tu página con HTTPS, ya que con HTTP aparece un mensaje de página no segura y eso te penalizará en el posicionamiento WEB.

Te puede interesar

Contrata un servidor VPS administrado

¿Te ha gustado? ¡Compártelo!

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

SUSCRÍBETE A PUERTO53

Recibe un email periódico con los artículos más interesantes de Puerto53.com

Antes de suscribirte lee los términos y condiciones. Gracias.

Contenido Relacionado

Artículos Recientes

Deja un comentario

About Author