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

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

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 ha gustado? ¡Compártelo!

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

Deja un comentario

Tal vez también te gustaría leer...

LiteSpeed Cache – Optimizar el RENDIMIENTO de WORDPRESS

LiteSpeed Cache es un plugin de WordPress que sirve para acelerar la velocidad de carga de una página WEB construida con este popular CMS, algo imprescindible para que Google y el resto de buscadores puntúen mejor tu página WEB y se posicione mejor en los resultados de las búsquedas para recibir más visitas. Rebajas HP

Leer más »

Redirección de URLs en WordPress con el plugin Redirection

Es frecuente en WordPress unificar artículos o moverlos a otro dominio con una URL distinta y necesitamos redirigir la antigua URL a la nueva para no perder la fuerza de posicionamiento WEB adquirida y para que los usuarios sigan llegando si acceden a la URL antigua por medio de algún enlace en alguna página WEB

Leer más »

Tutorial de WordPress para configurarlo correctamente

¿Qué es WordPress? WordPress es el gestor de contenidos más utilizado del mundo para crear páginas WEB. En WordPress.com puedes crear un blog sin tener que contratar un hosting, mientras que WordPress.org distribuye libremente el código fuente para que podamos personalizarlo como queramos. Eso sí, tendremos que contratar un hosting pero seremos totalmente libres de

Leer más »

Navegación por Clusters en WordPress con WP Show Posts

Una de las maneras de mejorar el tráfico interno de nuestra página WEB y mejorar la navegabilidad para los usuarios, es incorporando enlaces internos dentro de las URLs que están relacionadas con la misma temática y aportan valor al usuario. La manera más vistosa de hacerlo y que suelo utilizar para las páginas principales de

Leer más »

Análisis del Hosting de WordPress de Sered.net

Desde hace mucho tiempo que estoy usando la infraestructura de Amazon AWS para alojar Puerto53.com y me ha venido muy bien para aprender cómo funciona la plataforma y certificarme como arquitecto de AWS. Pero he decidido que ha llegado la hora de hacer un cambio de proveedor de WordPress y sered.net ha sido el elegido.

Leer más »