====== 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