Fuel CMS ist ein Open-Source-Content-Management-System für hochwertige Websites und Blogs. Es basiert auf CodeIgniter, einem beliebten PHP-Webframework. In dieser Anleitung erfahren Sie, wie Fuel CMS auf einem Fedora 31-basierten Server installiert wird.
Voraussetzungen
-
Ein Server mit Fedora 31, konfiguriert mit LEMP Stack. Folgen Sie dazu unserem Leitfaden.
-
Ein Nicht-Root-Sudo-Benutzer.
-
Stellen Sie sicher, dass alles aktualisiert ist.
$ sudo dnf upgrade
MariaDB für Fuel CMS konfigurieren
Zuerst müssen wir eine Datenbank einrichten, die für das Fuel CMS verwendet werden soll. Melden Sie sich dazu bei der MySQL-Eingabeaufforderung an.
$ sudo mysql
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, die eine Datenbank mit dem Namen fuelcms einrichten und ein Datenbankbenutzer namens fueluser und ihm Zugriff auf die Datenbank gewähren.
mysql> CREATE DATABASE fuelcms;
mysql> CREATE USER 'fueluser'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON fuelcms.* TO 'fueluser'@'localhost';
mysql> exit
Konfiguriere PHP für Fuel CMS
In unserem Leitfaden haben wir PHP 7.4 installiert, aber Fuel CMS ist zum Zeitpunkt dieses Tutorials noch nicht damit kompatibel. Wenn es kompatibel wird, können Sie diesen Schritt überspringen.
Jetzt müssen wir PHP 7.3 neben PHP 7.4 installieren. Das geht ganz einfach mit dem folgenden Befehl.
$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y
Dadurch wird PHP 7.3 als Sammlung installiert, sodass Sie es gleichzeitig mit PHP 7.4 ausführen können.
Starten und aktivieren Sie den PHP 7.3-Dienst.
$ sudo systemctl start php73-php-fpm
$ sudo systemctl enable php73-php-fpm
Um zu überprüfen, ob es richtig installiert ist, führen Sie den folgenden Befehl aus.
$ 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
Öffnen Sie die Datei /etc/opt/remi/php73/php-fpm.d/www.conf
.
$ sudo nano /etc/opt/remi/php73/php-fpm.d/www.conf
Wir müssen den Unix-Benutzer/die Gruppe von PHP-Prozessen auf nginx setzen . Suchen Sie user=apache
und group=apache
Zeilen in der Datei und ändern Sie sie in 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
...
Suchen Sie außerdem die Variable listen.acl_users und ändern Sie seinen Wert wie folgt.
listen.acl_users = nginx
Beachten Sie auch das Hören Variable. Es gibt Ihnen den Pfad, wo Sie den PHP-FPM-Prozess abhören können. Für uns zeigt es Folgendes.
listen = /var/opt/remi/php73/run/php-fpm/www.sock
Kopieren Sie den Pfad, da wir ihn benötigen.
Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Starten Sie den PHP-fpm-Prozess neu.
$ sudo systemctl restart php73-php-fpm
Nginx konfigurieren
Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei für Fuel CMS hinzuzufügen.
$ sudo nano /etc/nginx/sites-available/fuel.conf
Fügen Sie den folgenden Code in den Editor ein.
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;
}
}
Diese Datei geht davon aus, dass wir Fuel CMS in der Domain example.com
installieren werden und im Verzeichnis /var/www/fuel
. Wir haben auch den Wert von listen verwendet Variable von oben, um einen Wert für fastcgi_pass anzugeben .
Aktivieren Sie diese Konfigurationsdatei, indem Sie sie mit sites-enabled
verknüpfen Verzeichnis.
$ sudo ln -s /etc/nginx/sites-available/fuel.conf /etc/nginx/sites-enabled/
Testen Sie die Nginx-Konfiguration.
$ sudo nginx -t
Sie sollten die folgende Ausgabe sehen, die anzeigt, dass Ihre Konfiguration korrekt ist.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Laden Sie den Nginx-Dienst neu.
$ sudo systemctl reload nginx
Fuel CMS installieren
Erstellen Sie einen leeren Dokumentstammordner für Fuel CMS.
$ sudo mkdir -p /var/www/fuel
Das -p Argument stellt sicher, dass übergeordnete Verzeichnisse var
und www
werden automatisch erstellt, wenn sie nicht vorhanden sind.
Navigieren Sie zum Stammordner des Dokuments.
$ cd /var/www/fuel
Holen Sie sich die neueste Version von Fuel CMS aus seinem Git-Repository.
$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
Extrahieren Sie die Datei in das Verzeichnis /var/www/fuel
Ordner.
$ sudo unzip master.zip
$ sudo rm master.zip
$ sudo mv FUEL-CMS-master/* .
$ sudo rm -r FUEL-CMS-master
Erstellen Sie die sessions
Verzeichnis.
$ sudo mkdir /var/www/fuel/fuel/application/sessions
Öffnen Sie die Datei /var/www/fuel/application/config/database.php
.
$ sudo nano /var/www/fuel/fuel/application/config/database.php
Konfigurieren Sie die zuvor erstellten Datenbankparameter.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'fueluser',
'password' => 'yourpassword',
'database' => 'fuelcms',
'dbdriver' => 'mysqli',
Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Importieren Sie /var/www/fuel/install/fuel_schema.sql
Datei in die neu erstellte Datenbank.
$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql
Generieren Sie einen zufälligen Verschlüsselungsschlüssel mit OpenSSL. Sie können anstelle von 20 eine beliebige Zahl verwenden.
$ openssl rand -base64 20
Als Ausgabe erhalten Sie einen zufälligen Schlüssel. Kopieren.
Öffnen Sie die Datei /var/www/fuel/fuel/application/config/config.php
.
$ sudo nano /var/www/fuel/fuel/application/config/config.php
Ändern Sie den Wert von $config[‘encryption_key’] zu dem Schlüssel, den Sie im vorherigen Schritt erhalten haben.
$config['encryption_key'] = 'nisT56baLm+U24ZYFRvVbVKIdOE=';
Suchen Sie als Nächstes den Wert $config['sess_save_path'] und ändern Sie seinen Wert von NULL zu dem Sitzungspfad, den wir oben erstellt haben.
$config['sess_save_path'] = APPPATH.'sessions/';
APPPATH bezieht sich hier auf /var/www/fuel/fuel/applications/
Verzeichnis. Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Als nächstes müssen wir das Administrationsfenster aktivieren. Öffnen Sie dazu die Datei /var/www/fuel/fuel/application/config/MY_fuel.php
.
$ sudo nano /var/www/fuel/fuel/application/config/MY_fuel.php
Nehmen Sie die folgende Änderung vor.
// whether the admin backend is enabled or not
$config['admin_enabled'] = TRUE;
....
$config['fuel_mode'] = 'auto';
Festlegen des fuel_mode auf automatisch erlaubt Fuel CMS, zuerst seine Datenbank auf die Seite zu überprüfen und wenn es nicht gefunden wird, wird es die Seite aus seinem Ansichtsordner aufnehmen. Sie können verschiedene andere Einstellungen ändern, wie den Namen der Site im Administrationsbereich, die Bild-Upload-Größe, eine E-Mail-Adresse und die Datei-Upload-Größe festlegen, einen Texteditor auswählen, eine Parser-Engine und ihre Konfiguration festlegen und eine Liste der zulässigen Module festlegen.
Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.
Der letzte Schritt besteht darin, /var/www/fuel
die richtigen Berechtigungen zu erteilen Verzeichnis.
sudo chown -R nginx:nginx /var/www/fuel
Die Einrichtung ist nun abgeschlossen. Öffnen Sie fuel.example.com/fuel
in Ihrem Browser und melden Sie sich mit den oben erstellten Anmeldeinformationen an und beginnen Sie mit der Entwicklung.
Fuel CMS konfigurieren
Sobald Sie sich im Administrationsbereich anmelden, werden Sie aufgefordert, das Passwort zu ändern. Klicken Sie auf Passwort ändern um fortzufahren.
Auf der sich öffnenden Seite können Sie Ihr Passwort ändern. Sie sollten auch Ihren Standardbenutzernamen ändern und eine E-Mail-Adresse hinzufügen. Sie müssen auch Ihren Namen eingeben, um fortzufahren. Speichern Sie, um fortzufahren, wenn Sie fertig sind.
Weitere Informationen finden Sie in der offiziellen Fuel CMS-Dokumentation.
Einrichten von HTTPS mit Let's Encrypt
Für die Verwendung von Let's encrypt müssen wir den Certbot installieren Paket.
Certbot installieren.
$ sudo dnf install certbot certbot-nginx -y
Installieren Sie das Zertifikat.
$ sudo certbot --nginx -d fuel.example.com
Wenn Sie das Tool zum ersten Mal auf diesem Server verwenden, müssen Sie den Bedingungen zustimmen und Ihre E-Mail-Adresse eingeben. Sag nein wenn Sie gefragt werden, ob Sie Ihre E-Mail mit der EFF-Stiftung teilen möchten.
Wenn das erfolgreich ist, certbot
wird Sie fragen, wie Sie Ihre HTTPS-Einstellungen konfigurieren möchten.
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):
Wählen Sie 2 und drücken Sie dann ENTER
. Ihr Zertifikat ist jetzt installiert und aktiviert.
Führen Sie den folgenden Befehl aus, um die automatische Verlängerung einzurichten.
$ 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
Starten Sie https://fuel.example.com
in Ihrem Browser zu überprüfen.
Schlussfolgerung
Damit ist unser Tutorial abgeschlossen. Sie können jetzt Fuel CMS zum Erstellen Ihrer Websites verwenden. Wenn Sie Fragen haben, posten Sie sie in den Kommentaren.