Installation CraftCMS · 8 min read · Sep 26, 2025

Comment installer CraftCMS avec Apache et Let's Encrypt SSL sur Ubuntu 22.04 LTS

Craft est un système de gestion de contenu open-source, flexible et riche en fonctionnalités pour les développeurs et les auteurs de contenu. Il offre toutes les fonctionnalités de personnalisation nécessaires pour créer un site web puissant. Il vous permet de gérer le contenu de divers sites à partir d’un seul tableau de bord. C’est une solution alternative à WordPress et Drupal pour créer des expériences numériques sur mesure. Il dispose de centaines de plugins gratuits et payants vous permettant d’ajouter des fonctionnalités.

Cet article expliquera comment installer Craft CMS avec Apache et Let’s Encrypt SSL sur Ubuntu 22.04.

Prérequis

  • Un serveur exécutant Ubuntu 22.04.
  • Un nom de domaine valide pointé vers l’IP de votre serveur.
  • Un mot de passe root configuré sur le serveur.

Installer le serveur LAMP

Craft CMS fonctionne sur le serveur web, est écrit en PHP et utilise MariaDB comme backend de base de données. Vous devrez donc installer tous ces paquets sur votre serveur.

Vous pouvez exécuter la commande suivante pour installer tous ces paquets :

apt-get install apache2 mariadb-server php php-cli libapache2-mod-php php-common php-json php-curl php-gd php-imagick php-json php-mbstring php-mysql php-pgsql php-zip php-intl php-xml -y

Après avoir installé tous les paquets, éditez le fichier de configuration PHP et changez les paramètres par défaut :

nano /etc/php/8.1/php.ini

Changez les paramètres suivants :

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
max_execution_time = 360

Enregistrez et fermez le fichier, puis redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Créer une base de données pour CraftCMS

Ensuite, vous devrez créer une base de données et un utilisateur pour Fork CMS. Tout d’abord, connectez-vous à l’interface de commande MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE craftcms;
MariaDB [(none)]> GRANT ALL ON craftcms.* TO 'craftuser' IDENTIFIED BY 'password';

Ensuite, videz les privilèges et quittez l’interface de commande MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

À ce stade, la base de données MariaDB est créée pour Craft CMS. Vous pouvez maintenant passer à l’étape suivante.

Installer Craft CMS en utilisant Composer

Ensuite, vous devrez installer Composer pour télécharger la dernière version de Craft CMS. Vous pouvez l’installer en utilisant la commande suivante :

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Une fois Composer installé, naviguez vers le répertoire racine web d’Apache et créez un projet Craft CMS en utilisant la commande suivante :

cd /var/www/html
composer create-project craftcms/craft craftcms

Vous serez invité à fournir vos paramètres de base de données, nom d’utilisateur admin, mot de passe, URL du site comme indiqué ci-dessous :

Which database driver are you using? (mysql or pgsql) [mysql]
Database server name or IP address: [127.0.0.1]
Database port: [3306]
Database username: [root] craftuser
Database password:
Database name: craft
Database table prefix:
Testing database credentials ... success!
Saving database credentials to your .env file ... done

Install Craft now? (yes|no) [yes]:yes

Username: [admin] admin
Email: [email protected]
Password:
Confirm:
Site name: CraftCMS Site
Site URL: http://craftcms.example.com
Site language: [en-US]

    > add foreign key fk_rlbmgnhpxsljkaunjwnsezfrnrkhwzpthfsq: {{%widgets}} (userId) references {{%users}} (id) ... done (time: 0.035s)
    > populating the info table ... done
    > saving default site data ... done
    > saving the first user ... done
*** installed Craft successfully (time: 5.449s)

Ensuite, définissez les permissions et la propriété appropriées pour le répertoire Craft CMS :

chown -R www-data:www-data /var/www/html/craftcms/
chmod -R 755 /var/www/html/craftcms/

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurer Apache pour Craft CMS

Ensuite, vous devrez créer un fichier de configuration de l’hôte virtuel Apache pour Craft CMS. Vous pouvez le créer avec la commande suivante :

nano /etc/apache2/sites-available/craftcms.conf

Ajoutez les lignes suivantes :


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/craftcms/web
     ServerName craftcms.example.com


     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
    
     
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
    

Enregistrez et fermez le fichier, puis activez l’hôte virtuel Apache et le module de réécriture en utilisant la commande suivante :

a2ensite craftcms.conf
  a2enmod rewrite

Ensuite, redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Vous pouvez également vérifier l’état d’Apache avec la commande suivante :

systemctl status apache2

Vous obtiendrez la sortie suivante :

? apache2.service - Le serveur HTTP Apache
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-06-17 15:48:11 UTC; 31min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 37935 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
    Process: 40916 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 37939 (apache2)
      Tasks: 6 (limit: 2292)
     Memory: 53.0M
        CPU: 28.718s
     CGroup: /system.slice/apache2.service
             ??37939 /usr/sbin/apache2 -k start
             ??40920 /usr/sbin/apache2 -k start
             ??40921 /usr/sbin/apache2 -k start
             ??40922 /usr/sbin/apache2 -k start
             ??40923 /usr/sbin/apache2 -k start
             ??40924 /usr/sbin/apache2 -k start

Jun 17 15:48:11 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

Une fois votre serveur web Apache configuré, vous pouvez passer à l’étape suivante.

Accéder à l’interface web de Craft CMS

Maintenant, ouvrez votre navigateur web et tapez l’URL http://craftcms.example.com pour accéder à l’interface web de Craft CMS. Vous devriez voir la page suivante :

Cliquez sur aller à votre panneau de contrôle. Vous serez redirigé vers la page de connexion de Craft CMS :

Fournissez votre nom d’utilisateur admin, mot de passe et cliquez sur le bouton connexion. Vous devriez voir le tableau de bord de Craft CMS sur la page suivante :

Sécuriser Craft CMS avec Let’s Encrypt SSL

Ensuite, il est judicieux de sécuriser votre site web avec Let’s Encrypt SSL. Tout d’abord, installez le paquet client Certbot avec la commande suivante :

apt-get install python3-certbot-apache -y

Après l’installation réussie, exécutez la commande suivante pour sécuriser votre site web avec Let’s Encrypt SSL :

certbot --apache -d craftcms.example.com

Vous serez invité à fournir votre email et à accepter les conditions de service comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for craftcms.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/craftcms-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/craftcms-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/craftcms-le-ssl.conf

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tapez 2 et appuyez sur Entrée pour installer le SSL Let’s Encrypt pour votre site web :

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/craftcms.conf to ssl vhost in /etc/apache2/sites-available/craftcms-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://craftcms.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=craftcms.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/craftcms.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/craftcms.example.com/privkey.pem
   Your cert will expire on 2022-09-17. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Conclusion

Félicitations ! Vous avez réussi à installer Craft CMS avec Apache et Let’s Encrypt SSL sur Ubuntu 22.04. Vous pouvez maintenant explorer les fonctionnalités de CraftCMS et commencer à créer un site web puissant en utilisant Craft CMS. N’hésitez pas à me poser des questions si vous en avez.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.