En esta entrada veremos cómo instalar WordPress en Debian 10 Buster paso a paso para poder crear fácilmente potentes sitios web con este CMS. Al final de esta guía habrás instalado WordPress en tu servidor o VPS Debian y estarás listo para empezar a crear contenido.
Si estás buscando este mismo tutorial para otra versión de Debian podrás encontrarlo con el buscador de nuestro sitio.
Tabla de contenidos
Antes de instalar WordPress en Debian 10 Buster
Si vas a seguir esta guía de instalación de WordPress en Debian 10 Buster, necesitas cumplir al menos estos requisitos:
- Una máquina Debian 10 Buster actualizada.
- Una pila LAMP o similar, es decir, servidor web con PHP y soporte de bases de datos MySQL o MariaDB.
- Acceso a consola como root o usuario con permisos de sudo.
- Manejo básico de un editor de texto, como nano o vi.
- Conexión a Internet.
En esta guía usamos Apache 2.4 y MariaDB 10.3. Si necesitas ayuda sobre este tipo de configuraciones, puedes consultar la guía de instalación LAMP en Debian 10 Buster.
Cómo descargar WordPress para Debian 10 Buster
En primer lugar lo que haremos será descargar WordPress para Debian 10. WordPress existe como paquete de la distribución Debian 10 Buster, pero en el momento de escribir esta guía la versión disponible es la 5.0, mientras que la última versión disponible desde WordPress.org pertenece a la rama 6.5. Además, puede ser más interesante controlar todos los aspectos de la instalación y configuración de WordPress. Por todo ello, visitaremos la zona de descargas de la web oficial de WordPress en español para descargar la última versión disponible.
El botón que aparece resaltado corresponde al paquete con formato .zip, pero el que nos interesa (o es más recomendable) es el enlace que hay justo debajo, y que enlaza al paquete en versión .tar.gz. Estos enlaces no cambian nunca y apuntan siempre a la última versión de WordPress.
Si estás navegando en la máquina Debian 10 sobre la que harás la instalación puedes descargar directamente desde el navegador. En mi caso, copiaré la URL para descargar el paquete desde consola con el comando wget:
~$ wget https://es.wordpress.org/latest-es_ES.tar.gz
Preparación del directorio para WordPress
WordPress puede ser instalado como un sitio independiente o como parte de otro sitio. Podrías configurar un servidor virtual exclusivo para un sitio independiente de WordPress, o incluso varios servidores con distintas instalaciones y sitios. En este ejemplo, WordPress será parte del servidor por defecto de la máquina Debian 10, cuya web reside en /var/www/html/.
Con el paquete ya descargado, procedemos a descomprimirlo directamente en la ubicación donde residirá el nuevo sitio web, sobre /var/www/html/. Como este directorio pertenece a root usaremos sudo:
~$ sudo tar xf latest-es_ES.tar.gz -C /var/www/html
Ya tenemos WordPress descomprimido bajo la carpeta /var/www/html/wordpress/.
El siguiente paso será cambiar los permisos de esta carpeta y su contenido, especificando el usuario y grupo con el que corre el servicio web (www-data en el caso de Apache), ya que el servidor web necesitará poder modificar y crear contenido en la carpeta de WordPress:
~$ sudo chown www-data:www-data /var/www/html/wordpress/ -R
Preparación de la base de datos para WordPress en Debian 10
WordPress necesita una base de datos propia y un usuario capaz de manejarla, por lo que debemos prepararlos en el sistema de bases de datos que tengamos instalado en nuestra máquina Debian 10.
Aunque podríamos usar cualquier usuario administrador desde WordPress, por seguridad crearemos uno nuevo limitado sólo a la nueva base de datos de WordPress.
En primer lugar conectamos al sistema de bases de datos con el cliente de consola con un usuario con suficientes privilegios como para crear y administrar bases de datos y usuarios. Si no tienes ninguno propio, puedes usar root.
En el caso de que root use autenticación por sockets de Unix, conectamos con sudo:
~$ sudo mysql
Si root usa el sistema tradicional por contraseña conectaremos así:
~$ mysql -u root -p
En cualquier caso, una vez conectados al servidor de bases de datos, crearemos la base para WordPress:
> create database wordpress charset utf8mb4 collate utf8mb4_unicode_ci;
Ahora creamos el nuevo usuario que usará WordPress para manejar la nueva base:
> create user wordpress@localhost identified by 'XXXXXXXX';
Concedemos permisos al nuevo usuario sobre la base de datos:
> grant all privileges on wordpress.* to wordpress@localhost;
Sólo queda recargar la tabla de permisos y salir del cliente mysql:
> flush privileges; > exit
Módulos de PHP requeridos por WordPress en Debian 10
No basta con la instalación básica de PHP para instalar WordPress, ya que este recomienda y exige algunos módulos para poder funcionar correctamente y con el mayor rendimiento posible. Los módulos de los que estamos hablando son bcmath, curl, imagick, gd, mbstring, xml y zip. Todos estos módulos están disponibles en los repositorios del sistema, por lo que instalarlos será sencillo.
Previamente actualizaremos las listas de paquetes de los repositorios:
~$ sudo apt update
En el caso de usar la versión de PHP nativa de Debian 10 Buster (la incluida con la distribución), podemos instalar los módulos con apt del siguiente modo:
~$ sudo apt -y install php-bcmath php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip
Pero como WordPress recomienda el uso de la versión 7.4 como mínimo, si tienes instalada esta o alguna superior desde un repositorio alternativo habrá que indicar el número de versión en el nombre de los paquetes. Por ejemplo, para la citada versión 7.4:
~$ sudo apt -y install php7.4-bcmath php7.4-curl php7.4-gd php7.4-imagick php7.4-intl php7.4-mbstring php7.4-xml php7.4-zip
Y si se trata de la versión 8.3:
~$ sudo apt install -y php8.3-bcmath php8.3-curl php8.3-imagick php8.3-gd php8.3-imagick php8.3-intl php8.3-mbstring php8.3-xml php8.3-zip
Para futuras versiones sustituye en el comando anterior la partícula phpX.Y- por lo que corresponda.
Descargados e instalados los paquetes (junto a sus dependencias) será necesario recargar la configuración del servicio web si PHP funciona como módulo, o el servicio PHP si funciona como FastCGI. En este ejemplo PHP es un módulo de Apache, así que recargamos la configuración de este:
~$ sudo systemctl reload apache2
IMPORTANTE: Si alguna vez al instalar un plugin de WordPress se requiere la presencia de algún módulo concreto de PHP, deberás hacer este mismo proceso, es decir, instalar el módulo con apt y recargar la configuración.
Ya tenemos todo listo para comenzar con la instalación vía web.
Preparación del servidor web
En este tutorial estamos usando Apache como servidor web y hemos decidido instalar WordPress como parte de la página por defecto de Debian 10. WordPress hace uso del módulo Rewrite de Apache a través de un archivo .htaccess en la carpeta de instalación. Esto tiene dos implicaciones del servidor web: por un lado debería cargar el módulo Rewrite y por otro permitir la configuración en tiempo de ejecución a través de archivos .htaccess.
Cargaremos el módulo Rewrite de Apache con el comando a2enmod:
~$ sudo a2enmod rewrite
El uso de archivos .htaccess no está permitido en la carpeta de instalación actual de WordPress, porque cuelga de la ruta /var/www/. Esta ruta, en el archivo de configuración de Apache, tiene desactivado expresamente el uso de archivos .htaccess, para sí y para su contenido.
Lo que haremos será configurar específicamente la ruta /var/www/html/wordpress/ para que sí permita el uso de archivos .htaccess. Editamos un nuevo archivo de configuración adicional de Apache:
~$ sudo nano /etc/apache2/conf-available/wordpress.conf
El contenido será este bloque Directory:
<Directory /var/www/html/wordpress> AllowOverride all </Directory>
Al otorgar un valor all a la directiva AllowOverride permitimos el uso de archivos .htaccess en el directorio /var/www/html/wordpress/ y sus subdirectorios, sin modificar la configuración de /var/www/ o /var/www/html/.
Guardados los cambios, activamos la nueva configuración:
~$ sudo a2enconf wordpress
En el caso de configurar un servidor virtual para WordPress, deberías seguir un procedimiento similar con el directorio de instalación de WordPress, pero en este caso en el propio archivo de configuración del servidor virtual.
Reiniciamos el servidor web para que cargue las nuevas configuraciones:
~$ sudo systemctl restart apache2
Cómo instalar WordPress en Debian 10 vía web
Con todos los requisitos necesarios preparados es hora de iniciar la instalación vía web. Para ello usaremos un navegador indicando como URL la dirección IP, nombre de máquina o dominio del servidor Debian añadiendo la ruta /wordpress.
En este ejemplo, la máquina Debian 10 es accesible a través del nombre de dominio debian10.local.lan, por lo que http://debian10.local.lan/wordpress será la URL que utilicemos:
Inmediatamente accedemos al instalador web de WordPress. Para empezar el proceso pulsaremos el botón «¡Vamos a ello!«.
Tendremos que proporcionar todos los datos de conexión al servidor de bases de datos, indicando la base, el usuario y la contraseña que hemos creado anteriormente:
El servidor y el prefijo se dejan por defecto (el prefijo lo podrías cambiar, si tienes algún motivo).
Al enviar toda esta información, el instalador comprueba la conectividad con el servidor de base de datos:
Y todo debería ir bien si seguiste correctamente los pasos previos. Es el momento de que WordPress comience a instalarse, pulsando «Ejecutar la instalación«.
Enseguida se nos pedirán otros datos, en esta ocasión información sobre el nuevo sitio de WordPress que estamos instalando:
Tendremos que facilitar:
- El título del nuevo sitio web.
- El nombre de nuestro usuario administrador del sitio WordPress.
- La contraseña para este usuario.
- La dirección de correo-e que WordPress debe utilizar para enviar cierta información cuando sea necesario.
- Si queremos permitir que el nuevo sitio se indexe o no en los buscadores.
Tras rellenar este formulario, pulsamos «Instalar WordPress» y en unos instantes la instalación habrá terminado:
Se nos recuerda que debemos usar el usuario y la contraseña que acabamos de crear para manejar WordPress, así que podemos pulsar «Acceder» para iniciar sesión:
Introducimos las credenciales y pulsamos «Acceder«, con lo que entraremos directamente en el Escritorio de WordPress, donde ya podemos empezar a trabajar.
Conclusión
Ya sabes cómo instalar WordPress en Debian 10 paso a paso. Ante ti tienes el CMS más usado en Internet, listo para ser personalizado con temas, complementos y toda clase de contenido. Sólo tu creatividad será el límite de lo que puedes ofrecer con WordPress.
Si tienes alguna duda, pregunta, sugerencia o notificación de error, puedes dejarme un comentario.
Y si esta pequeña guía de WordPress en Debian 10 te ha ahorrado quebraderos de cabeza y quieres agradecérmelo, puedes hacerlo dejando una propina de 1 $ con la calderilla de PayPal que nunca usas:
¡Gracias!
Actualizado a la versión 6.5.3.
Actualizado a la versión 6.0.
Actualizado a la versión 5.9.2.
¡¡Hola, Chacho!!
Es de no creer esta castaña de WP. No puedo entender cómo hay tanto adicto. Me he pasado dos o tres días hasta darle con el martillo a este clavo. Y gracias a tu sitio, porque el soporte de la WP.org duerme… Tuve que lanzar otra instancia de Debian porque por alguna razón (está en la nube de AWS… 🙁 ) se me pisaba algo que no dejaba ejecutar bien el PHP 7.4. No había errores de Apache ni nada del webserver en sí, el tail -f no tiró un solo error. Todo cambió cuando con el Debian 10 limpio le corrí el PHP 7.3 del repositorio oficial. Aunque te comento que si a esta chapuza de WP lo tratas de instalar con el wizard que te pide los datos de la DB no funciona bien tampoco. Me daba errores de conexión con la base de datos, y se resolvieron después de un par de nuevas instalaciones poniendo el wp-config.php a mano y con los datos de la db. Así salió sin problemas. Y ahora puedo editar y publicar etc.
Gracias por tu ayuda y muy completos tutos. De verdad sé que es un currito denso estar actualizando y no perdiendo detalles, pero lo haces como un campeón.
Un gusto, saludos cordiales.
¡Estupendo, Ricardo! No he probado nunca AWS, yo suelo trabajar con Digital Ocean y configurar LAMP con cualquier versión de PHP es tan sencillo como hacerlo sobre una máquina virtual en casa (tal como desarrollo en los correspondientes tutoriales). Puede ser problemático instalar una versión de PHP alternativa cuando ya está instalada la nativa de Debian 10, porque hay que desactivar previamente el módulo que tiene cargado el servicio web para poder activar el nuevo módulo. En lo que se refiere a WordPress, con el sistema preparado, se instala en menos de dos minutos sobre Debian 10, y está bastante bien para crear contenido de forma rápida, sobre todo si no se tienen conocimientos de programación y diseño web.
¡¡Hola, eres un campeón!! 💪
¿¿Sabes los sitios de copy-paste que me he fumado?? 🤦
¡¡Tus explicaciones y detalles son únicos!!!
¡¡Y me darás ayuda seguro!!
Cuando quiero editar con el block de WP no me actualiza, ni cambia a borrador, ni publica, ni hace review (queda cargando y nada…)
Ya van como cinco WP que instalo y crei que era un problema de la API REST pero ya no… No puede ser que con una Mariadb nueva (aunque con el mismo user y con privilegios all y grant) no corra ese editor… ¿¿Qué demonios puede ser?? Supongo que algo en el servidor Debian 10, aunque tiene todo actualizado y está con el LAMP completo, el firewall desactivado…
¿¿Se te ocurre algo?? Gracias, confío en que aquí lo resuelvo 👏👏👏
¡Hola, Ricardo! Yo miraría el registro del servicio web tras realizar la operación, cuando WordPress se queda «colgado», seguramente arroje alguna pista. Te sugiero usar «tail -f» en una segunda consola para vigilar el registro.
Por cierto, aquí de copiar y pegar nada de nada, sabré yo el curro que me cuesta redactar y actualizar…
Hola, buenas, ¿cómo hago para que en vez de dominio.com/wordpress/ sea solo dominio.com?
Sobre la instalación de WordPress en tu máquina Debian 10 haz lo siguiente:
Hola. En mi caso para el tema de las actualizaciones, ¿cómo hago? Mi acceso a Internet es a través de un proxy.
Ya tengo el WordPress instalado y funcionando.
Saludos.
Hola, Yoe. Si no has tenido problemas para seguir el tutorial, no creo que los tengas con las actualizaciones de WordPress desde tu máquina Debian 10. De hecho, si puedes instalar algún tema o plugin entonces las actualizaciones funcionarán correctamente.
Vale, OK, fallo mío. Juraría que tenía todo bien hilado pero acabo de arreglarlo con el tema permisos como indicaste. ¡Gracias!
¡Te lo dije! ¡De nada!
Muy buena guía pero tengo un problema. Iba a instalar un tema pero me pide usuario y pass de FTP y hostname. Juraría que hice todos los pasos tal cual lo ponías ahí, por lo que entiendo que no me tendría que pedir nada de esto. Si me pudieras ayudar te lo agradezco.
Hola, Raúl. Parece un tema de permisos. Revisa que has aplicado correctamente el cambio de usuario y grupo de los directorios y archivos de WordPress.
¡Gracias! Le echaré un ojo aunque por ahora no he encontrado que falten permisos. De todas formas de inicio hasta que ya lo arregle me he ido a la opción rápida: Descargué un tema y lo puse en la carpeta y ya está. Cutre pero efectivo.
¡Hola! Sabes que tengo un problema, al intentar abrir WordPress desde el navegador para instalarlo me abre una página en blanco y no abre WordPress. La página por defecto de Apache la veo bien. ¿Sabes por qué puede ser?
¡Hola! Casi seguro se trata de un problema de la configuración de la pila LAMP. Te recomendaría echar un vistazo a nuestra guía de instalación de la pila LAMP en Debian 10 Buster y la guía de instalación de PHP en Debian 10 Buster. Consulta el registro de errores del servicio web y/o activa la impresión de mensajes de error de PHP en el navegador (tal como se indica en las guías anteriores). La guía está actualizada y permite la instalación de WordPress en un sistema Debian 10 Buster desde cero sin ningún problema (como acabo de confirmar al actualizarla con la última versión de WordPress).
¿Tienes un DNS dinàmico… o pagas tu hosting?
Este sitio está alojado en un servicio de VPS y los dominios están registrados con Namecheap.
Es la primera vez que me funciona correctamente en Debian… tengo el Buster… ¡¡¡Eres el mejor!!!
¡Hola, Víctor! Sólo hacemos lo que podemos.
¿Con PostgreSQL cambia el proceso?
Hasta donde yo sé, WordPress sólo trabaja con MariaDB/MySQL. En cierta ocasión leí algo sobre que terceros habían desarrollado un módulo capaz de hacer trabajar sobre PostgreSQL pero era inestable y provocaba toda clase de problemas con actualizaciones, plugins, etc.