WordPress es la plataforma CMS y de blogs de código abierto más popular en todo el mundo, y actualmente impulsa una cuarta parte de todos los sitios web en Internet. Se basa en PHP y MySQL y contiene un montón de funciones que se pueden ampliar con complementos y temas gratuitos y premium. WordPress es la forma más sencilla de crear su tienda en línea, sitio web o blog.
Este tutorial describe cómo instalar WordPress en CentOS 7. Es un proceso bastante simple que tarda menos de diez minutos en completarse.
Usaremos una pila LEMP con Nginx como servidor web, certificado SSL, el último PHP 7.2 y MySQL/MariaDB como servidor de base de datos.
Requisitos previos #
Asegúrese de que se cumplan los siguientes requisitos previos antes de continuar con este tutorial:
- Tenga un nombre de dominio que apunte a la dirección IP pública de su servidor. En este tutorial usaremos
example.com
. - Iniciar sesión como usuario con privilegios sudo.
- Nginx instalado siguiendo estas instrucciones.
- Tienes un certificado SSL instalado para tu dominio. Puede generar un certificado SSL gratuito de Let's Encrypt siguiendo estas instrucciones.
Creando base de datos MySQL #
WordPress almacena sus datos y configuración en una base de datos MySQL. El primer paso es crear una base de datos MySQL, una cuenta de usuario MySQL y otorgar acceso a la base de datos.
Si aún no tiene instalado MySQL o MariaDB en su servidor Ubuntu, puede instalarlo siguiendo una de las instrucciones a continuación:
- Instala MySQL en CentOS 7.
- Instala MariaDB en CentOS 7.
Inicie sesión en el shell de MySQL ejecutando el siguiente comando:
mysql -u root -p
Desde el shell de MySQL, ejecute las siguientes instrucciones SQL para crear una base de datos llamada wordpress
, usuario llamado wordpressuser
y otorgar todos los permisos necesarios al usuario:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
FLUSH PRIVILEGES;
EXIT;
Instalando PHP 7.2 #
CentOS 7 viene con PHP versión 5.4. La versión de PHP recomendada para WordPress es PHP 7.2.
Para instalar PHP y todas las extensiones de PHP necesarias, ejecute los siguientes comandos:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl
Instalamos PHP FPM porque usaremos Nginx como servidor web.
Por defecto, PHP FPM se ejecutará como usuario apache
en el puerto 9000. Cambiaremos el usuario a nginx
y cambiar de socket TCP a socket Unix. Para hacerlo, abra el /etc/php-fpm.d/www.conf
archivo edite las líneas resaltadas en amarillo:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Asegúrese de que /var/lib/php
El directorio tiene la propiedad correcta usando el siguiente comando chown:
sudo chown -R root:nginx /var/lib/php
Una vez que haya realizado los cambios, habilite e inicie el servicio PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Descargando Wordpress #
Antes de descargar el archivo de Wordpress, primero cree un directorio en el que colocaremos los archivos de WordPress:
sudo mkdir -p /var/www/html/example.com
El siguiente paso es descargar la última versión de WordPress desde la página de descarga de WordPress usando el siguiente comando wget:
cd /tmp
wget https://wordpress.org/latest.tar.gz
Cuando se complete la descarga, extraiga el archivo de WordPress y mueva los archivos al directorio raíz del documento del dominio:
tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/example.com/
Configure los permisos correctos para que el servidor web pueda tener acceso total a los archivos y directorios del sitio:
sudo chown -R nginx: /var/www/html/example.com
Configuración de Nginx #
A estas alturas, ya debería tener Nginx con certificado SSL instalado en su sistema, si no, verifique los requisitos previos para este tutorial.
Para crear un nuevo bloque de servidor para nuestra instancia de WordPress, usaremos la receta de Nginx del sitio oficial de Nginx.
Abra su editor de texto y cree un nuevo bloque de servidor nginx:
sudo nano /etc/nginx/conf.d/example.com.conf
Agregue las siguientes líneas:
/etc/nginx/conf.d/example.com.conf# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
No olvide reemplazar example.com con su dominio de WordPress y establezca la ruta correcta a los archivos del certificado SSL. Todas las solicitudes HTTP se redirigirán a HTTPS. Los fragmentos utilizados en esta configuración se crean en esta guía. Antes de reiniciar el servicio Nginx, pruebe la configuración para asegurarse de que no haya errores de sintaxis:
sudo nginx -t
Si no hay errores, la salida debería verse así:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
y puedes reiniciar Nginxescribiendo:
sudo systemctl restart nginx
Completando la instalación de WordPress #
Ahora que se descargó Wordpress y se completó la configuración del servidor, puede finalizar la instalación a través de la interfaz web.
Abra su navegador, escriba su dominio y aparecerá una pantalla similar a la siguiente:
Seleccione el idioma que le gustaría usar y haga clic en Continue
botón.
A continuación, verá la siguiente página de información, haga clic en Let's go!
botón.
En la siguiente pantalla, el asistente de configuración le pedirá que ingrese los detalles de conexión de su base de datos. Ingrese el usuario de MySQL y los detalles de la base de datos que creó anteriormente.
Inicie la instalación de WordPress haciendo clic en Run the Installation
botón.
En el siguiente paso, deberá ingresar un nombre para su sitio de WordPress y elegir un nombre de usuario (por motivos de seguridad, no use "admin").
El instalador generará automáticamente una contraseña segura para usted. No olvides guardar esta contraseña. También puede configurar la contraseña usted mismo.
Ingrese su dirección de correo electrónico y seleccione si desea disuadir a los motores de búsqueda de indexar el sitio (no recomendado).
Haz clic en Install WordPress
y una vez que se complete la instalación, accederá a una página que le informará que se instaló WordPress.
Para acceder a su página de inicio de sesión de WordPress, haga clic en Log in
botón.
Introduzca su nombre de usuario y contraseña.
Será redirigido al panel de administración de WordPress.
Desde aquí, puede comenzar a personalizar su instalación de WordPress instalando nuevos temas y complementos.