Comment installer Craft CMS sur Ubuntu
Craft est un système de gestion de contenu open source, flexible et convivial avec une large communauté de développeurs et de communautés dans le monde entier. C'est une très bonne alternative à WordPress et Drupal et est utilisé pour créer des expériences numériques personnalisées. Il dispose d'un panneau de contrôle intuitif et facilement accessible qui vous permet de gérer votre site Web via le navigateur Web. Il propose des centaines de plugins gratuits et payants que vous pouvez utiliser pour ajouter des fonctionnalités supplémentaires.
Dans cet article, nous expliquerons comment installer Craft CMS avec Apache et Let's Encrypt SSL sur Ubuntu 20.04.
Conditions préalables
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide qui pointe vers l'IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installez Apache, MariaDB et PHP
Craft CMS fonctionne sur le serveur Web, est écrit en PHP et utilise MariaDB comme backend de base de données. Par conséquent, vous devez installer tous ces packages sur votre serveur.
Exécutez la commande suivante pour installer tous ces packages :
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 packages, éditez le fichier de configuration PHP et modifiez les paramètres par défaut :
nano /etc/php/7.4/php.ini
Modifiez les paramètres suivants :
memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
max_execution_time = 360
Enregistrez et fermez le fichier et redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Créer une base de données pour Fork CMS
Ensuite, vous devez créer une base de données et un utilisateur pour Fork CMS. Tout d’abord, connectez-vous au shell 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 craft;
MariaDB [(none)]> GRANT ALL ON craft.* TO 'craftuser' IDENTIFIED BY 'password';
Ensuite, supprimez les autorisations et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
La base de données MariaDB pour Craft CMS a maintenant été créée. Vous pouvez maintenant passer à l'étape suivante.
Installer le CMS Craft
Ensuite, vous devez installer Composer pour télécharger la dernière version de Craft CMS. Vous pouvez l'installer avec la commande suivante :
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
Une fois Composer installé, accédez au répertoire racine Web Apache et créez un projet Craft CMS à l'aide de la commande suivante :
cd /var/www/html
composer create-project craftcms/craft craftcms
Vous serez invité à saisir les paramètres de votre base de données, votre nom d'utilisateur et votre mot de passe administrateur, ainsi que l'URL du site Web (voir 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
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, vous devrez attribuer les autorisations et la propriété appropriées au 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.
Créer un hôte virtuel Apache pour Craft CMS
Ensuite, vous devez créer un fichier de configuration pour un hôte virtuel Apache pour Craft CMS. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/craftcms.conf
Collez les lignes suivantes :
<VirtualHost *:80>
ServerAdmin [email
DocumentRoot /var/www/html/craftcms/web
ServerName craftcms.example.com
<Directory /var/www/html/craftcms/web/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/craftcms/web/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>
Enregistrez et fermez le fichier et activez l'hôte virtuel Apache et le module de réécriture avec la commande suivante :
a2ensite craftcms.conf
a2enmod rewrite
Redémarrez ensuite 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 recevrez le résultat suivant :
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-04-02 08:39:25 UTC; 5s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 17643 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 17647 (apache2)
Tasks: 6 (limit: 2348)
Memory: 13.4M
CGroup: /system.slice/apache2.service
??17647 /usr/sbin/apache2 -k start
??17648 /usr/sbin/apache2 -k start
??17649 /usr/sbin/apache2 -k start
??17650 /usr/sbin/apache2 -k start
??17651 /usr/sbin/apache2 -k start
??17652 /usr/sbin/apache2 -k start
Apr 02 08:39:25 ubunt4 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
Ouvrez maintenant votre navigateur Web et entrez l'URL http://craftcms.example.com pour accéder à l'interface Web de Craft CMS. Vous devriez voir la page suivante :
Cliquez sur le bouton Accéder à votre centre de contrôle. Vous serez redirigé vers la page de connexion de Craft CMS :
Entrez votre nom d'utilisateur et votre mot de passe administrateur et cliquez sur le bouton Connexion. Sur la page suivante, vous devriez voir le tableau de bord Craft CMS :
Sécurisez Craft CMS avec Let's Encrypt SSL
Ensuite, nous vous recommandons de sécuriser votre site Web avec Let's Encrypt SSL. Tout d'abord, installez le client Certbot avec la commande suivante :
apt-get install python3-certbot-apache -y
Une fois installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :
certbot --apache -d craftcms.example.com
Il vous sera demandé de saisir votre adresse e-mail et d'accepter les conditions d'utilisation (voir 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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, choisissez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS (voir 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 Let's Encrypt SSL 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-07-23. 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
Toutes nos félicitations! Vous avez installé avec succès Craft CMS avec Apache et Let's Encrypt SSL sur Ubuntu 20.04. Vous pouvez maintenant commencer à créer votre site Web avec Craft CMS. Si vous avez des questions, n'hésitez pas à me contacter.