Wordpress è uno dei migliori sistemi di gestione dei contenuti (CMS) open source basati su PHP e MYSQL, è il sistema di blogging più popolare utilizzato da oltre il 23% dei primi 10 milioni di siti Web. WordPress è installato su oltre 60 milioni di siti web. Ci sono molti temi e plugin pronti per l'uso disponibili per WordPress. Puoi utilizzare WordPress come piattaforma di blogging, come sito di e-commerce (con WooCommerce) o come sistema CMS per il tuo sito web aziendale. La prima versione di Wordpress è stata rilasciata il 27 maggio 2003 da Matt Mullenweg e Mike Little con licenza GPLv2.
WP-CLI è un insieme di strumenti a riga di comando per fornire un'interfaccia a riga di comando per gestire il tuo sito WordPress. Da zero a Hero, puoi usarlo per creare il tuo sito WordPress, gestire il database WP, modificare la descrizione del sito, installare e gestire temi e plugin ecc. Questa è roba molto interessante che può farti risparmiare un sacco di tempo. Puoi aggiornare plugin, configurare installazioni multisito e molto altro senza dover accedere a WordPress in un browser web, puoi fare tutto dal terminale della shell/SSH.
Prerequisiti
- Utilizzerò Ubuntu 15.10 qui, ma gli stessi passaggi dovrebbero essere compatibili anche con Debian 8.
- Privilegi di root
Che cosa è trattato in questo tutorial?
- Installazione e configurazione di un server LEMP di base (Linux, Nginx, MySQL, PHP).
- Installazione di WP-CLI
- Installa Wordpress con WP-CLI
- Spiegazione dei comandi WP-CLI
Installazione e configurazione di un server LEMP (Linux, Nginx, MySQL, PHP)
In questo tutorial, utilizzerò Nginx come server web, MySQL come sistema di database e PHP-FPM per eseguire WordPress. Nginx è uno dei server Web più veloci, fornisce prestazioni elevate con un utilizzo ridotto della memoria.
Quindi iniziamo, prima installa tutti i pacchetti con un comando "apt-get":
sudo apt-get install nginx mysql-server mysql-client php5 php5-fpm php5-mysql vim
NOTA : Ti verrà richiesta la password MySQL , inserisci una password sicura per l'utente root MySQL e ricorda quella password, ci servirà di nuovo in seguito
Ora modifica il file php.ini nella directory "/etc/php5/fpm/".
cd /etc/php5/fpm/
sudo vim php.ini
Si prega di decommentare sulla riga 773 "cgi.fix_pathinfo" e cambia il valore in 0 :
cgi.fix_pathinfo=0
Salva ed esci.
Ora configura Nginx per utilizzare PHP-FPM, vai nella directory "/etc/nginx/sites-available/" e crea un nuovo file per la configurazione dell'host virtuale.
cd /etc/nginx/sites-available/
sudo vim wpcli.co
Incolla la configurazione di seguito:
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; } }
Sostituisci "wpcli.co" nell'impostazione server_name con il nome di dominio che utilizzerà l'installazione di WordPress.
Ora attiva l'host virtuale creando un collegamento simbolico al file wpcli.co nella directory "/etc/nginx/sites-enabled/" :
sudo ln -s /etc/nginx/sites-available/wpcli.co /etc/nginx/sites-enabled/wpcli.co
Quindi crea una nuova directory con il nome "/home/vagrant/wordpress/" e crea un nuovo file per testare l'installazione di PHP con phpinfo(). Userò un utente chiamato "vagrant" qui, quindi "cd ~" è uguale a "cd /home/vagrant":
cd ~
mkdir -p /home/vagrant/wordpress
echo "<?php phpinfo(); ?>" > wordpress/index.php
Riavvia il server web nginx e php-fpm:
sudo service nginx restart
sudo service php5-fpm restart
Testare l'installazione di PHP e Nginx visitando il sito "http://wpcli.co/ " in un browser. Sostituisci wpcli.co con il nome di dominio del tuo sito web/server.
Installa WP-CLI
Per installare wp-cli, devi scaricare il file .phar (.phar è un formato di archivio PHP simile a .jar per java) da GitHub con il curl o wget comando, userò curl qui:
cd /tmp
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Rendi eseguibile il file wp-cli.phar:
chmod +x wp-cli.phar
E spostalo nel cestino directory, il comando rinomina wp-cli.phar in "wp" per un utilizzo più semplice:
sudo mv wp-cli.phar /usr/local/bin/wp
Ora prova il wp-cli con il comando:
wp --info
Puoi vedere qui che sto utilizzando PHP 5.6 e WP-CLI 0.20 .
Comandi di base di WP-CLI
Fino a questo passaggio abbiamo:
- Un'installazione LEMP (Nginx, MySQL e PHP) in esecuzione.
- Un VirtualHost con dominio wpcli.co (o il nome di dominio che hai scelto per il tuo sito).
- Una directory Web in "/home/vagrant/wordpress/".
- Il comando WP-CLI installato.
Ora installeremo WordPress con il dominio "wpcli.co " nella directory "/home/vagrant/wordpress/ ". Lo faremo con WP-CLI .
1. Installa Wordpress e configura il database
Per favore vai alla directory web:
cd /home/vagrant/wordpress/
Scarica WordPress usando wp-cli, puoi scaricare una versione diversa di WordPress, io userò la versione 4.3.1 qui:
wp core download --version=4.3.1
Se desideri utilizzare una versione diversa, cambia semplicemente il numero di versione.
Quindi, crea il database per WordPress tramite la shell MySQL, connettiti al server MySQL con:
sudo mysql -u root -p
ENTER YOUR PASSWORD
Dopo aver effettuato l'accesso a MySQL, crea un nuovo utente e database:
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
Ho creato un nuovo database con il nome "wordpressdb" , un nuovo utente "iamuser" e ho concesso all'utente l'accesso al database.
Il database è stato creato, ora creerò un file "wp-config.php " file con le credenziali del database dell'utente MySQL che abbiamo aggiunto sopra.
wp core config --dbname=wordpressdb --dbuser=iamuser [email protected]
Quando vedi questa riga, il file è stato creato correttamente.
Success: Generated wp-config.php file.
Le opzioni spiegate:
- --dbname =Nome database
- --dbuser =Utente che ha concesso la licenza al database
- --dbpass =Password del database
Ora, se "cat" il file wp-config.php, vedrai la configurazione del database lì.
Ora è il momento di installare WordPress con il comando "wp core install ", il comando richiede questi parametri:
- --url:il tuo nome di dominio. wpcli.co
- --title:titolo del tuo sito.
- --admin_user:nome utente amministratore che utilizzi per accedere a WordPress.
- --admin_password:password per utente amministratore
- --admin_email:il tuo indirizzo email per farti notare per qualsiasi problema relativo al sito.
Facciamolo:
wp core install --url=wpcli.co --title=WP-CLI\ \Tutorials --admin_user=admin --admin_password=aqwe123 [email protected]
Il comando risulta in:
Success: WordPress installed successfully.
Ora visita il tuo nome di dominio:wpcli.co di nuovo con il browser web.
(Se vuoi testare l'amministratore, vai su wpcli.co/wp-login.php invece) .
NOTA:
Se ricevi un messaggio di errore come "sh:1:/usr/sbin/sendmail:not found" , installa "sendmail" con questo comando apt:
sudo apt-get install sendmail
2. Gestire i temi di Wordpress con WP-CLI
Cerca i temi WordPress disponibili:
wp theme search KEYWORD-THEME
Installa un tema WordPress, in questo caso il tema con il nome "MyKnowledgeBase":
wp theme install MyKnowledgeBase
Una volta installato il tema, attiva esso:
wp theme activate myknowledgebase
Ottieni un elenco di tutti i temi installati:
wp theme list
3. Gestisci i plugin di Wordpress con WP-CLI
Cerca plugin:
wp plugin search KEYWORD
Installa un plugin:
wp plugin install PLUGINNAME
Attiva un plugin:
wp plugin activate PLUGINNAME
Vedi tutti i plugin installati:
wp plugin list
Ottieni lo stato dei plugin, Attivo o Inattivo:
wp plugin status
4. Gestisci il database di WordPress
Connettiti alla shell MySQL utilizzando le credenziali di WordPress:
wp db cli
Mostra tutte le tabelle nel database di wordpress:
wp db tables
Esporta il database di WordPress in un file .sql. Questo è molto utile per i backup:
wp db export databasename.sql
Importa un database WordPress:
wp db import databasename.sql
Esegui una query MySQL sotto l'utente MySQL di WordPress:
wp db query "MySQL Query"
5. Altri comandi
WP-CLI ha molti più comandi e opzioni, puoi usare "wp --help" per vedere tutti i comandi. Ci sono comandi per gestire gli utenti di WordPress, i ruoli utente, i post, il menu, i widget ecc.
Conclusione
Wordpress è un popolare CMS e piattaforma di blog utilizzato su milioni di siti Web. Sono disponibili molti plugin e temi WordPress gratuiti e commerciali. WP-CLI è un insieme di comandi per gestire il tuo sito WordPress, è molto utile e facile da usare. Puoi creare e gestire il tuo sito WordPress direttamente sulla shell senza dover accedere a WordPress nel browser.