Cómo instalar WordPress con LEMP en Ubuntu 16.04

, ,
ubuntu-wordpress-nginx

WordPress es el sistema de gestión de contenidos (CMS) más popular en internet. Te permite crear blogs y sitios webs flexibles, con un mínimo de esfuerzo. Solo es necesario, para que funcione, una base de datos en MySQL y PHP como procesador de contenido dinámico. En este tutorial te mostraré cómo instalar WordPress con LEMP (Linux, Nginx, MySQL, and PHP) en un servidor con Ubuntu 16.04.

Requisitos previos

Para poder completar este tutorial necesitas acceso a un servidor con Ubuntu 16.04 con lo siguiente:

Cuando tengas estos requisitos accede a tu servidor con un usuario con permisos administrativos y continúa con los siguientes pasos.

Crear un usuario y una base de datos MySQL para WordPress

WordPress utiliza MySQL para guardar y administrar los datos del sitio. Así que lo primero que debes hacer es crear un usuario y una base de datos para WordPress. Existen varias maneras de hacer esto. La vía más rápida es a través de la línea de comandos,  que te mostraré en este tutorial. Sin embargo, puedes encontrar cómo hacerlo utilizando phpMyAdmin en  esta otra guía.

Para comenzar debes iniciar sesión en MySQL:

El servidor MySQL te preguntará por el password del usuario root que creaste al instalar el servidor. Después de esto estarás logueado en MySQL desde la línea de comandos.

Ahora debes crear una base de datos que WordPress pueda controlar. Puedes llamar a esta base de datos como desees. En el ejemplo la llamaré «WordPress», por cuestiones de simplicidad. Crea la base de datos escribiendo:

Lo siguiente es crear un usuario para operar exclusivamente en la base de datos previamente creada. Utilizaré como ejemplo el usuario wordpressuser en este tutorial. Tú siéntete libre de utilizar el usuario que desees.

Utiliza el siguiente comando para crear el usuario, establecer el password y otorgarle los permisos para operar con la base de datos que creaste previamente:

Ya tienes la base de datos y el usuario en el servidor MySQL para ser utilizados por WordPress. Lo siguiente es decirle al servidor que actualice los cambios que acabas de hacer:

Para salir del cli de MySQL basta con escribir:

Ajustar la configuración de Nginx para gestionar a WordPress

Ahora debes hacer algunos cambios menores en los bloques del servidor Nginx. Primero que todo debes abrir el bloque por defecto en un editor de texto:

Lo que harás a continuación es agregar algunos bloques location.

Crea dos bloques location idénticos para las peticiones de /favicon.ico y /robots.txt, para evitar registrar los eventos de estos elementos en el access_log y en el log_not_found:

El otro bloque location es para servir los recursos estáticos. Estas peticiones las puedes filtrar con una expresión regular como te muestro a continuación. Recuerda desactivar el log para estos recursos y poner el nivel del cache en el máximo.

Los bloques location deberían quedar así:

Nota

Si deseas agregar otro tipo de archivo estático puedes agregarlo a la lista css|gif|ico|jpeg|jpg|js|png

Dentro del bloque location / existente ajusta la propiedad try_files, para que en vez de retornar un error 404 por defecto, le pase el control al archivo index.php.

La modificación te debe quedar de la siguiente forma:

Cuando hayas terminado de editar el archivo guárdalo y cierra el editor (ctrl+x, luego y, luego ENTER si utilizas nano).

Puedes comprobar la sintaxis del archivo de esta manera:

Si no hubo errores, recarga el servidor Nginx escribiendo:

Instalar extensiones adicionales de PHP

Si seguiste la guía  Cómo instalar LEMP en un servidor con ubuntu 16.04, entonces no tienes todas las extensiones de PHP necesarias para que WordPress funcione. Ya que en esa guía solo recomendé instalar lo mínimo necesario para que PHP pudiera comunicarse con MySQL. WordPress necesita otras extensiones adicionales para funcionar correctamente. Para instalarlas basta con teclear:

Nota

Cada plugin de WordPress tiene sus propios requerimientos. Quizás alguno pudiera utilizar una extensión de PHP que no esté en la lista anterior. Siempre es recomendable revisar la documentación de los plugins a instalar y en caso de que necesites alguna extensión adicional, basta con utilizar el comando apt-get igual que en el ejemplo anterior.

Cuando termines de instalar las extensiones, reinicia el proceso php-fpm para que los cambios surtan efecto

Descargar WordPress

Ya tienes el servidor configurado. Es hora de descargar e instalar WordPress. Por razones de seguridad es altamente recomendable que descargues la última versión del CMS. Por suerte, el equipo de desarrollo siempre tiene la última versión en la misma URL: https://wordpress.org/latest.tar.gz.

Cámbiate a un directorio donde tengas permisos de escritura, por ejemplo /tmp y escribe:

Descomprime el archivo para que puedas crear la estructura de directorios de WordPress:

El fin de todo este proceso es copiar todos los ficheros al directorio raiz del servidor Web. Pero, antes de hacer eso, copia el archivo de configuración de ejemplo de WordPress, wp-config-sample.php, para el directorio donde aún tienes permisos de escritura con el nombre wp-config.php:

Luego crea el directorio uploads, para evitar conflictos a la hora de actulizar el software:

Ahora copia el contenido completo del directorio temporal al directorio raiz del servidor Web. Utiliza la bandera -a para asegurarte de que los permisos se mantengan sobre los directorios:

Configurar el directorio de WordPress

Ya casi tienes todo listo. No obstante, antes de llegar a la instalación desde la Web necesitas hacer algunos ajustes en el directorio de WordPress.

Ajustar la propiedad y los permisos

Debes empezar cambiando el propietario de los archivos. En esta guía utilizo el usuario universo_digital que es el que se configura en el tutorial de la configuración inicial. Tú puedes utilizar el usuario que prefieras. El grupo que le asignaremos a los archivos será www-data para poder darle acceso a Nginx a los archivos del directorio:

Lo próximo es poner el bit setgid en cada uno de los directorios. Esto provoca que los archivos nuevos creados en esos directorios hereden el grupo del directorio padre. En este caso www-data, en vez del grupo del usuario que los creó. Puedes hacerlo ejecutando el comando:

Para que la interfaz web pueda hacer cambios en los plugins y los temas debes darle permiso de escritura en el directorio wp-content:

Como parte de este proceso se permite la escritura en los otros tres directorios.

Con eso es suficiente por ahora. Sin embargo, ten presente que algunos plugins necesitan tareas adicionales.

Configurar el archivo wp-config.php

Ahora debes hacer algunos ajustes en el archivo de configuración de WordPress.

Cuando abras el archivo, lo primero que debes hacer es ajustar algunas claves secretas para proporcionarle más seguridad a la instalación. WordPress provee un generador seguro para estos valores, por lo que no necesitas preocuparte por generar los valores.

Para obtener valores seguros desde el sitio de WordPress ejecuta el comando:

Obtendrás valores únicos que son muy similares a los que te muestro a continuación:

Nota

Es muy mportante que generes valores únicos cada vez que necesites instalar WordPress. No copies los valores que te mostré anteriormente.

Ahora, abre el archivo de configuración en un editor de texto:

Encuentra la sección que contiene el texto de ejemplo para esos valores. Debes ver algo como esto en tu archivo de configuración:

Sobrescribe estos valores con los que copiaste anteriormente desde la línea de comandos. La sección debería quedar así:

Ahora debes ajustar los valores asociados a la conexión con la base de datos (nombre de la base de datos, el usuario y la contraseña). De esta manera WordPress puede obtener el control de la misma.

El próximo ajuste es agregar una variable que le indica a WordPress que puede escribir directamente en el sistema de archivos. Esto lo puedes hacer ya que anteriormente estableciste los permisos para que WordPress pudiera acceder al sistema de ficheros. De no poner esta opción, WordPress te pedirá que ingreses las credenciales de acceso al FTP cuando intentes instalar plugins o actualizar el CMS.

Esta opción la puedes poner debajo de la sección de configuración del acceso a la base de datos:

Guarda y cierra el archivo cuando termines la edición.

Completar la instalación a través de la interfaz web

Ya esta lista la configuración en el lado del servidor. Ahora es preciso terminar la instalación a través de la interfaz web.

En tu navegador web escribe la dirección ip o el dominio de tu servidor:

Selecciona el idioma que desees utilizar (en el caso particular del ejemplo que te muestro a continuación se utilizó el idioma inglés, pero puedes elegir español):

wordpress-instalacion-idioma

Al presionar continuar verás la pagina de bienvenida:

Pagina inicial de la instalación de WordPress

Pagina inicial de la instalación de WordPress

Sigue adelante con la instalación. Verás a continuación la página donde debes definir el nombre del sitio y las credenciales administrativas. Por defecto WordPress genera un password seguro para el usuario administrativo, puedes copiarlo o elegir uno que te sea mas cómodo.

 

Instalación de WordPress. Configuración de la cuenta de administrador

Instalación de WordPress. Configuración de la cuenta de administrador

Al continuar con la instalación verás que eres dirigido a la página de inicio de sesión de WordPress para obtener acceso al panel de administración.

Pagina de inicio de sesión en WordPress

Página de inicio de sesión en WordPress

Proporciona el usuario y la contraseña que definiste hace un momento. Verás algo como esto:

Wordpress dashboard

WordPress dashboard

Esta es la interfaz de administración de WordPress desde donde podrás controlar todo tu sitio. Podrás instalar plugins, escribir artículos, crear páginas, establecer configuraciones y mucho más.

Recomendación final

Es importante que conozcas que WordPress utiliza una estructura de enlaces dinámica por defecto; algo parecido a http://server_domain_name_or_IP/?p=1. Utilizar esta estructura no es muy conveniente para el posicionamiento ni para los usuarios que van a visitar tu sitio. Por eso, te recomiendo que revises: Cómo configurar los enlaces permanentes en WordPress, para que puedas mostrar URLS limpias y con sentido.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *