Cómo instalar WordPress en Ubuntu

Introducción

En este momento, WordPress es el CMS (sistema de gestión de contenido) más popular en Internet. Te permite configurar fácilmente blogs y sitios web flexibles en la parte alta de un servidor MySQL con procesamiento PHP. WordPress ha tenido una adopción increíble y es una excelente opción para poner en marcha un sitio web rápidamente.

En esta guía, nos centraremos en configurar una instancia de WordPress con un servidor web Apache en Ubuntu.

Prerrequisitos

Antes de comenzar esta guía, hay algunos pasos importantes que debes completar en tu servidor.

Continuaremos con estos pasos como un usuario no root con privilegios de sudo, por lo que deberás tener uno disponible. Puedes descubrir cómo crear un usuario con privilegios de sudo siguiendo los pasos de algún tutorial en línea

Además, deberás tener un conjunto LAMP (Linux, Apache, MySQL y PHP) instalado en tu instancia de VPS. Si aún no tienes estos componentes instalados y configurados, puedes usar esta guía para aprender a instalar LAMP en Ubuntu.

Cuando hayas terminado con estos pasos, puedes continuar con esta guía.

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

El primer paso que daremos es el preparatorio. WordPress utiliza una base de datos relacional para administrar y almacenar información del sitio y del usuario.

Tenemos instalado MySQL, que puede proporcionar esta funcionalidad, pero necesitamos hacer una base de datos y un usuario para que WordPress trabaje.

Para comenzar, inicia sesión en la cuenta root (administrativa) de MySQL emitiendo este comando:

Se te solicitará la contraseña que configuraste para la cuenta root de MySQL cuando instalaste el software. A continuación, se te dará un indicador de comando de MySQL.

Base de datos

Primero, podemos crear una base de datos separada que WordPress puede controlar. Puedes llamar a esto como quieras, pero lo llamaré wordpress porque es descriptivo y simple. Ingresa este comando para crear la base de datos:

Cada declaración de MySQL debe terminar en un punto y coma (;), así que verifica que esté presente si te encuentras con algún problema.

A continuación, vamos a crear una cuenta de usuario MySQL separada que usaremos exclusivamente para operar en nuestra nueva base de datos. Crear cuentas y bases de datos de una sola función es una buena idea desde el punto de vista de la administración y la seguridad.

Vamos a llamar a la nueva cuenta que estamos creando wordpressuser y le asignaremos una contraseña password. Definitivamente, deberías cambiar la contraseña de tu instalación y puedes nombrar al usuario como quieras. Este es el comando que necesitas para crear el usuario:

En este punto, tienes una base de datos y una cuenta de usuario, cada una hecha específicamente para WordPress. Sin embargo, estos dos componentes todavía no tienen relación. El usuario no tiene acceso a la base de datos.

Corrigamos eso otorgando a nuestra cuenta de usuario acceso a nuestra base de datos con este comando:

Ahora el usuario tiene acceso a la base de datos. Necesitamos eliminar los privilegios para que la instancia actual de MySQL conozca los cambios recientes de privilegios que hemos realizado:

Ya estamos listos. Podemos salir del indicador de MySQL escribiendo:

Ahora deberías volver a tu línea de comandos habitual.

Paso Dos – Descargar WordPress

A continuación, descargaremos los archivos de WordPress reales del sitio web del proyecto.

Afortunadamente, el equipo de WordPress siempre vincula la versión estable más reciente de su software con la misma URL, para que podamos obtener la versión más actualizada de WordPress al escribir esto:

Esto descargará un archivo comprimido que contiene el contenido del directorio archivado de los archivos de WordPress a nuestro directorio principal.

Podemos extraer los archivos para reconstruir el directorio de WordPress que necesitamos escribiendo:

Esto creará un directorio llamado wordpress en tu directorio de inicio.

Mientras estamos descargando cosas, también deberíamos obtener algunos paquetes más que necesitamos. Podemos obtenerlos directamente de los repositorios predeterminados de Ubuntu después de actualizar nuestro índice de paquete local:

Esto te permitirá trabajar con imágenes y también te permitirá instalar complementos y actualizar partes de tu sitio utilizando tus credenciales de inicio de sesión de SSH.

Paso Tres – Configurar WordPress

La mayor parte de la configuración que haremos será a través de una interfaz web más adelante. Sin embargo, necesitamos hacer algún trabajo desde la línea de comandos antes de que podamos ponerlo en marcha.

Comienza por pasar al directorio de WordPress que acabas de desempaquetar:

Se incluye por defecto un archivo de configuración de muestra que coincide principalmente con la configuración que necesitamos. Sin embargo, debemos copiarlo en la ubicación predeterminada del archivo de configuración para que WordPress reconozca el archivo. Haz eso ahora escribiendo:

Ahora que tenemos un archivo de configuración para trabajar, podemos generar algunas claves secretas que ayudan a asegurar la 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 obtuviste ahora.

A continuación, vamos a abrir el archivo de configuración en un editor de texto:

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

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

Después de eso, las únicas modificaciones que debemos hacer son los parámetros que contienen la información de nuestra base de datos.

Tendremos que encontrar la configuración de DB_NAME, DB_USERDB_PASSWORD para que WordPress se conecte y autentique correctamente a la base de datos que creamos.

Completa los valores de estos parámetros con la información de la base de datos que creaste. Debe tener un aspecto como este:

Estos son los únicos valores que necesitas cambiar.

Cuando hayas terminado, guarda y cierra el archivo.

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

Ahora que tenemos nuestra aplicación configurada, debemos copiarla en la raíz de documentos de Apache, donde se puede mostrar a los visitantes de nuestro sitio web.

Una de las formas más fáciles y confiables de transferir archivos de un directorio a otro es con el comando rsync. Esto preserva los permisos y tiene buenas características de integridad de datos.

La ubicación de la raíz del documento en la guía LAMP de Ubuntu es /var/www/html/. Podemos transferir nuestros archivos de WordPress allí escribiendo:

Esto copiará de forma segura todos los contenidos del directorio que desempaquetaste en la raíz del documento.

Ahora debes pasarte a la raíz del documento para realizar algunos cambios de permisos finales

Propiedades

Deberás cambiar la propiedad de nuestros archivos para aumentar la seguridad.

Queremos otorgarle la propiedad al usuario regular, no root (con privilegios sudo) que planeas usar para interactuar con tu sitio. Este puede ser tu usuario habitual si lo deseas, pero algunos pueden sugerirte que crees un usuario adicional para este proceso. Depende de ti lo que elijas.

Para esta guía, usaremos la misma cuenta que configuramos durante la guía de configuración inicial del servidor, a la que llamamos demo. Esta es la cuenta en la que estamos realizando todas las acciones de esta guía.

La propiedad del grupo que le daremos a nuestro proceso de servidor web, es www-data. Esto permitirá que Apache interactúe con el contenido según sea necesario.

Podemos asignar rápidamente estos valores de propiedad escribiendo:

Esto configurará las pertenencias de propiedad que estamos buscando.

Mientras nos ocupamos de la propiedad y los permisos, también deberíamos considerar asignar la propiedad correcta en nuestro directorio de subidas. Esto nos permitirá subir imágenes y otro contenido a nuestro sitio. Actualmente, los permisos son demasiado restrictivos.

Primero, crearemos manualmente el directorio uploads debajo del directorio wp-content en nuestra raíz de documentos. Este será el directorio padre de nuestro contenido:

Ahora tenemos un directorio para alojar los archivos cargados, sin embargo, los permisos son todavía demasiado restrictivos. Necesitamos permitir que el propio servidor web escriba en este directorio. Podemos hacer esto asignando la propiedad de grupo de este directorio a nuestro servidor web, de esta manera:

Esto permitirá que el servidor web cree archivos y directorios bajo este directorio, lo que nos permitirá cargar contenido en el servidor.

Paso cinco – Instalación completa a través de la interfaz web

Ahora que tienes tus archivos en su lugar y tu software está configurado, puedes completar la instalación a través de la interfaz web.

En tu navegador web, navega hasta el nombre de dominio o la dirección IP pública de tu servidor:

Verás la página de configuración inicial de WordPress, donde crearás una cuenta de administrador inicial:

Completa la información del sitio y la cuenta administrativa que deseas realizar. Cuando hayas terminado, has clic en el botón de instalación en la parte inferior.

WordPress confirmará la instalación y luego te pedirá que inicies sesión con la cuenta que acabas de crear:

Presiona el botón en la parte inferior y luego completa la información de tu cuenta:

Se te presentará la interfaz de WordPress:

Paso seis (opcional): configurar Pretty Permalinks para WordPress

De forma predeterminada, WordPress crea URL’s dinámicamente que se parecen a esto:

Esta no es exactamente la interfaz más útil para los visitantes o los motores de búsqueda, por lo que la mayoría de los usuarios quieren modificar esto. WordPress tiene la capacidad de crear permalinks “pretty” que limpiarán la URL en un formato más amigable para el ser humano.

Hay algunas cosas que debemos hacer para que esto funcione con Apache en Ubuntu

Modificar Apache para permitir la reescritura de URL

Primero, debemos modificar el archivo de host virtual de Apache para WordPress para permitir anulaciones .htaccess. Puedes hacer esto editando el archivo de host virtual.

Por defecto, este es 000-default.conf, pero tu archivo podría ser diferente si creaste otro archivo de configuración:

Dentro de este archivo, queremos configurar algunas cosas. Deberíamos establecer la sección ServerName y crear una sección de directorio donde permitamos anulaciones. Esto debería verse algo como esto:

Cuando hayas terminado, guarda y cierra el archivo.

A continuación, debemos habilitar el módulo de reescritura, que te permite modificar las URL’s. Tú puedes hacer esto escribiendo:

Después de realizar estos cambios, reinicia Apache:

Crear un archivo .htaccess

Ahora que Apache está configurado para permitir reescrituras a través de archivos .htaccess, necesitamos crear un archivo real.

Necesitas colocar este archivo en la raíz de tu documento. Escribe lo siguiente para crear un archivo vacío:

Esto se creará con tu nombre de usuario y grupo de usuarios. Sin embargo, necesitamos que el servidor web sea el propietario del grupo, por lo que debemos ajustar la propiedad escribiendo:

Ahora tenemos la propiedad correcta de este archivo.

Sin embargo, es posible que tengamos que ajustar los permisos. Esto depende de cómo prefieras trabajar. WordPress generará las reglas de reescritura necesarias para ti. Si tienes permisos de escritura para este archivo, puedes implementar las reglas automáticamente. Si no lo haces, tendrás que editar manualmente este archivo para agregar las reglas correctas.

La configuración que elijas dependerá de cuánto valores la comodidad sobre la seguridad. Permitir el acceso de escritura del servidor web a este archivo definitivamente será más conveniente, pero algunos dicen que es un riesgo de seguridad innecesario.

Si deseas que WordPress actualice automáticamente este archivo con reglas de reescritura, puedes asegurarte de que tiense los permisos correctos para hacerlo escribiendo:

Si deseas actualizar este archivo manualmente por una pequeña ganancia de seguridad, puedes permitir que el servidor web solo lea los privilegios escribiendo:

Cambiar la configuración de Permalink en WordPress

Cuando hayas terminado de hacer los cambios del lado del servidor, puedes ajustar fácilmente la configuración del enlace permanente a través de la interfaz de administración de WordPress.

En el lado izquierdo, debajo del menú Settings, puedes seleccionar Permalinks:

Puedes elegir cualquiera de las configuraciones preconfiguradas para organizar las URL’s, o puedes crear la tuya propia.

Cuando hayas realizado tu selección, has clic en “Guardar cambios” para generar las reglas de reescritura.

Si permitiste que el servidor web tenga acceso de escritura a tu archivo .htaccess, deberías ver un mensaje como este:

Si no permitiste el acceso de escritura del servidor web a tu archivo .htaccess, se te proporcionarán las reglas de reescritura que debes agregar al archivo manualmente.

Copia las líneas que te da WordPress y luego edita el archivo en tu servidor:

Esto debería darte la misma funcionalidad.

Conclusión

Ahora deberías tener una instancia de WordPress en funcionamiento en tu VPS de Ubuntu. Hay muchas opciones que puedes tomar desde aquí.