apt update
apt upgrade -y
apt install nginx mariadb-server mariadb-client php-fpm php-mysql php-zip php-curl php-intl php-xml php-gd php-mbstring php-json wget unzip -y
sed -i 's/output_buffering = 4096/output_buffering = Off/' /etc/php/8.4/fpm/php.ini
systemctl reload php8.2-fpm
systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb
mariadb-secure-installation
Répondre ainsi :
mysqladmin -uroot create joomladb
mysql -uroot -e"GRANT ALL ON joomladb.* TO admin@localhost IDENTIFIED BY 'P@ssw0rd'"
Supprimer la page par défaut de Nginx :
rm /var/www/html/index.nginx-debian.html
Télécharger Joomla :
cd /tmp
wget -O joomla.zip 'https://downloads.joomla.org/fr/cms/joomla5/5-3-4/Joomla_5-3-4-Stable-Full_Package.zip?format=zip'
unzip joomla.zip -d /var/www/html/
rm joomla.zip
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
Renommer l'ancien fichier et créer le nouveau :
mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.BAK
nano /etc/nginx/sites-available/default
Ajouter ceci au fichier :
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
}
location ~* \.(ini|xml|sql)$ {
deny all;
}
error_log /var/log/nginx/joomla_error.log;
access_log /var/log/nginx/joomla_access.log;
}
Recharger Nginx :
systemctl reload nginx
Accéder à Joomla via navigateur web :
http://IP-SERVEUR
apt install openssl
mkdir /etc/nginx/tls
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/nginx/tls/joomla.key \
-out /etc/nginx/tls/joomla.crt
chmod 600 /etc/nginx/tls/joomla.key
Modifier /etc/nginx/sites-available/default :
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
root /var/www/html;
index index.php index.html index.htm;
ssl_certificate /etc/nginx/tls/joomla.crt;
ssl_certificate_key /etc/nginx/tls/joomla.key;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
}
location ~* \.(ini|xml|sql)$ {
deny all;
}
error_log /var/log/nginx/joomla_error.log;
access_log /var/log/nginx/joomla_access.log;
}
Recharger Nginx pour activer HTTPS :
systemctl reload nginx