Fuel CMS est un système de gestion de contenu open source pour les sites Web et les blogs de qualité supérieure. Il est construit sur CodeIgniter, un framework Web PHP populaire. Ce tutoriel explique comment installer Fuel CMS sur un serveur basé sur Fedora 31.
Prérequis
-
Un serveur exécutant Fedora 31 configuré avec LEMP Stack. Vous pouvez suivre notre guide pour le faire.
-
Un utilisateur sudo non root.
-
Assurez-vous que tout est mis à jour.
$ sudo dnf upgrade
Configurer MariaDB pour Fuel CMS
Tout d'abord, nous devons configurer une base de données à utiliser pour le Fuel CMS. Pour ce faire, connectez-vous à l'invite MySQL.
$ sudo mysql
Une fois à l'invite, entrez les commandes suivantes qui configureront une base de données nommée fuelcms et un utilisateur de base de données nommé fueluser et accordez-lui l'accès à la base de données.
mysql> CREATE DATABASE fuelcms;
mysql> CREATE USER 'fueluser'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON fuelcms.* TO 'fueluser'@'localhost';
mysql> exit
Configurer PHP pour Fuel CMS
Dans notre guide, nous avons installé PHP 7.4 mais Fuel CMS n'est pas encore compatible avec celui-ci au moment de ce tutoriel. Lorsqu'il devient compatible, vous pouvez ignorer cette étape.
Maintenant, nous devons installer PHP 7.3 à côté de PHP 7.4. Cela peut être fait facilement en utilisant la commande suivante.
$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y
Cela installe PHP 7.3 en tant que collection, ce qui vous permet de l'exécuter simultanément avec PHP 7.4.
Démarrez et activez le service PHP 7.3.
$ sudo systemctl start php73-php-fpm
$ sudo systemctl enable php73-php-fpm
Pour vérifier s'il est correctement installé, exécutez la commande suivante.
$ php73 --version
PHP 7.3.16 (cli) (built: Mar 17 2020 10:18:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
Ouvrez le fichier /etc/opt/remi/php73/php-fpm.d/www.conf
.
$ sudo nano /etc/opt/remi/php73/php-fpm.d/www.conf
Nous devons définir l'utilisateur/groupe Unix de processus PHP sur nginx . Trouvez le user=apache
et group=apache
lignes dans le fichier et changez-les en nginx.
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...
Localisez également la variable listen.acl_users et modifiez sa valeur comme suit.
listen.acl_users = nginx
Notez également l'écoute variable. Il vous indiquera où écouter le processus PHP-FPM. Pour nous, cela montre ce qui suit.
listen = /var/opt/remi/php73/run/php-fpm/www.sock
Copiez le chemin car nous en aurons besoin.
Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.
Redémarrez le processus PHP-fpm.
$ sudo systemctl restart php73-php-fpm
Configurer Nginx
Exécutez la commande suivante pour ajouter un fichier de configuration pour Fuel CMS.
$ sudo nano /etc/nginx/sites-available/fuel.conf
Collez le code suivant dans l'éditeur.
server {
listen 80;
listen [::]:80;
root /var/www/fuel;
index index.php index.html index.htm;
server_name fuel.example.com;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
access_log /var/log/nginx/fuel.example.com.access.log;
error_log /var/log/nginx/fuel.example.com.error.log;
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Ce fichier suppose que nous allons installer Fuel CMS sur le domaine example.com
et dans le répertoire /var/www/fuel
. Nous avons également utilisé la valeur de listen variable ci-dessus pour spécifier une valeur pour fastcgi_pass .
Activez ce fichier de configuration en le liant au sites-enabled
répertoire.
$ sudo ln -s /etc/nginx/sites-available/fuel.conf /etc/nginx/sites-enabled/
Testez la configuration Nginx.
$ sudo nginx -t
Vous devriez voir la sortie suivante indiquant que votre configuration est correcte.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Rechargez le service Nginx.
$ sudo systemctl reload nginx
Installer Fuel CMS
Créez un dossier racine de document vide pour Fuel CMS.
$ sudo mkdir -p /var/www/fuel
Le -p l'argument garantit que les répertoires parents var
et www
sont automatiquement créés s'ils n'existent pas.
Accédez au dossier racine du document.
$ cd /var/www/fuel
Récupérez la dernière version de Fuel CMS à partir de son référentiel Git.
$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
Extraire le fichier dans le /var/www/fuel
dossier.
$ sudo unzip master.zip
$ sudo rm master.zip
$ sudo mv FUEL-CMS-master/* .
$ sudo rm -r FUEL-CMS-master
Créer les sessions
répertoire.
$ sudo mkdir /var/www/fuel/fuel/application/sessions
Ouvrez le fichier /var/www/fuel/application/config/database.php
.
$ sudo nano /var/www/fuel/fuel/application/config/database.php
Configurez les paramètres de base de données que nous avons créés auparavant.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'fueluser',
'password' => 'yourpassword',
'database' => 'fuelcms',
'dbdriver' => 'mysqli',
Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.
Importez le /var/www/fuel/install/fuel_schema.sql
fichier dans la base de données nouvellement créée.
$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql
Générez une clé de chiffrement aléatoire à l'aide d'OpenSSL. Vous pouvez utiliser n'importe quel nombre au lieu de 20.
$ openssl rand -base64 20
Vous obtiendrez une clé aléatoire en sortie. Copiez-le.
Ouvrez le fichier /var/www/fuel/fuel/application/config/config.php
.
$ sudo nano /var/www/fuel/fuel/application/config/config.php
Modifiez la valeur de $config[‘encryption_key’] à la clé que vous avez obtenue à l'étape précédente.
$config['encryption_key'] = 'nisT56baLm+U24ZYFRvVbVKIdOE=';
Ensuite, localisez la valeur $config['sess_save_path'] et changez sa valeur de NULL au chemin de session que nous avons créé ci-dessus.
$config['sess_save_path'] = APPPATH.'sessions/';
APPPATH fait ici référence au /var/www/fuel/fuel/applications/
annuaire. Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.
Ensuite, nous devons activer le panneau d'administration. Pour cela, ouvrez le fichier /var/www/fuel/fuel/application/config/MY_fuel.php
.
$ sudo nano /var/www/fuel/fuel/application/config/MY_fuel.php
Effectuez la modification suivante.
// whether the admin backend is enabled or not
$config['admin_enabled'] = TRUE;
....
$config['fuel_mode'] = 'auto';
Définition du fuel_mode à auto permet à Fuel CMS de vérifier d'abord sa base de données pour la page et si elle n'est pas trouvée, il récupérera la page de son dossier de vue. Vous pouvez modifier divers autres paramètres tels que le nom du site dans le panneau d'administration, la taille de téléchargement d'image, définir un e-mail, la taille de téléchargement de fichier, sélectionner un éditeur de texte, définir un moteur d'analyse et sa configuration et définir une liste de modules autorisés.
Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.
La dernière étape consiste à donner les autorisations appropriées au /var/www/fuel
répertoire.
sudo chown -R nginx:nginx /var/www/fuel
La configuration est maintenant terminée. Ouvrez fuel.example.com/fuel
dans votre navigateur et connectez-vous avec les informations d'identification que vous avez créées ci-dessus et commencez à développer.
Configuration de Fuel CMS
Une fois connecté au panneau d'administration, vous serez invité à modifier le mot de passe. Cliquez sur Modifier le mot de passe pour continuer.
Sur la page qui s'ouvre, vous pouvez modifier votre mot de passe. Vous devez également modifier votre nom d'utilisateur par défaut et ajouter une adresse e-mail. Vous devrez également remplir votre nom pour continuer. Enregistrez pour continuer lorsque vous avez terminé.
Pour plus d'informations, reportez-vous à la documentation officielle de Fuel CMS.
Configurer HTTPS avec Let's Encrypt
Pour utiliser Let's encrypt, nous devons installer le Certbot paquet.
Installez Certbot.
$ sudo dnf install certbot certbot-nginx -y
Installez le certificat.
$ sudo certbot --nginx -d fuel.example.com
Si c'est la première fois que vous utilisez l'outil sur ce serveur, vous devez accepter les conditions et saisir votre adresse e-mail. Dites non lorsqu'on vous demande si vous souhaitez partager votre e-mail avec la fondation EFF.
Si cela réussit, certbot
vous demandera comment vous souhaitez configurer vos paramètres HTTPS.
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):
Sélectionnez 2 puis appuyez sur ENTER
. Votre certificat est maintenant installé et activé.
Exécutez la commande suivante pour configurer le renouvellement automatique.
$ echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null
Lancez https://fuel.example.com
dans votre navigateur pour vérifier.
Conclusion
Ceci conclut notre tutoriel. Vous pouvez maintenant utiliser Fuel CMS pour créer vos sites Web. Si vous avez des questions, postez-les dans les commentaires.