Cómo instalar WordPress en Linux

El objetivo de esta entrada es mostrar cómo instalar WordPress en Linux paso a paso, en cuestión de minutos. El proceso es exactamente igual tanto si estás trabajando con un servidor o VPS Linux en Internet, un servidor en la red local o simplemente quieres instalar WordPress en local, en tu propia máquina (incluso si el servidor es una máquina virtual).

Antes de instalar WordPress en Linux

Para seguir esta guía de instalación de WordPress en Linux se deben reunir una serie de requisitos:

  • Un sistema Linux actualizado.
  • Una pila o stack LAMP (Apache + MariaDB/MySQL + PHP).
  • Acceso por terminal como usuario con privilegios de root o sudo.
  • Conocimiento de comandos básicos de shell y edición de archivos de texto con nano (o con vi u otro de tu elección).
  • Conexión a Internet para descargar los paquetes necesarios.

Cómo instalar WordPress en Linux

Para instalar WordPress en Linux partimos de un servidor (en el ejemplo estoy usando un distribución basada en Debian) en el que tenemos privilegios de root.

En este ejemplo el servidor es accesible por su dirección IP, pero también por su nombre o dominio linux.local.lan.

En este tutorial instalaremos WordPress como parte de la página por defecto de Linux, pero lo ideal es un servidor virtual propio con seguridad HTTPS.

Cómo descargar WordPress para Linux

Vamos a descargar WordPress para Linux en español. Encontraremos la última versión en su página web oficial. Si quisiéramos la versión multiidioma tendríamos que visitar https://wordpress.org.

En cualquier caso, a la hora de descargar WordPress veremos el botón grande de descarga, que enlaza al archivo .zip, y debajo un enlace a la versión del paquete .tar.gz.

descargar wordpress para linux en español
Página oficial para descargar WordPress (en español)

Como queremos WordPress para Linux descargaremos la versión .tar.gz, no la del paquete .zip (que sería más apropiado para entornos Windows). Sea cual sea la elección, en la consola del servidor ordenaremos la descarga del archivo pegando o tecleando el enlace del paquete como opción del comando wget:

~$ wget https://es.wordpress.org/latest-es_ES.tar.gz

Preparando el directorio para el sitio

Una vez descargado el paquete de WordPress, tenemos que descomprimirlo. Elegiremos un directorio accesible vía web (por ejemplo, alguno creado en /var/www/html/) si va a formar parte de una web mayor, o crearemos un servidor virtual para tratarlo como un sitio totalmente independiente (que es lo más habitual).

En este ejemplo descomprimimos el paquete de WordPress en la ruta de la página por defecto (adapta la ruta según donde vayas a tener el nuevo sitio):

~$ sudo tar xf latest-es_ES.tar.gz -C /var/www/html/

En la ruta donde hemos descomprimido el paquete se habrá creado un directorio llamado wordpress/ sobre el que trabajaremos.

Cambiaremos el propietario de este directorio y su contenido a nuestro usuario, y cambiaremos también el grupo del directorio al que usa el servidor web (www-data para Apache, o el que corresponda):

~$ sudo chown -R $USER:www-data /var/www/html/wordpress/

Daremos permisos de escritura al grupo del directorio de WordPress. Esto es porque WordPress (a través del servidor web) necesita escribir archivos de configuración, instalar plugins, subir contenidos, actualizarse a sí mismo, etc.

~$ sudo chmod -R g+w /var/www/html/wordpress/

Cómo configurar MySQL para WordPress (crear la base de datos)

Necesitamos una base de datos para el sitio, un usuario con permisos sobre esa base y su correspondiente contraseña. Estos datos los proporcionaremos posteriormente durante el script web de instalación de WordPress.

Vamos a crear todo lo que necesitamos. Para ello usaremos el cliente de consola de MySQL accediendo con un usuario con permisos para crear bases de datos y otros usuarios (o el mismo root):

~$ mysql -u root -p

Creamos la base de datos para WordPress:

> CREATE DATABASE wordpress CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

Creamos el usuario que manejará la nueva base de datos. En el caso de MySQL 8 o superior hay que asegurarse de utilizar el plugin mysql_native_password:

> CREATE USER 'wordpress'@'localhost' identified with mysql_native_password by 'password';

Si usas MySQL 5.x o MariaDB es más sencillo crear el usuario:

> CREATE USER 'wordpress'@'localhost' identified by 'password';

Y concedemos permisos del usuario sobre la base de datos:

> GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';

Ya podemos cerrar la conexión al servicio de bases de datos, no sin antes refrescar la tabla de permisos

> FLUSH PRIVILEGES;
> EXIT

Ya tenemos una base de datos llamada wordpress, que trabajará en formato UTF8 y Unicode. Y también tenemos un usuario wordpress con contraseña password que puede utilizar esta base de datos. Lógicamente, puedes usar los nombres que quieras para la base de datos, el usuario y la contraseña.

Anotamos estos datos, porque los necesitaremos más adelante.

Cómo configurar PHP para WordPress en Linux

Es necesario que nuestra versión de Linux tenga instaladas ciertas extensiones de PHP, como pueden ser bcmath, curl, gd, imagick, intl, mbstring, xml, zip, etc. Nos aseguraremos de que así sea instalándolas:

~$ sudo apt install -y php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip

Cuando se instalan extensiones de PHP es necesario recargar la configuración del servidor web:

~$ sudo systemctl reload apache2

Cómo configurar el servidor web para WordPress para Linux

WordPress está preparado para funcionar con el módulo Rewrite del servidor web Apache, para lo que crea un archivo .htaccess en su carpeta de archivos web. Para saber si el módulo Rewrite está cargado, en la mayoría de distribuciones de Linux podrás usar el comando apachectl:

~$ sudo apachectl -M |grep -i rewrite
~$

Por ejemplo, en el siguiente caso sí estaría instalado:

~$ sudo apachectl -M |grep -i rewrite
 rewrite_module (shared)
~$

Instalar el módulo Rewrite es tan fácil como usar el comando a2enmod:

~$ sudo a2enmod rewrite

En otras distribuciones hay que buscar en el archivo principal de configuración del servidor web una directiva LoadModule desactivada que cargue el módulo mod_rewrite. Y en otras distribuciones hay que instalar el paquete del módulo, que suele llamarse mod_rewrite.

Permitir el uso de archivos .htaccess

WordPress configura el módulo Rewrite en tiempo de ejecución, a través de archivos .htaccess, que por defecto el servidor web ignora. Si estás preparando un servidor virtual esta configuración formaría parte de su archivo de configuración correspondiente, pero en el caso de instalar WordPress en la página por defecto de Linux añadiríamos la configuración en el archivo de configuración principal de Apache o como un archivo de configuración adicional.

Este sería el bloque a añadir (modificando la ruta según tus preferencias):

<Directory /var/www/html/wordpress/>
        AllowOverride All
</Directory>

Podemos editar el archivo principal de configuración del servidor web en la ruta que corresponda según la distribución de Linux:

~$ sudo nano /etc/apache2/apache2.conf

Y se añade el bloque Directory anterior después de los otros bloques Directory existentes.

Otra forma de hacerlo es crear un archivo aparte, en el directorio de configuraciones adicionales, en la ruta que corresponda a tu sistema Linux:

~$ sudo nano /etc/apache2/conf-available/wordpress.conf

Guardados los cambios, y habilitamos la nueva configuración externa:

~$ sudo a2enconf wordpress

En cualquier caso, reiniciaremos el servidor web para asegurarnos de que carguen las nuevas configuraciones:

~$ sudo systemctl restart apache2

Cómo instalar WordPress en Linux desde el navegador

Para terminar de instalar WordPress en Linux entraremos en nuestro nuevo sitio con el navegador para ejecutar el script de instalación inicial.  La URL que usaremos será la dirección que hayamos configurado para el servidor.

Para el ejemplo de esta guía, como el servidor Linux es accesible en el dominio linux.local.lan, será http://linux.local.lan/wordpress la URL que usamos.

En la primera página de la instalación, el instalación web nos informa de que para conectar MysQL con WordPress vamos a necesitar los datos de la base de datos MySQL que creamos anteriormente (o los que nos hayan proporcionado):

como instalar wordpress en linux
Pantalla inicial de la instalación de WordPress desde el navegador

La primera pantalla del script de instalación nos avisa de que va a solicitarnos los datos de conexión a la base de datos MySQL con la que trabajará WordPress. Pinchamos en «¡Vamos a ello!»

instalar wordpress en linux
Formulario de datos de conexión a MySQL

Proporcionamos los datos de conexión de MySQL:

  • Nombre de la base de datos: El nombre de la base de datos usará WordPress para el nuevo sitio (lo creamos anteriormente).
  • Nombre de usuario: El usuario con privilegios suficientes sobre esa base de datos (también creado antes).
  • Contraseña: La contraseña para el usuario (creada a la vez que el usuario).
  • Servidor de la base de datos: Dejaremos localhost si MySQL y Apache corren sobre la misma máquina, en caso contrario indicaremos el servidor en que trabaja MySQL.
  • Prefijo de tabla: Si la base de datos que usaremos es exclusiva para este sitio WordPress, dejaremos el valor por defecto, pero si hay varios sitios WordPress compartiéndola, entonces tendremos que especificar un prefijo exclusivo para este nuevo sitio.

Al terminar, pinchamos en «Enviar«.

instalacion de wordpress en linux
Conexión a MySQL realizada con éxito, listos para instalar

Esta pantalla es la confirmación de que WordPress ha podido conectar con la base de datos, crear las tablas necesarias y se dipone a preparar los archivos del directorio web para empezar a trabajar. Pinchamos en «Ejecutar la instalación«.

Credenciales de acceso e identidad del sitio

instalando wordpress en Linux
Formulario de registro de credenciales del administrador y datos de identidad del sitio

Ya está instalado WordPress, pero debemos cumplimentar aún los datos básicos de nuestro sitio:

  • Título del sitio: El nombre del sitio, el que aparecerá constantemente en todas las páginas.
  • Nombre de usuario: El nombre del administrador del sitio, con el que acceder, hacer configuraciones, administrar temas, plugins, usuarios… e incluso publicar.
  • Contraseña: La contraseña del usuario administrador.
  • Tu correo electrónico: Una dirección de correo electrónico donde el sitio enviará notificaciones importantes de actividad e incidencias.
  • Visibilidad en los motores de búsqueda: Dejándolo sin marcar, el sitio es indexable por los buscadores; activándolo le estaremos diciendo a los robots y arañas que el sitio no debe ser indexado (porque aún lo tengamos en pruebas o no queramos que sea visible).

Pinchamos en «Instalar WordPress«.

Pantalla de instalación con éxito de WordPress en linux
Instalación realizada con éxito

Si llegamos a esta pantalla, la instalación ha finalizado correctamente. Se nos recuerda cuál es el usuario administrador con el que debemos acceder por primera vez. Pinchamos en «Acceder«.

Accediendo a nuestro sitio WordPress por primera vez

wordpress para linux
Identificación de usuario para acceder al sitio por primera vez

Por fin podemos entrar por primera vez a nuestrio nuevo sitio WordPress,  y sería interesante agregar esta dirección a los marcadores de nuestro navegador. Introducimos usuario, contraseña, y marcamos la casilla de «Recuérdame» si lo consideramos oportuno. Pinchamos en «Acceder» y…

Pantalla de bienvenida al escritorio de WordPress en Linux
Escritorio de WordPress, aquí tienes muchas cosas con las que jugar

¡Por fin podemos trabajar en nuestro sitio WordPress! Pero antes de empezar a instalar nada, vamos a facilitar la instalación de temas, plugins, actualizaciones, etc.

Cómo actualizar WordPress sin FTP en Linux

Este paso es opcional al instalar WordPress en Linux, pero es más que recomendable, ya que nos va a servir para actualizar WordPress sin FTP a nuevas versiones, instalar plugins y temas, etc.

Tal y como está configurado por defecto, cada vez que queramos instalar temas o plugins se nos pedirán credenciales de acceso por FTP. Como es bastante inusual tener instalado el servicio de FTP, vamos a configurar el modo en que WordPress podrá realizar estas tareas directamente, sin FTP. Para ello, editaremos el archivo wp-config.php en la raíz del sitio. Este archivo, creado durante la instalación, pertenece a Apache (usuario y grupo www-data), por lo que o bien cambiamos el propietario o bien editamos como superusuario:

~$ sudo nano /var/www/html/wordpress/wp-config.php

Y al final del fichero añadimos un par de líneas como estas:

/** Permite a WordPress instalar y actualizar sin necesidad de FTP **/
define('FS_METHOD', 'direct');

Y ahora sí, ya podemos personalizar y actualizar WordPress sin FTP, ya sea con temas, plugins, etc. ¡Pero eso es otra historia!

Conclusión final

Ahora que ya sabes cómo instalar WordPress en Linux habrás visto, si tenías abierta una consola del servidor, que todo el proceso lleva pocos minutos. Y podrás hacer tantas instalaciones distintas como quieras (cada una necesita su propio directorio de trabajo y su propia url), lo que es ideal para llevar varios blogs distintos, crear sitios de pruebas donde experimentar temas y plugins, etc.

Si has detectado cualquier error en este artículo, o tienes alguna duda, o sugerencia de mejora de este artículo, o te gustaría uno nuevo sobre temas relacionados, házmelo saber en los comentarios.

Y si este artículo te ha llegado a servir y quieres agradecérnoslo, puedes dejar una propina de tan sólo 1 $ en PayPal:

¡Gracias!

5/5 - (2 votos)

1 comentario en «Cómo instalar WordPress en Linux»

Los comentarios están cerrados.