Installation CMS · 9 min read · Sep 12, 2025
Comment installer OctoberCMS sur Debian 12
October CMS est une application web écrite dans le framework web Laravel. Elle prend en charge une variété de bases de données, telles que MySQL/MariaDB, PostgreSQL et SQLite. Elle peut être exécutée sous Apache, Nginx, Lighthttpd et Microsoft IIS.
Ce guide vous guidera à travers le processus d’installation d’October CMS sur Debian 12 avec la pile LEMP (Nginx, MySQL/MariaDB et PHP-FPM), UFW et Certbot.
Prérequis
Pour procéder avec ce guide, rassemblez les éléments suivants :
- Un serveur Debian 12.
- Un utilisateur non-root avec des droits d’administrateur.
- Un nom de domaine pointant vers l’adresse IP du serveur.
Installation des dépendances
Dans cet exemple, vous allez installer October CMS sur le serveur Debian avec la pile LEMP (Nginx, MySQL/MariaDB et PHP-FPM). Donc, la première tâche que vous allez effectuer est d’installer la pile LAMP avec des dépendances supplémentaires telles qu’UFW (Uncomplicated Firewall) et Certbot.
Commencez ce guide en mettant à jour votre dépôt Debian en utilisant la commande suivante.
sudo apt updateEnsuite, installez la pile LAMP, UFW et les paquets Certbot en utilisant la commande suivante.
sudo apt install nginx mariadb-server php composer php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-intl php-bcmath php-gd php-fpm ufw certbot python3-certbot-nginxTapez Y et appuyez sur ENTRÉE pour confirmer l’installation.

Une fois l’installation terminée, vérifiez les services de la pile LEMP pour vous assurer que chaque service est en cours d’exécution et activé sur votre serveur Debian.
Si le service est en cours d’exécution, vous devriez voir une sortie active (en cours d’exécution). Lorsque le service est activé, cela confirme que le service sera exécuté automatiquement au démarrage.
Vérifiez le service Nginx en utilisant la commande suivante.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Vérifiez le service PHP-FPM en utilisant la commande ci-dessous. Dans ce cas, vous avez installé PHP-FPM 8.2 à partir du dépôt Debian.
sudo systemctl is-enabled php8.2-fpm
sudo systemctl status php8.2-fpm
Enfin, vérifiez le serveur MariaDB en utilisant la commande ci-dessous.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Configuration d’UFW
Dans ce guide, vous allez sécuriser votre serveur Debian avec UFW (Uncomplicated Firewall). Donc, dans ce cas, vous devez ouvrir des ports pour les protocoles SSH, HTTP et HTTPS.
Exécutez la commande ufw ci-dessous pour activer les profils OpenSSH et ‘Nginx Full‘ sur UFW. Le profil OpenSSH ouvrira le port SSH par défaut 22, tandis que le profil ‘Nginx Full’ ouvrira les ports 80 et 443 pour les protocoles HTTP et HTTPS.
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'Maintenant, exécutez la commande ci-dessous pour démarrer et activer UFW. Tapez y et appuyez sur ENTRÉE pour continuer.
sudo ufw enableUne fois UFW en cours d’exécution, vous devriez obtenir une sortie ‘Le pare-feu est actif et activé au démarrage du système‘.

Maintenant, exécutez la commande ci-dessous pour vérifier la liste des profils activés sur UFW.
sudo ufw statusAssurez-vous que les profils OpenSSH et ‘Nginx Full’ sont activés.

Configuration du serveur MariaDB
Après avoir configuré UFW, vous allez maintenant configurer le serveur MariaDB via l’utilitaire mariadb-secure-installation, puis vous allez créer une nouvelle base de données et un utilisateur pour October CMS via le client mariadb.
Sécurisez votre installation de serveur MariaDB en exécutant la commande suivante.
sudo mariadb-secure-installationAu cours du processus, vous serez invité avec quelques recommandations de sécurité pour le serveur MariaDB. Tapez Y pour appliquer la recommandation, ou n pour Non pour la rejeter.
- L’installation par défaut de MariaDB se fait sans mot de passe, appuyez sur ENTRÉE lorsque vous êtes invité pour le mot de passe.
- Maintenant, tapez Y pour configurer le mot de passe root de MariaDB. Ensuite, tapez le nouveau mot de passe pour MariaDB et répétez le mot de passe.
- Tapez Y pour supprimer l’utilisateur anonyme de votre installation MariaDB.
- Tapez Y à nouveau lorsque vous êtes invité à désactiver la connexion à distance pour l’utilisateur root de MariaDB.
- Tapez Y pour supprimer la base de données par défaut test de votre MariaDB.
- Enfin, tapez Y pour recharger les privilèges de table et appliquer les nouvelles modifications.
Maintenant que vous avez configuré le serveur MariaDB, tapez la commande ci-dessous pour vous connecter au serveur MariaDB et créer une nouvelle base de données et un utilisateur pour October CMS. Entrez votre mot de passe root MariaDB lorsqu’on vous le demande.
sudo mariadb -u root -pExécutez les requêtes suivantes pour créer une nouvelle base de données et un utilisateur octobercms, avec le mot de passe ‘password‘. Assurez-vous de changer le mot de passe par un nouveau mot de passe fort.
CREATE USER 'octobercms'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE octobercms;
GRANT ALL PRIVILEGES ON octobercms.* TO 'octobercms'@'localhost';
FLUSH PRIVILEGES;
Ensuite, exécutez la requête suivante pour vérifier les privilèges de l’utilisateur octobercms.
SHOW GRANTS FOR 'octobercms'@'localhost';Assurez-vous que l’utilisateur octobercms peut accéder à la base de données octobercms comme suit.

Maintenant tapez quit pour quitter le serveur MariaDB.
Installation du code source d’OctoberCMS
October CMS peut être installé de plusieurs manières, via zip ou via Composer. Dans cet exemple, vous allez installer October CMS via Composer.
Allez dans le répertoire /var/www/ et téléchargez le code source d’October CMS en utilisant la commande wget ci-dessous. Une fois téléchargé, vous verrez le fichier v3.5.0.zip.
cd /var/www/
wget https://github.com/octobercms/october/archive/refs/tags/v3.5.0.zipExtrayez le fichier v3.5.0.zip en utilisant unzip dans le répertoire octobercms. Cela signifie que votre répertoire racine web d’October CMS sera à /var/www/octobercms.
unzip v3.5.0.zip
sudo mv october-* octobercmsEnsuite, exécutez la commande suivante pour changer la propriété de /var/www/octobercms à l’utilisateur www-data et au groupe www-data. De plus, configurez les permissions pour les répertoires à 0755 et les fichiers à 0644.
sudo chown -R www-data:www-data octobercms
find /var/www/octobercms -type d -exec chmod 755 {} \;
find /var/www/octobercms -type f -exec chmod 644 {} \;Maintenant, exécutez la commande composer ci-dessous pour installer les dépendances PHP pour October CMS.
sudo -u www-data composer install
Démarrez l’installation d’October CMS en utilisant la commande suivante.
sudo -u www-data php artisan october:installAu cours du processus, vous serez invité avec les éléments suivants :
- Sélectionnez la langue par défaut comme en ou anglais.
- Entrez le nom de domaine de votre installation d’October CMS. Par exemple http://howtoforge.local/
- Entrez l’URL de backend ou le chemin admin pour October CMS. Dans ce cas, nous utiliserons octoberadmin.
- Entrez le numéro 1 pour sélectionner le moteur de base de données MySQL.
- Entrez vos détails de base de données.
- Entrez oui pour installer des données et un thème de démonstration.
- Entrez la licence gratuite d’October CMS pour continuer.
Voici la capture d’écran de l’installation d’October CMS.

Configurations du site pour October CMS.

Sortie pendant l’installation d’October CMS.

Une fois l’installation d’October CMS terminée, vous verrez la sortie suivante.

Enfin, exécutez la commande ci-dessous pour migrer la base de données.
sudo -u www-data php artisan october:migrate
Configuration du bloc serveur Nginx
Après avoir téléchargé October CMS et configuré son répertoire racine web, vous allez créer une nouvelle configuration de bloc serveur Nginx qui sera utilisée pour exécuter October CMS. Assurez-vous que vous avez votre nom de domaine prêt.
Exécutez la commande de l’éditeur nano ci-dessous pour créer un nouveau fichier /etc/nginx/sites-available/octobercms.conf.
sudo nano /etc/nginx/sites-available/octobercms.confInsérez la configuration suivante et assurez-vous de changer le nom de domaine howtoforge.local avec votre domaine.
server {
listen 80;
server_name howtoforge.local;
index index.php index.html;
root /var/www/octobercms;
location / {
# Laissez October CMS gérer tout par défaut.
# Le chemin non résolu par le routeur d'October CMS retournera la page 404 d'October CMS.
# Tout ce qui ne correspond pas à la liste blanche ci-dessous tombera dans cela.
rewrite ^/.*$ /index.php last;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_read_timeout 120s;
}
# Liste blanche
location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
# Bloquer tous les fichiers .dot sauf bien connus
location ~ /\.(?!well-known).* { deny all; }
## Laissez nginx retourner 404 si le fichier statique n'existe pas
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/app/resources { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }
}Enregistrez et fermez le fichier une fois terminé.
Ensuite, exécutez la commande ci-dessous pour activer le fichier de bloc serveur octobercms.conf et vérifier la syntaxe de Nginx.
sudo ln -s /etc/nginx/sites-available/octobercms.conf /etc/nginx/sites-enabled/
sudo nginx -tSi vous avez une syntaxe correcte, vous devriez obtenir une sortie telle que ‘la syntaxe est correcte - le test est réussi’.

Enfin, appliquez vos modifications à Nginx en redémarrant le service Nginx en utilisant la commande ci-dessous.
sudo systemctl restart nginxSécuriser OctoberCMS avec des certificats SSL/TLS
À ce stade, votre October CMS fonctionne et est accessible. Mais pour garantir que votre installation est sécurisée, vous allez mettre en œuvre HTTPS en générant des certificats SSL/TLS à partir de letsencrypt.
Exécutez la commande ci-dessous pour générer des certificats SSL/TLS pour votre installation d’October CMS. Assurez-vous de changer l’adresse e-mail et le nom de domaine avec vos informations.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.localUne fois le processus terminé, votre nom de domaine sera automatiquement configuré avec HTTPS. Et vos certificats SSL/TLS seront disponibles dans le répertoire /etc/letsencrypt/live/yourdomain.com.
Accéder à OctoberCMS
Visitez le nom de domaine de votre installation d’October CMS, par exemple, https://howtoforge.local/ en utilisant votre navigateur web préféré.
Si votre installation est réussie, vous devriez obtenir la page d’accueil par défaut d’OctoberCMS comme suit.
Cliquez sur le bouton ‘Backend Area‘ pour accéder à la page d’administration d’October CMS.

Entrez les détails du nouvel utilisateur administrateur, nom, adresse e-mail et mot de passe. Cliquez sur Créer un compte pour confirmer.

Une fois terminé, vous devriez obtenir le tableau de bord administrateur d’October CMS comme suit.

Conclusion
Félicitations ! Vous avez maintenant terminé l’installation d’October CMS sur le serveur Debian 12. Vous avez installé October CMS avec la pile LEMP (Nginx, MariaDB et PHP-FPM). Vous avez également sécurisé votre installation avec UFW (Uncomplicated Firewall) et SSL/TLS via Letsencrypt.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.