====== JOOMLA! ====== 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.\\ ====== 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 "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)]] ===== 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 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 [[https://www.joomlatools.com/developer/tools/console/commands|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