Fuel CMS je open-source systém pro správu obsahu pro prémiové weby a blogy. Je postaven na CodeIgniter, populárním webovém frameworku PHP. Tento tutoriál se bude zabývat tím, jak nainstalovat Fuel CMS na server založený na Fedoře 31.
Předpoklady
-
Server se systémem Fedora 31 nakonfigurovaný s LEMP Stack. Můžete se řídit naším průvodcem.
-
Uživatel sudo bez oprávnění root.
-
Ujistěte se, že je vše aktualizováno.
$ sudo dnf upgrade
Konfigurace MariaDB pro systém CMS paliva
Nejprve musíme nastavit databázi pro použití pro Fuel CMS. Chcete-li to provést, přihlaste se do výzvy MySQL.
$ sudo mysql
Jakmile se zobrazí výzva, zadejte následující příkazy, které nastaví databázi s názvem fuelcms a uživatel databáze jménem fueluser a udělte mu přístup k databázi.
mysql> CREATE DATABASE fuelcms;
mysql> CREATE USER 'fueluser'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON fuelcms.* TO 'fueluser'@'localhost';
mysql> exit
Konfigurace PHP pro Fuel CMS
V našem průvodci jsme nainstalovali PHP 7.4, ale Fuel CMS s ním v době tohoto tutoriálu ještě není kompatibilní. Až bude kompatibilní, můžete tento krok přeskočit.
Nyní musíme nainstalovat PHP 7.3 vedle PHP 7.4. To lze snadno provést pomocí následujícího příkazu.
$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y
Tím se nainstaluje PHP 7.3 jako kolekce, která vám umožní spouštět jej současně s PHP 7.4.
Spusťte a povolte službu PHP 7.3.
$ sudo systemctl start php73-php-fpm
$ sudo systemctl enable php73-php-fpm
Chcete-li zkontrolovat, zda je správně nainstalován, spusťte následující příkaz.
$ 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
Otevřete soubor /etc/opt/remi/php73/php-fpm.d/www.conf
.
$ sudo nano /etc/opt/remi/php73/php-fpm.d/www.conf
Musíme nastavit unixového uživatele/skupinu PHP procesů na nginx . Najděte user=apache
a group=apache
řádků v souboru a změňte je na 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
...
Vyhledejte také proměnnou listen.acl_users a změňte jeho hodnotu následovně.
listen.acl_users = nginx
Poznamenejte si také poslouchejte variabilní. Poskytne vám cestu, kde si poslechnout proces PHP-FPM. Pro nás to ukazuje následující.
listen = /var/opt/remi/php73/run/php-fpm/www.sock
Zkopírujte cestu, protože ji budeme potřebovat.
Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Restartujte proces PHP-fpm.
$ sudo systemctl restart php73-php-fpm
Nakonfigurujte Nginx
Spuštěním následujícího příkazu přidejte konfigurační soubor pro Fuel CMS.
$ sudo nano /etc/nginx/sites-available/fuel.conf
Vložte následující kód do editoru.
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;
}
}
Tento soubor předpokládá, že budeme instalovat Fuel CMS do domény example.com
a v adresáři /var/www/fuel
. Použili jsme také hodnotu listen proměnnou shora k určení hodnoty pro fastcgi_pass .
Tento konfigurační soubor aktivujte jeho propojením s sites-enabled
adresář.
$ sudo ln -s /etc/nginx/sites-available/fuel.conf /etc/nginx/sites-enabled/
Otestujte konfiguraci Nginx.
$ sudo nginx -t
Měli byste vidět následující výstup indikující, že vaše konfigurace je správná.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Znovu načtěte službu Nginx.
$ sudo systemctl reload nginx
Instalovat systém CMS paliva
Vytvořte prázdnou kořenovou složku dokumentů pro Fuel CMS.
$ sudo mkdir -p /var/www/fuel
-p argument zajišťuje, že nadřazené adresáře var
a www
jsou automaticky vytvořeny, pokud neexistují.
Přejděte do kořenové složky dokumentu.
$ cd /var/www/fuel
Stáhněte si nejnovější verzi systému Fuel CMS z jeho úložiště Git.
$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
Extrahujte soubor do /var/www/fuel
složka.
$ sudo unzip master.zip
$ sudo rm master.zip
$ sudo mv FUEL-CMS-master/* .
$ sudo rm -r FUEL-CMS-master
Vytvořte sessions
adresář.
$ sudo mkdir /var/www/fuel/fuel/application/sessions
Otevřete soubor /var/www/fuel/application/config/database.php
.
$ sudo nano /var/www/fuel/fuel/application/config/database.php
Nakonfigurujte parametry databáze, které jsme vytvořili dříve.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'fueluser',
'password' => 'yourpassword',
'database' => 'fuelcms',
'dbdriver' => 'mysqli',
Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Importujte soubor /var/www/fuel/install/fuel_schema.sql
soubor do nově vytvořené databáze.
$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql
Vygenerujte náhodný šifrovací klíč pomocí OpenSSL. Místo 20 můžete použít libovolné číslo.
$ openssl rand -base64 20
Jako výstup získáte náhodný klíč. Zkopírujte to.
Otevřete soubor /var/www/fuel/fuel/application/config/config.php
.
$ sudo nano /var/www/fuel/fuel/application/config/config.php
Změňte hodnotu $config[‘encryption_key’] na klíč, který jste získali z předchozího kroku.
$config['encryption_key'] = 'nisT56baLm+U24ZYFRvVbVKIdOE=';
Dále najděte hodnotu $config['sess_save_path'] a změňte jeho hodnotu z NULL na cestu relace, kterou jsme vytvořili výše.
$config['sess_save_path'] = APPPATH.'sessions/';
APPPATH zde odkazuje na /var/www/fuel/fuel/applications/
adresář. Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Dále musíme povolit panel Správa. Za tímto účelem otevřete soubor /var/www/fuel/fuel/application/config/MY_fuel.php
.
$ sudo nano /var/www/fuel/fuel/application/config/MY_fuel.php
Proveďte následující změnu.
// whether the admin backend is enabled or not
$config['admin_enabled'] = TRUE;
....
$config['fuel_mode'] = 'auto';
Nastavení fuel_mode na automaticky umožňuje systému Fuel CMS nejprve zkontrolovat stránku ve své databázi a pokud ji nenajde, vybere si stránku ze své složky zobrazení. Můžete změnit různá další nastavení, jako je název webu na panelu Správa, velikost nahrávaného obrázku, nastavit e-mail, velikost nahrávaného souboru, vybrat textový editor, nastavit modul analyzátoru a jeho konfiguraci a nastavit seznam povolených modulů.
Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Posledním krokem je udělit správná oprávnění pro /var/www/fuel
adresář.
sudo chown -R nginx:nginx /var/www/fuel
Nastavení je nyní dokončeno. Otevřete fuel.example.com/fuel
ve svém prohlížeči a přihlaste se pomocí přihlašovacích údajů, které jste vytvořili výše, a začněte vyvíjet.
Konfigurace Fuel CMS
Po přihlášení do administračního panelu budete vyzváni ke změně hesla. Klikněte na Změnit heslo pokračovat.
Na stránce, která se otevře, si můžete změnit heslo. Měli byste také změnit své výchozí uživatelské jméno a přidat e-mailovou adresu. Budete také muset vyplnit své jméno, abyste mohli pokračovat. Po dokončení uložte a pokračujte.
Další informace naleznete v oficiální dokumentaci systému Fuel CMS.
Nastavení HTTPS pomocí Let's Encrypt
Pro použití Let's encrypt musíme nainstalovat Certbot balíček.
Nainstalujte Certbot.
$ sudo dnf install certbot certbot-nginx -y
Nainstalujte certifikát.
$ sudo certbot --nginx -d fuel.example.com
Pokud používáte nástroj na tomto serveru poprvé, musíte souhlasit s podmínkami a zadat svou e-mailovou adresu. Řekněte ne na otázku, zda chcete sdílet svůj e-mail s nadací EFF.
Pokud se to podaří, certbot
se vás zeptá, jak chcete nakonfigurovat nastavení 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):
Vyberte 2 a poté stiskněte ENTER
. Váš certifikát je nyní nainstalován a aktivován.
Spusťte následující příkaz pro nastavení automatického obnovení.
$ 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
Spusťte https://fuel.example.com
ve vašem prohlížeči a zkontrolujte.
Závěr
Tím náš tutoriál končí. Nyní můžete používat Fuel CMS pro vytváření svých webových stránek. Pokud máte nějaké dotazy, napište je do komentářů.