Cómo instalar y utilizar WP-CLI en Ubuntu

WP-CLI es la herramienta de línea de comandos para interactuar y gestionar tus sitios WordPress. Con WP-CLI, puedes instalar y actualizar plugins y temas, y configurar instalaciones multisitio sin utilizar un navegador web. Es una herramienta muy útil para depurar problemas cuando la interfaz de WordPress no funciona.

Este tutorial te explicará cómo instalar WP-CLI y realizar algunas tareas básicas con él.

Requisitos

  • Un servidor que ejecute Ubuntu 22.04 o posterior.
  • Una contraseña de root configurada en tu servidor.

Cómo empezar

Antes de empezar, necesitarás actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizado tu servidor, reinícialo para aplicar los cambios.

Instalar el servidor LAMP

En primer lugar, tendrás que instalar Apache, MariaDB y PHP en tu sistema. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 mariadb-server php php-cli php-common php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-mysql -y

Una vez instalados todos los paquetes, puedes proceder a instalar WP-CLI.

Instalar WP-CLI

La herramienta WP-CLI está disponible en un archivo .phar. Puedes descargarlo con el siguiente comando:

wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Una vez descargado, mueve el archivo descargado al directorio /usr/bin:

mv wp-cli.phar /usr/bin/wpcli

A continuación, proporciona permiso de ejecución al archivo wpcli con el siguiente comando:

chmod +x /usr/bin/wpcli

A continuación, comprueba la instalación de WP-CLI con el siguiente comando:

wpcli --info

Si todo va bien, deberías obtener la siguiente salida:

Shell:	/bin/bash
PHP binary:	/usr/bin/php7.4
php.ini used:	/etc/php/7.4/cli/php.ini
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/root
WP-CLI packages dir:	
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.3.0

Activar la finalización bash

La finalización bash es una función de WP-CLI que te permite listar todos los comandos disponibles pulsando Tabulador.

Para ello, tendrás que descargar el script bash del repositorio Git:

wget https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash

A continuación, añade la ruta del script bash en el archivo .bashrc para que wp-completion se cargue automáticamente.

nano .bashrc

Añade la siguiente línea:

source /root/wp-completion.bash

Guarda y cierra el archivo y, a continuación, vuelve a cargar el perfil bash con el siguiente comando:

source ~/.bashrc

Ahora, puedes probarlo escribiendo wpcli y pulsando Tab dos veces. Deberías ver la lista de comandos disponibles con wp.

Instalar WordPress con WP-CLI

En esta sección, aprenderemos a descargar e instalar WordPress con WP-CLI.

Crear base de datos para WordPress

En primer lugar, inicia sesión en MariaDB y crea una base de datos para WordPress:

mysql -u root -p

Proporciona tu contraseña de root y luego crea una base de datos y un usuario para WordPress con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE wp;
MariaDB [(none)]> CREATE USER 'wpuser' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la base de datos de WordPress con el siguiente comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON wp.* TO 'wpuser';

A continuación, elimina los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez hecho esto, puedes pasar al siguiente paso.

Descargar e instalar WordPress

En primer lugar, cambia el directorio a raíz web de Apache y dale los permisos adecuados con el siguiente comando:

cd /var/www/html
chown -R www-data:www-data /var/www/html/

A continuación, descarga el código fuente de WordPress ejecutando WP-CLI como usuario www-data:

sudo -u www-data wp core download

Deberías ver la siguiente salida:

md5 hash verified: aea5bb5e4fd51034f67c85e6d8bc6bbf
Success: WordPress downloaded.

A continuación, genera el archivo wp-config.php con el siguiente comando:

sudo -u www-data wpcli core config --dbname='wp' --dbuser='wpuser' --dbpass='password' --dbhost='localhost' --dbprefix='wp_'

Deberías ver el siguiente resultado:

Success: Generated 'wp-config.php' file.

No olvides sustituir wpuser y password por tu usuario y contraseña de la base de datos de WordPress.

Ahora, inicia la instalación de WordPress con el siguiente comando:

sudo -u www-data wpcli core install --url='http://example.com' --title='My WordPress Blog' --admin_user='wpadmin' --admin_password='password' --admin_email='[email protected]'

Por favor, sustituye el nombre de dominio, el adminuser y la contraseña según tus necesidades.

Ahora, abre tu navegador web y escribe la URL http://example.com/wp-admin. Se te redirigirá a la página de inicio de sesión de WordPress como se muestra a continuación:

Inicio de sesión en WordPress

Introduce tu nombre de usuario y contraseña de administrador, y haz clic en el botón Iniciar sesión. Deberías ver el panel de WordPress en la siguiente página:

WordPress

Una vez hecho esto, puedes pasar al siguiente paso.

Instalar temas y plugins

Puedes instalar plugins y temas fácilmente utilizando la herramienta de línea de comandos WP-CLI.

Primero, lista todos los plugins instalados con el siguiente comando:

sudo -u www-data wpcli plugin list

Salida:

+---------+----------+--------+---------+
| name    | status   | update | version |
+---------+----------+--------+---------+
| akismet | inactive | none   | 4.1.2   |
| hello   | inactive | none   | 1.7.2   |
+---------+----------+--------+---------+

También puedes listar todos los temas instalados con el siguiente comando:

sudo -u www-data wpcli theme list

Salida:

+-----------------+----------+--------+---------+
| name            | status   | update | version |
+-----------------+----------+--------+---------+
| twentynineteen  | active   | none   | 1.4     |
| twentyseventeen | inactive | none   | 2.2     |
| twentysixteen   | inactive | none   | 2.0     |
+-----------------+----------+--------+---------+

Ahora, busca e instala el plugin «WP Super Cache» con el siguiente comando:

sudo -u www-data wpcli plugin search "WP Super Cache"

Salida:

Success: Showing 10 of 508 plugins.
+------------------------------------------------------------------+--------------------------------------+--------+
| name                                                             | slug                                 | rating |
+------------------------------------------------------------------+--------------------------------------+--------+
| WP Super Cache                                                   | wp-super-cache                       | 86     |
| Autoptimize                                                      | autoptimize                          | 94     |
| WP Fastest Cache                                                 | wp-fastest-cache                     | 96     |
| WP-Optimize – Clean, Compress, Cache.                      | wp-optimize                          | 98     |
| WP Super Cache – Clear all cache                           | wp-super-cache-clear-cache-menu      | 66     |
| WPS Hide Login                                                   | wps-hide-login                       | 98     |
| Cerber Security, Antispam & Malware Scan                     | wp-cerber                            | 98     |
| Minimal Coming Soon & Maintenance Mode – Coming Soon Builder | minimal-coming-soon-maintenance-mode | 96     |
| Hummingbird – Speed up, Cache, Optimize Your CSS and JS          | hummingbird-performance              | 96     |
| CAOS | Host Google Analytics Locally                             | host-analyticsjs-local               | 96     |
+------------------------------------------------------------------+--------------------------------------+--------+

Ahora, instala y activa el plugin wp-super-cache con el siguiente comando:

sudo -u www-data wpcli plugin install wp-super-cache
sudo -u www-data wpcli plugin activate wp-super-cache

Deberías ver la siguiente salida:

Plugin 'wp-super-cache' activated.
Success: Activated 1 of 1 plugins.

A continuación, instala y activa el tema islemag con el siguiente comando:

sudo -u www-data wpcli theme install islemag
sudo -u www-data wpcli theme activate islemag

Actualizar WordPress y plugins

Si quieres actualizar un plugin específico de WordPress, ejecuta el siguiente comando:

sudo -u www-data wpcli plugin update wp-super-cache

Si quieres actualizar tu WordPress, ejecuta los siguientes comandos:

sudo -u www-data wpcli core update
sudo -u www-data wpcli core update-db

Comando básico WP-CLI

Para comprobar la versión de tu WordPress, ejecuta el siguiente comando:

sudo -u www-data wpcli core version

Deberías ver la siguiente salida:

5.2.2

Para comprobar si hay alguna actualización disponible para WordPress, ejecuta el siguiente comando:

sudo -u www-data wpcli core check-update

Para borrar la caché de WordPress, ejecuta el siguiente comando:

sudo -u www-data wpcli cache flush

Para actualizar todos los plugins, ejecuta el siguiente comando:

sudo -u www-data wpcli plugin update --all

Para desactivar todos los plugins, ejecuta el siguiente comando:

sudo -u www-data wpcli plugin deactivate --all

También puedes ver la lista de comandos disponibles con WP-CLI utilizando el siguiente comando:

sudo -u www-data wpcli --help

Deberías ver la siguiente salida:

NAME

  wp

DESCRIPTION

  Manage WordPress through the command-line.

SYNOPSIS

  wp 

SUBCOMMANDS

  cache                 Adds, removes, fetches, and flushes the WP Object Cache object.
  cap                   Adds, removes, and lists capabilities of a user role.
  cli                   Review current WP-CLI info, check for updates, or see defined aliases.
  comment               Creates, updates, deletes, and moderates comments.
  config                Generates and reads the wp-config.php file.
  core                  Downloads, installs, updates, and manages a WordPress installation.
  cron                  Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.
  db                    Performs basic database operations using credentials stored in wp-config.php.
  embed                 Inspects oEmbed providers, clears embed cache, and more.
  eval                  Executes arbitrary PHP code.
  eval-file             Loads and executes a PHP file.
  export                Exports WordPress content to a WXR file.
  help                  Get help on WP-CLI, or on a specific command.
  i18n                  Provides internationalization tools for WordPress projects.
  import                Imports content from a given WXR file.
  language              Installs, activates, and manages language packs.
  maintenance-mode      Activates, deactivates or checks the status of the maintenance mode of a site.
  media                 Imports files as attachments, regenerates thumbnails, or lists registered image sizes.
  menu                  Lists, creates, assigns, and deletes the active theme's navigation menus.
  network               Perform network-wide operations.
  option                Retrieves and sets site options, including plugin and WordPress settings.
  package               Lists, installs, and removes WP-CLI packages.
  plugin                Manages plugins, including installs, activations, and updates.
  post                  Manages posts, content, and meta.

Conclusión

El tutorial anterior te ha enseñado a instalar WP-CLI en un servidor Debian. También has aprendido a utilizar WP-CLI para instalar y gestionar WordPress, plugins y temas. Para más información sobre el comando WP-CLI, visita la documentación de WP-CLI en WP-CLI.

También te podría gustar...