Instalar WP-CLI en Cloudlinux con CageFS

Si te gestionas tu propio servidor, y en este caso es CloudLinux, es muy probable que una de las ventajas que disfrutes es la del sistema de CageFS para enjaular a cada uno de los usuarios y que no se fastidien los sitios entre ellos.

Pero si utilizas WordPress en algunos de ellos y, por ejemeplo, quieres configurar que los crones los ejecute el servidor, te encontrarás con un pequeño problema: CageFS y WP-CLI no se llevan muy bien.

Si quieres instalarlo, deberás seguir algunos pequeños pasos, diferentes de los que habitualmente se ejecutan:

cd ~
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
chown root:nobody wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

Hasta aquí la principal diferencia con respecto al “manual” de WP-CLI es que le damos permisos de [nobody] al grupo del fichero. Con esto, más adelante, se permitirá que cualquier usuario pueda llegar a ajecutar la instalación global de WP-CLI.

El siguiente paso a realizar es el de configurar el CageFS para que pueda acceder a ejecutar WP-CLI:

vim /etc/cagefs/conf.d/wpcli.cfg

Y añadimos el siguiente contenido:

[wpcli]
comment=Permite ejecutar WP-CLI con CageFS
paths=/usr/local/bin/wp

Y una vez hayamos guardado, actualizaremos el CageFS para que se pueda ejecutar el WP-CLI.

cagefsctl --force-update

En principio, con esto, si entras por SSH en cualquier usuario (aunque tenga el jailed activado) podrá ejecutarlo… el problema viene al intentar configurar los crones… aunque para ello (sin ser la mejor opción) podemos llamarlos por ejemplo, así:

* * * * * WP_CLI_PHP=/usr/local/bin/php; SHELL=/bin/bash; /usr/local/bin/wp cron event run --due-now --path=/home/usuario/public_html/ >/dev/null 2>&1

Es posible que recibas algún mensaje de error en la ejecución, pero se ejecutan los crones, que es la situación a resolver.

Categorías WordPress

Deja un comentario