Cómo instalar WordPress con Nginx en Ubuntu

Introducción

WordPress es el sistema de gestión de contenido (CMS) más popular del mundo. Te permite tener fácilmente tu sitio o blog en funcionamiento. Después de la instalación, puedes administrar casi todo en una interfaz web muy fácil.

En esta guía, veremos cómo instalar WordPress en un servidor Ubuntu. Para el componente de servidor web, usaremos nginx, un servidor web potente y eficiente que ha sido ampliamente adoptado debido a sus capacidades de rendimiento.

Prerrequisitos

Antes de comenzar con esta guía, hay algunos procedimientos que debes realizar.

Primero, necesitarás un usuario no root con privilegios sudo.

También necesitará un conjunto LEMP (sistema operativo Linux, servidor web Nginx, base de datos MySQL y procesamiento PHP) instalado y configurado en tu servidor. Puedes aprender cómo instalar y configurar los componentes necesarios siguiendo nuestra guía para instalar un conjunto LEMP en Ubuntu aquí.

Cuando hayas terminado con los pasos anteriores, puedes continuar.

Paso uno: crear una base de datos MySQL y un usuario para WordPress

Lo primero que debemos hacer para comenzar con WordPress es preparar nuestra base de datos.

Tenemos instalado el software de base de datos MySQL, pero no hemos creado una base de datos para nuestra información de WordPress. También debemos crear una cuenta que WordPress pueda usar para acceder a la base de datos que crearemos.

Deberíamos comenzar iniciando sesión en una sesión interactiva con nuestra cuenta administrativa de MySQL de esta manera:

Se te solicitará la contraseña que elegiste para la cuenta root de MySQL cuando instalaste el software. Se te mostrará un indicador de comando de MySQL.

Base de datos

Ahora, podemos crear una base de datos separada que será utilizada exclusivamente por nuestra aplicación WordPress. El nombre no es importante, pero probablemente debería ser descriptivo para que puedas reconocerla fácilmente. En esta guía, llamaremos a nuestra base de datos wordpress:

Ten en cuenta el punto y coma (;) en que termina la sentencia MySQL. Cada sentencia de MySQL debe terminar con una, por lo tanto, comprueba que no tengas problemas.

Ahora tenemos una base de datos, por lo que estamos listos para crear una cuenta de usuario. Luego entregaremos el control de la base de datos a este nuevo usuario para que nuestra aplicación pueda interactuar con la base de datos. Este sistema de creación de una base de datos y un usuario separados para cada aplicación ayuda a mantener nuestros datos separados de otros datos almacenados por MySQL, lo que es bueno para la seguridad y la administración de datos.

Para esta guía, usaremos wordpressuser como el nombre del usuario de la cuenta. Le asignaremos una contraseña password para autenticarnos. Cuando estés configurando tus propios ajustes, debes seleccionar una contraseña más segura:

Ahora, tenemos una base de datos y un usuario, pero aún no hemos establecido una relación entre los dos. Necesitamos decirle a MySQL que nuestro nuevo usuario puede acceder y controlar la base de datos. Puedes hacer eso con este comando:

Todo debería estar configurado correctamente ahora. Necesitamos descargar los privilegios en el disco para que nuestra instancia actual de MySQL conozca los cambios de privilegios que hemos realizado:

Ahora, sal del indicador de MySQL:

Ahora estamos de vuelta en nuestra línea de comandos, listos para seguir adelante.

Paso Dos – Descarga WordPress a tu Servidor

A continuación, debemos descargar el contenido actual de WordPress en nuestro servidor. Esto está disponible en el sitio web de WordPress.

La última versión estable de la aplicación siempre está en la misma URL, lo que facilita esta parte. Queremos descargar el archivo al directorio de inicio de nuestro usuario:

Nuestros archivos de aplicación se han descargado como una estructura de directorio comprimida y archivada almacenada en un archivo llamado latest.tar.gz. Podemos extraer los contenidos escribiendo:

Esto creará un directorio llamado wordpress que contiene los archivos del sitio.

Debemos aprovechar esta oportunidad para descargar algunos componentes adicionales que necesitará nuestra instancia de WordPress. Podemos obtener estos directamente desde los repositorios de software de Ubuntu usando apt:

Estos dos paquetes te permiten trabajar con imágenes e instalar/actualizar complementos y componentes utilizando SSH respectivamente.

Paso Tres – Configurar WordPress

Tenemos los archivos ahora, por lo que podemos comenzar a configurar nuestra instancia de WordPress.

Necesitamos modificar el archivo de configuración principal ubicado en nuestro nuevo directorio. Ve al directorio que extrajiste en la última sección:

Dentro de este directorio, tenemos un archivo de configuración de ejemplo llamado wp-config-sample.php. Esto tiene la mayoría de los detalles de configuración correctos, por lo que podemos copiarlos para usarlos como base de nuestro archivo de configuración:

Cuando abramos el archivo, nuestra primera tarea será ajustar algunas claves secretas para proporcionar algo de seguridad para nuestra instalación.

WordPress proporciona un generador seguro para estos valores para que no tengas que intentar obtener buenos valores por tu cuenta. Estos solo se usan internamente, por lo que no perjudicará la facilidad de uso para tener valores complejos y seguros aquí.

Para tomar valores seguros del generador de claves secretas de WordPress, escribe:

Obtendrás valores únicos que se ven así:

Advertencia

Es importante que solicites valores únicos cada vez. ¡NO copies los valores que se muestran a continuación!

Estas son líneas de configuración que podemos pegar directamente en nuestro archivo de configuración para establecer claves seguras. Copia la salida que recibiste ahora.

Ahora, abre el archivo de configuración de WordPress:

Busca la sección que contiene los valores ficticios para esas configuraciones. Se verá algo como esto:

Valores

Borra esas líneas y pega los valores que copiaste de la línea de comandos:

El archivo ahora es adecuado para nuestras necesidades; solo falta la información para conectarse a la base de datos que creamos. Los parámetros que necesitamos para establecer la conexión son DB_NAME, DB_USER y DB_PASSWORD.

Podemos encontrar estos parámetros en este archivo y configurarlos para usar la base de datos y los detalles del usuario que creamos. Mi archivo se ve así:

Cuando hayas realizado los cambios anteriores, guarda y cierra el archivo.

Paso cuatro – Copiar los archivos a la raíz del documento

Tenemos nuestros cambios en nuestros archivos de configuración. El siguiente paso es copiarlos en nuestra raíz de documentos para que nuestro servidor web pueda encontrarlos y mostrarlos.

Usaremos la utilidad rsync para realizar la transferencia. Esto tiene la ventaja de preservar los permisos, la propiedad y garantizar la integridad de los datos.

La ubicación de la raíz predeterminada del documento de nginx en Ubuntu es /usr/share/nginx/html/.

Sin embargo, vamos a configurar nuestra raíz de documentos /var/www/html/ para evitar modificar una ubicación de directorio controlada por el paquete nginx. Vamos a cambiar esto en nuestra configuración nginx un poco más tarde.

Podemos crear el nuevo directorio raíz de documentos escribiendo:

Copiar archivos

Ahora, podemos copiar los archivos a esta ubicación escribiendo:

Esto copiará recursivamente los contenidos de nuestro directorio ~/wordpress en nuestra raíz de documentos.

A continuación, vamos a la raíz del documento para que podamos ajustar algunos permisos:

El problema con la estructura de directorios actual es que todos nuestros archivos tienen propiedad de usuario y grupo asignada a nuestro usuario habitual. Esto está bien, excepto que nuestro servidor web necesita poder modificar ciertos directorios y archivos.

Podemos otorgar este permiso sin exponer demasiado nuestro sistema si le damos al grupo que nuestro servidor web se ejecuta bajo la propiedad grupal de los archivos. Entonces podemos abrir los permisos de grupo ligeramente según sea necesario.

El grupo bajo el cual opera nginx es www-data. Para la porción de usuario, ingresa tu nombre de cuenta de usuario. Vamos a demostrar con una cuenta llamada demo aquí:

Esto le dará a nuestros archivos la propiedad necesaria.

Antes de continuar, debemos crear un nuevo directorio para las subidas de usuarios:

El nuevo directorio ya debe tener un conjunto de escritura de grupo, pero el nuevo directorio aún no tiene asignada la propiedad www-data del grupo. Vamos a arreglar eso:

Paso Cinco – Modificar Server Blocks de Nginx

Tenemos nuestros archivos y directorios configurados. Ahora necesitamos modificar nuestra configuración nginx para mostrar el contenido correctamente.

Podemos usar Server Blocks de nginx predeterminado como base para nuestro nuevo bloque de servidor. Cópialo de esta manera:

Abre el nuevo archivo que hicimos para que podamos hacer algunos cambios:

Queremos hacer los siguientes cambios:

Un resumen de los cambios que debes hacer:

  • Cambiar el valor de la directiva root para que apunte a nuestra nueva raíz de documentos en /var/www/html.
  • Modificar el parámetro index para buscar un archivo index.php antes que los otros archivos.
  • Cambia el valor de la directiva server_name para que apunte al nombre de dominio o la dirección IP de tu servidor.
  • Ajustar dentro try_files del bloque location/ para enviar solicitudes a PHP cuando no coincidan exactamente.

Algunos de estos ya podrían estar configurados desde tu instalación de LEMP. Cuando hayas terminado con estos cambios, guarda y cierra el archivo.

Necesitamos vincular nuestro nuevo archivo al directorio sites-enabled para activarlo. Podemos hacer eso así:

El archivo que acabamos de vincular está en conflicto con nuestro archivo predeterminado anterior, ya que tomaste mucho de él. Necesitamos deshabilitar el archivo antiguo:

Ahora, reinicia el servidor web y el procesador PHP para habilitar nuestros cambios:

Paso Seis – Completar la Instalación a través de la Interfaz Web

Ahora, nuestro WordPress está listo para funcionar y podemos finalizar la instalación a través de nuestro navegador web.

Escribe en tu navegador al nombre de dominio o la dirección IP de tu servidor, de esta manera:

Si esto muestra tu antigua página nginx predeterminada, es posible que debas actualizar la página sin el caché.

Verás la etapa básica de bienvenida de WordPress. Elije tus opciones (nombre del sitio, nombre de usuario, contraseña y correo electrónico) y luego has clic en el botón “Instalar WordPress”:

Tendrás que iniciar sesión con la cuenta que acabas de crear:

Se te presentará tu panel de WordPress, donde puedes comenzar a personalizar tu configuración y crear contenido:

Conclusión

Ahora debería tener tu instancia de WordPress en funcionamiento en un servidor web nginx en Ubuntu. WordPress es una plataforma bastante flexible que puedes utilizar para personalizar tu sitio. Experimenta con algunos complementos, temas, etc. diferentes para descubrir qué funciona mejor para ti.