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.
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)
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'"
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 le site officiel pour en savoir plus.
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
Pour rafraîchir les services nginx
service nginx restart
Pour réaliser une mise à jour:
cd /var/www/cms wp core update wp theme update --all wp plugin update --all