Présentation d'installation d'un service Joomla! 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 “joomlatools console”:
curl https://getcomposer.org/installer -o /tmp/composer-setup.php php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer rm -rf ~/.composer composer global require joomlatools/console export PATH="$PATH:~/.composer/vendor/bin:~/.config/composer/vendor/bin" joomla --version
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 Joomla dans “/var/www/cms”:
rmdir -rf /var/www/cms cd /var/www joomla site:download --www=/var/www cms joomla site:install --www=/var/www cms -L $DBUSER:$DBPASSWD --mysql-database=$DBNAME --sample-data=default cms
L'outil “joomlatools console” peut permettre pas mal de configuration 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