Fuel CMS è un sistema di gestione dei contenuti open source per siti Web e blog di qualità premium. È basato su CodeIgniter, un popolare framework Web PHP. Questo tutorial tratterà come installare Fuel CMS su un server basato su Fedora 31.
Prerequisiti
-
Un server che esegue Fedora 31 configurato con LEMP Stack. Puoi seguire la nostra guida per farlo.
-
Un utente sudo non root.
-
Assicurati che tutto sia aggiornato.
$ sudo dnf upgrade
Configura MariaDB per Fuel CMS
Innanzitutto, dobbiamo impostare un database da utilizzare per il Fuel CMS. Per farlo, accedi al prompt di MySQL.
$ sudo mysql
Una volta al prompt, inserisci i seguenti comandi che imposteranno un database chiamato fuelcms e un utente del database denominato fueluser e concedigli l'accesso al database.
mysql> CREATE DATABASE fuelcms;
mysql> CREATE USER 'fueluser'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON fuelcms.* TO 'fueluser'@'localhost';
mysql> exit
Configura PHP per Fuel CMS
Nella nostra guida abbiamo installato PHP 7.4 ma Fuel CMS non è ancora compatibile con esso al momento di questo tutorial. Quando diventa compatibile, puoi saltare questo passaggio.
Ora, dobbiamo installare PHP 7.3 insieme a PHP 7.4. Questo può essere fatto facilmente usando il seguente comando.
$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y
Questo installa PHP 7.3 come una raccolta che ti consente di eseguirlo contemporaneamente a PHP 7.4.
Avvia e abilita il servizio PHP 7.3.
$ sudo systemctl start php73-php-fpm
$ sudo systemctl enable php73-php-fpm
Per verificare se è installato correttamente, esegui il comando seguente.
$ 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
Apri il file /etc/opt/remi/php73/php-fpm.d/www.conf
.
$ sudo nano /etc/opt/remi/php73/php-fpm.d/www.conf
Dobbiamo impostare l'utente/gruppo di processi PHP Unix su nginx . Trova user=apache
e group=apache
righe nel file e cambiale 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
...
Inoltre, individua la variabile listen.acl_users e modificarne il valore come segue.
listen.acl_users = nginx
Inoltre, prendi nota dell'ascolto variabile. Ti darà il percorso su dove ascoltare il processo PHP-FPM. Per noi, mostra quanto segue.
listen = /var/opt/remi/php73/run/php-fpm/www.sock
Copia il percorso perché ne avremo bisogno.
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Riavvia il processo PHP-fpm.
$ sudo systemctl restart php73-php-fpm
Configura Nginx
Eseguire il comando seguente per aggiungere un file di configurazione per Fuel CMS.
$ sudo nano /etc/nginx/sites-available/fuel.conf
Incolla il codice seguente nell'editor.
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;
}
}
Questo file presuppone che installeremo Fuel CMS nel dominio example.com
e nella directory /var/www/fuel
. Abbiamo anche utilizzato il valore di ascolta variabile dall'alto per specificare un valore per fastcgi_pass .
Attiva questo file di configurazione collegandolo a sites-enabled
directory.
$ sudo ln -s /etc/nginx/sites-available/fuel.conf /etc/nginx/sites-enabled/
Testa la configurazione di Nginx.
$ sudo nginx -t
Dovresti vedere il seguente output che indica che la tua configurazione è corretta.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ricarica il servizio Nginx.
$ sudo systemctl reload nginx
Installa Fuel CMS
Crea una cartella radice del documento vuota per Fuel CMS.
$ sudo mkdir -p /var/www/fuel
Il -p argomento assicura che le directory padre var
e www
vengono creati automaticamente se non esistono.
Vai alla cartella principale del documento.
$ cd /var/www/fuel
Prendi l'ultima versione di Fuel CMS dal suo repository Git.
$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
Estrarre il file nel /var/www/fuel
cartella.
$ sudo unzip master.zip
$ sudo rm master.zip
$ sudo mv FUEL-CMS-master/* .
$ sudo rm -r FUEL-CMS-master
Crea le sessions
directory.
$ sudo mkdir /var/www/fuel/fuel/application/sessions
Apri il file /var/www/fuel/application/config/database.php
.
$ sudo nano /var/www/fuel/fuel/application/config/database.php
Configura i parametri del database che abbiamo creato in precedenza.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'fueluser',
'password' => 'yourpassword',
'database' => 'fuelcms',
'dbdriver' => 'mysqli',
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Importa il /var/www/fuel/install/fuel_schema.sql
file nel database appena creato.
$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql
Genera una chiave di crittografia casuale utilizzando OpenSSL. Puoi usare qualsiasi numero invece di 20.
$ openssl rand -base64 20
Otterrai una chiave casuale come output. Copialo.
Apri il file /var/www/fuel/fuel/application/config/config.php
.
$ sudo nano /var/www/fuel/fuel/application/config/config.php
Modifica il valore di $config['encryption_key'] alla chiave che hai ottenuto dal passaggio precedente.
$config['encryption_key'] = 'nisT56baLm+U24ZYFRvVbVKIdOE=';
Successivamente, individua il valore $config['sess_save_path'] e cambia il suo valore da NULL al percorso della sessione che abbiamo creato sopra.
$config['sess_save_path'] = APPPATH.'sessions/';
PERCORSO APP qui si fa riferimento a /var/www/fuel/fuel/applications/
directory. Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Successivamente, dobbiamo abilitare il pannello di amministrazione. Per questo, apri il file /var/www/fuel/fuel/application/config/MY_fuel.php
.
$ sudo nano /var/www/fuel/fuel/application/config/MY_fuel.php
Apporta la seguente modifica.
// whether the admin backend is enabled or not
$config['admin_enabled'] = TRUE;
....
$config['fuel_mode'] = 'auto';
Impostazione della modalità carburante su auto consente a Fuel CMS di controllare prima il suo database per la pagina e, se non viene trovata, preleverà la pagina dalla sua cartella di visualizzazione. Puoi modificare varie altre impostazioni come il nome del sito nel pannello di amministrazione, la dimensione del caricamento dell'immagine, impostare un'e-mail, la dimensione del caricamento del file, selezionare un editor di testo, impostare un motore di analisi e la sua configurazione e impostare un elenco di moduli consentiti.
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Il passaggio finale consiste nel concedere le autorizzazioni appropriate a /var/www/fuel
directory.
sudo chown -R nginx:nginx /var/www/fuel
La configurazione è ora completa. Apri fuel.example.com/fuel
nel tuo browser e accedi con le credenziali che hai creato sopra e inizia a sviluppare.
Configurazione del CMS carburante
Una volta effettuato l'accesso al pannello di amministrazione, ti verrà richiesto di modificare la password. Fai clic su Cambia password per continuare.
Nella pagina che si apre, puoi cambiare la tua password. Dovresti anche cambiare il tuo nome utente predefinito e aggiungere un indirizzo email. Dovrai anche inserire il tuo nome per procedere. Salva per procedere quando hai finito.
Per maggiori informazioni fare riferimento alla documentazione ufficiale di Fuel CMS.
Configurazione di HTTPS utilizzando Let's Encrypt
Per utilizzare Let's encrypt, dobbiamo installare il Certbot pacchetto.
Installa Certbot.
$ sudo dnf install certbot certbot-nginx -y
Installa il certificato.
$ sudo certbot --nginx -d fuel.example.com
Se è la prima volta che utilizzi lo strumento su questo server, devi accettare i termini e inserire il tuo indirizzo email. Dì no quando ti viene chiesto se desideri condividere la tua email con la fondazione EFF.
Se ha esito positivo, certbot
ti chiederà come desideri configurare le tue impostazioni 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):
Seleziona 2 e poi premi ENTER
. Il tuo certificato è ora installato e attivato.
Esegui il comando seguente per impostare il rinnovo automatico.
$ 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
Avvia https://fuel.example.com
nel browser per verificare.
Conclusione
Questo conclude il nostro tutorial. Ora puoi utilizzare Fuel CMS per creare i tuoi siti web. Se hai domande, pubblicalo nei commenti.