Wie man Fuel CMS mit Nginx auf Fedora 31 installiert

Fuel CMS ist ein Open-Source-Content-Management-System für erstklassige Websites und Blogs. Es basiert auf CodeIgniter, einem beliebten PHP-Web-Framework. Dieses Tutorial behandelt die Installation von Fuel CMS auf einem Fedora 31-basierten Server.

Voraussetzungen

  • Ein Server, auf dem Fedora 31 läuft und der mit LEMP Stack konfiguriert ist. Sie könnenFolgen Sie unserer Anleitung dafür.
  • Ein Nicht-Root-Sudo-Benutzer.
  • Stellen Sie sicher, dass alles aktualisiert ist.
    $ sudo dnf upgrade
    

Konfigurieren Sie MariaDB für das Treibstoff-CMS

Zuerst müssen wir eine Datenbank einrichten, die für das Fuel CMS verwendet werden soll. Dazu müssen Sie sich an der MySQL-Eingabeaufforderung anmelden.

$ sudo mysql

Sobald Sie an der Eingabeaufforderung angelangt sind, geben Sie die folgenden Befehle ein, die eine Datenbank namens fuelcms und einen Datenbankbenutzer namens fueluser einrichten 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

PHP für Fuel CMS konfigurieren

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.

Nun müssen wir PHP 7.3 zusammen mit PHP 7.4 installieren. Dies kann einfach mit dem folgenden Befehl erfolgen.

$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y

Dadurch wird PHP 7.3 als eine Sammlung installiert, die es Ihnen erlaubt, sie gleichzeitig mit PHP 7.4 auszuführen.

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 sie korrekt 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 die user=apacheund group=apacheZeilen in der Datei und ändern Sie sie auf 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 auch die Variable listen.acl_users und ändern Sie ihren Wert wie folgt.

listen.acl_users = nginx

Notieren Sie sich auch die Hörvariable. Sie gibt Ihnen den Pfad an, wo Sie den PHP-FPM-Prozess anhören können. Für uns zeigt sie folgendes an.

listen = /var/opt/remi/php73/run/php-fpm/www.sock

Kopieren Sie den Pfad, denn wir werden ihn brauchen.

Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, 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 Domäne example.comund im Verzeichnis installieren werden/var/www/fuel. Wir haben auch den Wert der Listen-Variablen von oben verwendet, um einen Wert für fastcgi_pass anzugeben.

Aktivieren Sie diese Konfigurationsdatei, indem Sie sie mit dem sites-enabledVerzeichnis verknüpfen.

$ 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 erneut.

$ sudo systemctl reload nginx

Brennstoff-CMS installieren

Erstellen Sie einen leeren Dokument-Stammordner für Fuel CMS.

$ sudo mkdir -p /var/www/fuel

Das Argument -p stellt sicher, dass übergeordnete Verzeichnisse varund wwwautomatisch erstellt werden, wenn sie nicht existieren.

Navigieren Sie zum Stammordner des Dokuments.

$ cd /var/www/fuel

Holen Sie sich die neueste Version von Fuel CMS aus dem Git-Repository.

$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip

Entpacken Sie die Datei in den /var/www/fuelOrdner.

$ sudo unzip master.zip
$ sudo rm master.zip
$ sudo mv FUEL-CMS-master/* .
$ sudo rm -r FUEL-CMS-master

Erstellen Sie das sessionsVerzeichnis.

$ 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 Datenbankparameter, die wir zuvor erstellt haben.

$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 Y eingeben, wenn Sie dazu aufgefordert werden.

Importieren Sie die /var/www/fuel/install/fuel_schema.sqlDatei in die neu erstellte Datenbank.

$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql

Erzeugen Sie einen zufälligen Verschlüsselungsschlüssel mit OpenSSL. Sie können eine beliebige Zahl anstelle von 20 verwenden.

$ openssl rand -base64 20

Sie erhalten einen Zufallsschlüssel als Ausgabe. Kopieren Sie ihn.

Ö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‘] in den Schlüssel, den Sie aus dem 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 in den von uns oben erstellten Sitzungspfad.

$config['sess_save_path'] = APPPATH.'sessions/';

APPPATH bezieht sich hier auf das /var/www/fuel/fuel/applications/Verzeichnis. Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Als nächstes müssen wir das Administrationspanel 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';

Wenn Sie den fuel_mode auf auto setzen, prüft Fuel CMS zunächst seine Datenbank für die Seite und holt die Seite aus seinem Ansichtsordner, wenn sie nicht gefunden wird. Sie können verschiedene andere Einstellungen ändern, wie z.B. den Namen der Seite im Administrationspanel, die Größe des Bild-Uploads, die Größe des Datei-Uploads, die Auswahl eines Texteditors, die Einstellung einer Parser-Engine und deren Konfiguration und die Festlegung einer Liste zulässiger Module.

Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Der letzte Schritt ist die Vergabe der richtigen Berechtigungen für das /var/www/fuelVerzeichnis.

sudo chown -R nginx:nginx /var/www/fuel

Die Einrichtung ist nun abgeschlossen. Öffnen fuel.example.com/fuelSie in Ihrem Browser und melden Sie sich mit den oben erstellten Zugangsdaten an und beginnen Sie mit der Entwicklung.

Konfigurieren von Kraftstoff-CMS

Sobald Sie sich im Verwaltungspanel anmelden, werden Sie aufgefordert, das Passwort zu ändern. Klicken Sie auf Passwort ändern, um fortzufahren.

Konfigurieren von Kraftstoff-CMS

Auf der sich öffnenden Seite können Sie Ihr Passwort ändern. Sie sollten auch Ihren Standard-Benutzernamen ä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 Dokumentation zu Fuel CMS.

Einrichten von HTTPS mit Let’s Encrypt

Um Let’s encrypt verwenden zu können, müssen wir das Certbot-Paket installieren.

Installieren Sie Certbot.

$ sudo dnf install certbot certbot-nginx -y

Installieren Sie das Zertifikat.

$ sudo certbot --nginx -d fuel.example.com

Wenn Sie zum ersten Mal mit dem Tool auf diesem Server arbeiten, müssen Sie den Bedingungen zustimmen und Ihre E-Mail-Adresse eingeben. Sagen Sie nein, wenn Sie gefragt werden, ob Sie Ihre E-Mail an die EFF-Stiftung weitergeben möchten.

Wenn das erfolgreich ist, werden Sie certbotgefragt, 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 ENTERSie dann auf . Ihr Zertifikat ist jetzt installiert und aktiviert.

Führen Sie den folgenden Befehl aus, um die automatische Erneuerung 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 https://fuel.example.comSie zur Überprüfung in Ihrem Browser.

Sicheres Kraftstoff-CMS mit einem kostenlosen SSL-Zertifikat von Let's encrypt

Schlussfolgerung

Damit ist unser Tutorial abgeschlossen. Sie können nun Fuel CMS für die Erstellung Ihrer Websites verwenden. Wenn Sie Fragen haben, können Sie diese in den Kommentaren posten.

Das könnte dich auch interessieren …