====== WORDPRESS ======
Présentation d'installation d'un service WordPress sur //debian// 9.\\
Dans cette présentation, nous allons configurer un site https://cms.sleto.net.\\
Nous utiliserons les variables //DBNAME//, //DBUSER// et //DBPASSWD// respectivement pour le nom, l'utilisateur et le mot de passe de base de données.\\
====== Dépendances ======
Utilise [[PHP 7.3]] via fpm ainsi qu'un [[Serveur web sécurisé (Nginx / Let's Encrypt)]].\\
Nécessite également les outils :
sudo apt-get install -y mariadb-server
Installer l'outil "wp-cli":
rm -f /tmp/wp-cli.phar
curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -o /tmp/wp-cli.phar
chmod +x /tmp/wp-cli.phar
rm -f /usr/local/bin/wp
mv /tmp/wp-cli.phar /usr/local/bin/wp
Vous devrez également ajouter le domaine __cms.sleto.net__ dans le [[Serveur DNS (bind9)]]
===== Base de données =====
Vérifier que la Base de donnée cible n'existe pas mais créer l'utilisateur dessus.
mysqladmin -u root -f drop $DBNAME
mysql -u root -D mysql -e "GRANT all ON $DBNAME.* TO $DBUSER@\'localhost\' IDENTIFIED BY '$DBPASSWD'"
mysql -u root -D mysql -e "GRANT all ON $DBNAME.* TO $DBUSER@\'127.0.0.1\' IDENTIFIED BY '$DBPASSWD'"
===== Installation =====
Installer WordPress dans "/var/www/cmd":
mkdir /var/www/cms
cd /var/www/cms
wp core download --force --allow-root
wp core config --dbname=$DBNAME --dbuser=$DBUSER --dbpass=$DBPASSWD --allow-root
wp db create --allow-root
wp core install --url=https://cms.sleto.net --title="Mon WordPress" --admin_user=admin --admin_password=xxxxx --admin_email=wordpress@sleto.net --allow-root
wp theme install twentyeleven --activate --allow-root
wp language core install fr_FR --activate --allow-root
wp language theme install twentyeleven fr_FR --allow-root
L'outil "wp" est assez puissant et permet de remplir entièrement un WordPress en ligne de commande.\\ Rendez vous sur [[https://wp-cli.org/fr/|le site officiel]] pour en savoir plus.
===== Configuration =====
Créer également un fichier pour nginx "nginx-cms":
# Configuration du server
server {
listen 80;
server_name cms.sleto.net;
return 301 https://cms.sleto.net/;
}
server {
listen 443 ssl;
server_name cms.sleto.net;
include /opt/ssl/cms.sleto.net.conf;
charset utf-8;
access_log /var/log/nginx/cms.sleto.net.access.log;
error_log /var/log/nginx/cms.sleto.net.error.log;
root /var/www/cms/;
client_max_body_size 100M;
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/xml application/json application/pdf;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
location / {
index index.php index.html;
try_files $uri $uri/ @cms;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
}
location @cms {
rewrite /(.*)$ /index.php?/$1 last;
}
}
Notons que ///opt/ssl/cms.sleto.net.conf// contiendra les informations relatives aux clefs privé et public HTTPS/SSL (voir [[Serveur web sécurisé (Nginx / Let's Encrypt)]]).
Activer la configuration web par:
ln -sf /var/www/cms/nginx-cms /etc/nginx/sites-enabled
===== Rechargement =====
Pour rafraîchir les services nginx
service nginx restart
===== Mise à jour =====
Pour réaliser une mise à jour:
cd /var/www/cms
wp core update
wp theme update --all
wp plugin update --all