Wordpress es uno de los mejores sistemas de administración de contenido (CMS) de código abierto basado en PHP y MYSQL, es el sistema de blogs más popular utilizado por más del 23% de los 10 millones de sitios web principales. WordPress está instalado en más de 60 millones de sitios web. Hay muchos temas y complementos listos para usar disponibles para WordPress. Puede usar WordPress como su plataforma de blogs, como sitio de comercio electrónico (con WooCommerce) o como sistema CMS para el sitio web de su empresa. La primera versión de Wordpress fue lanzada el 27 de mayo de 2003 por Matt Mullenweg y Mike Little bajo licencia GPLv2.
WP‑CLI es un conjunto de herramientas de línea de comandos para proporcionar una interfaz de línea de comandos para administrar su sitio de WordPress. Desde cero hasta Hero, puede usarlo para crear su sitio de WordPress, administrar la base de datos de WP, modificar la descripción del sitio, instalar y administrar temas y complementos, etc. Esto es algo muy bueno que puede ahorrarle mucho tiempo. Puede actualizar complementos, configurar instalaciones multisitio y mucho más sin tener que iniciar sesión en WordPress en un navegador web, puede hacerlo todo desde el terminal shell/SSH.
Requisitos
- Usaré Ubuntu 15.10 aquí, pero los mismos pasos también deberían ser compatibles con Debian 8.
- Privilegios de raíz
¿Qué se cubre en este tutorial?
- Instalación y configuración de un servidor básico LEMP (Linux, Nginx, MySQL, PHP).
- Instalación de WP-CLI
- Instalar Wordpress con WP-CLI
- Comandos de WP-CLI explicados
Instalación y Configuración de un Servidor LEMP (Linux, Nginx, MySQL, PHP)
En este tutorial, usaré Nginx como servidor web, MySQL como sistema de base de datos y PHP-FPM para ejecutar WordPress. Nginx es uno de los servidores web más rápidos, proporciona un alto rendimiento con un bajo uso de memoria.
Entonces, comencemos, primero instale todos los paquetes con un comando "apt-get":
sudo apt-get install nginx mysql-server mysql-client php5 php5-fpm php5-mysql vim
NOTA : Se le pedirá la contraseña de MySQL , ingrese una contraseña segura para el usuario root de MySQL y recuerde esa contraseña, la necesitaremos más tarde
Ahora edite el archivo php.ini en el directorio "/etc/php5/fpm/".
cd /etc/php5/fpm/
sudo vim php.ini
Descomente la línea 773 "cgi.fix_pathinfo" y cambie el valor a 0 :
cgi.fix_pathinfo=0
Guardar y salir.
Ahora configure Nginx para usar PHP-FPM, vaya al directorio "/etc/nginx/sites-available/" y cree un nuevo archivo para la configuración del host virtual.
cd /etc/nginx/sites-available/
sudo vim wpcli.co
Pegue la configuración a continuación:
server { listen 80;
#Web Directory
root /home/vagrant/wordpress; index index.php index.html index.htm index.nginx-debian.html; server_name wpcli.co; location / { try_files $uri $uri/ =404; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; } #include h5bp/basic.conf; location ~ /\.ht { deny all; } }
Reemplace "wpcli.co" en la configuración de server_name con el nombre de dominio que utilizará su instalación de WordPress.
Ahora active el virtualhost creando un enlace simbólico al archivo wpcli.co en el directorio "/etc/nginx/sites-enabled/" :
sudo ln -s /etc/nginx/sites-available/wpcli.co /etc/nginx/sites-enabled/wpcli.co
Luego crea un nuevo directorio con el nombre "/home/vagrant/wordpress/" y cree un nuevo archivo para probar la instalación de PHP con phpinfo(). Usaré un usuario llamado "vagrant" aquí, por lo que "cd ~" es lo mismo que "cd /home/vagrant":
cd ~
mkdir -p /home/vagrant/wordpress
echo "<?php phpinfo(); ?>" > wordpress/index.php
Reinicie el servidor web nginx y php-fpm:
sudo service nginx restart
sudo service php5-fpm restart
Pruebe la instalación de PHP y Nginx visitando el sitio "http://wpcli.co/ " en un navegador. Reemplace wpcli.co con el nombre de dominio de su sitio web/servidor.
Instalar WP-CLI
Para instalar wp-cli, debe descargar el archivo .phar (.phar es un formato de archivo PHP similar a .jar para java) de GitHub con curl o wget comando, usaré curl aquí:
cd /tmp
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Haga que el archivo wp-cli.phar sea ejecutable:
chmod +x wp-cli.phar
Y muévelo a la papelera directorio, el comando cambia el nombre de wp-cli.phar a "wp" para un uso más fácil:
sudo mv wp-cli.phar /usr/local/bin/wp
Ahora prueba wp-cli con el comando:
wp --info
Puedes ver aquí que estoy usando PHP 5.6 y WP-CLI 0.20 .
Comandos básicos de WP-CLI
Hasta este paso tenemos:
- Una instalación de LEMP (Nginx, MySQL y PHP) en ejecución.
- Un VirtualHost con dominio wpcli.co (o el nombre de dominio que haya elegido para su sitio).
- Un directorio web en "/home/vagrant/wordpress/".
- El comando WP-CLI instalado.
Ahora instalaremos WordPress con el dominio "wpcli.co " en el directorio "/home/vagrant/wordpress/ ". Haremos esto con WP-CLI .
1. Instalar Wordpress y configurar la base de datos
Vaya al directorio web:
cd /home/vagrant/wordpress/
Descargue WordPress usando wp-cli, puede descargar una versión diferente de WordPress, usaré la versión 4.3.1 aquí:
wp core download --version=4.3.1
Si desea utilizar una versión diferente, simplemente cambie el número de versión.
A continuación, cree la base de datos para WordPress a través del shell MySQL, conéctese al servidor MySQL con:
sudo mysql -u root -p
ENTER YOUR PASSWORD
Una vez que haya iniciado sesión en MySQL, cree un nuevo usuario y base de datos:
create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q
He creado una nueva base de datos con el nombre "wordpressdb" , un nuevo usuario "iamuser" y he otorgado acceso al usuario a la base de datos.
La base de datos ha sido creada, ahora crearé un "wp-config.php " archivo con las credenciales de la base de datos del usuario de MySQL que agregamos anteriormente.
wp core config --dbname=wordpressdb --dbuser=iamuser [email protected]
Cuando vea esta línea, el archivo se ha creado correctamente.
Success: Generated wp-config.php file.
Las opciones explicadas:
- --dbname =Nombre de la base de datos
- --dbuser =Usuario que concedió a la base de datos
- --dbpass =Contraseña de la base de datos
Ahora, si "cat" el archivo wp-config.php , verá la configuración de la base de datos allí.
Ahora es el momento de instalar WordPress con el comando "wp core install ", el comando requiere estos parámetros:
- --url:Su nombre de dominio. wpcli.co
- --title:Título de su sitio.
- --admin_user:nombre de usuario administrador que utiliza para iniciar sesión en WordPress.
- --admin_password:contraseña para el usuario administrador
- --admin_email:Su dirección de correo electrónico para ser notificado de cualquier problema relacionado con el sitio.
Hagámoslo:
wp core install --url=wpcli.co --title=WP-CLI\ \Tutorials --admin_user=admin --admin_password=aqwe123 [email protected]
El comando da como resultado:
Success: WordPress installed successfully.
Ahora visite su nombre de dominio:wpcli.co con el navegador web de nuevo.
(Si desea probar el administrador, vaya a wpcli.co/wp-login.php en su lugar) .
NOTA:
Si recibe un mensaje de error como "sh:1:/usr/sbin/sendmail:no encontrado" , instale "sendmail" con este comando apt:
sudo apt-get install sendmail
2. Administrar temas de Wordpress con WP-CLI
Busque temas de WordPress disponibles:
wp theme search KEYWORD-THEME
Instale un tema de WordPress, en este caso, el tema con el nombre "MyKnowledgeBase":
wp theme install MyKnowledgeBase
Una vez que el tema esté instalado, activar es:
wp theme activate myknowledgebase
Gestiona una lista de todos los temas instalados:
wp theme list
3. Administre los complementos de Wordpress con WP-CLI
Buscar complementos:
wp plugin search KEYWORD
Instale un complemento:
wp plugin install PLUGINNAME
Activar complementos:
wp plugin activate PLUGINNAME
Ver todos los complementos instalados:
wp plugin list
Obtenga el estado de los complementos, Activo o Inactivo:
wp plugin status
4. Administrar la base de datos de WordPress
Conéctese al shell de MySQL utilizando las credenciales de WordPress:
wp db cli
Mostrar todas las tablas en la base de datos de wordpress:
wp db tables
Exporte la base de datos de WordPress a un archivo .sql. Esto es muy útil para las copias de seguridad:
wp db export databasename.sql
Importar una base de datos de WordPress:
wp db import databasename.sql
Ejecute una consulta MySQL con el usuario MySQL de WordPress:
wp db query "MySQL Query"
5. Otros comandos
WP-CLI tiene muchos más comandos y opciones, puedes usar "wp --help" para ver todos los comandos. Hay comandos para administrar usuarios de WordPress, roles de usuario, publicaciones, el menú, widgets, etc.
Conclusión
Wordpress es un CMS popular y una plataforma de blogs utilizada en millones de sitios web. Hay muchos complementos y temas de WordPress gratuitos y comerciales disponibles. WP-CLI es un conjunto de comandos para administrar su sitio de WordPress, es muy útil y fácil de usar. Puede crear y administrar su sitio de WordPress directamente en el shell sin tener que iniciar sesión en WordPress en el navegador.