Fuel CMS adalah sistem manajemen konten sumber terbuka untuk situs web dan blog kelas premium. Itu dibangun di atas CodeIgniter, kerangka kerja web PHP yang populer. Tutorial ini akan membahas cara menginstal Fuel CMS di server berbasis Fedora 31.
Prasyarat
-
Server yang menjalankan Fedora 31 dikonfigurasi dengan LEMP Stack. Anda dapat mengikuti panduan kami untuk melakukannya.
-
Pengguna sudo non-root.
-
Pastikan semuanya diperbarui.
$ sudo dnf upgrade
Konfigurasi MariaDB untuk CMS Bahan Bakar
Pertama, kita perlu menyiapkan database yang akan digunakan untuk Fuel CMS. Untuk melakukan itu, login ke prompt MySQL.
$ sudo mysql
Saat diminta, masukkan perintah berikut yang akan menyiapkan database bernama fuelcms dan pengguna database bernama fueluser dan berikan akses ke database.
mysql> CREATE DATABASE fuelcms;
mysql> CREATE USER 'fueluser'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON fuelcms.* TO 'fueluser'@'localhost';
mysql> exit
Konfigurasi PHP untuk CMS Bahan Bakar
Dalam panduan kami, kami menginstal PHP 7.4 tetapi Fuel CMS belum kompatibel dengannya pada saat tutorial ini. Jika sudah kompatibel, Anda dapat melewati langkah ini.
Sekarang, kita perlu menginstal PHP 7.3 bersama PHP 7.4. Ini dapat dilakukan dengan mudah dengan menggunakan perintah berikut.
$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y
Ini menginstal PHP 7.3 sebagai kumpulan yang memungkinkan Anda untuk menjalankannya secara bersamaan dengan PHP 7.4.
Mulai dan aktifkan layanan PHP 7.3.
$ sudo systemctl start php73-php-fpm
$ sudo systemctl enable php73-php-fpm
Untuk memeriksa apakah sudah terpasang dengan benar, jalankan perintah berikut.
$ 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
Buka file /etc/opt/remi/php73/php-fpm.d/www.conf
.
$ sudo nano /etc/opt/remi/php73/php-fpm.d/www.conf
Kita perlu menyetel pengguna/grup proses PHP Unix ke nginx . Temukan user=apache
dan group=apache
baris dalam file dan ubah ke 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
...
Juga, temukan variabel listen.acl_users dan ubah nilainya sebagai berikut.
listen.acl_users = nginx
Perhatikan juga dengarkan variabel. Ini akan memberi Anda jalur di mana mendengarkan proses PHP-FPM. Bagi kami, ini menunjukkan hal berikut.
listen = /var/opt/remi/php73/run/php-fpm/www.sock
Salin jalurnya karena kita akan membutuhkannya.
Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.
Mulai ulang proses PHP-fpm.
$ sudo systemctl restart php73-php-fpm
Konfigurasi Nginx
Jalankan perintah berikut untuk menambahkan file konfigurasi Fuel CMS.
$ sudo nano /etc/nginx/sites-available/fuel.conf
Rekatkan kode berikut di 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;
}
}
File ini mengasumsikan bahwa kita akan menginstal Fuel CMS ke domain example.com
dan di direktori /var/www/fuel
. Kami juga menggunakan nilai mendengarkan variabel dari atas untuk menentukan nilai fastcgi_pass .
Aktifkan file konfigurasi ini dengan menautkannya ke sites-enabled
direktori.
$ sudo ln -s /etc/nginx/sites-available/fuel.conf /etc/nginx/sites-enabled/
Uji konfigurasi Nginx.
$ sudo nginx -t
Anda akan melihat output berikut yang menunjukkan konfigurasi Anda benar.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Muat ulang layanan Nginx.
$ sudo systemctl reload nginx
Instal CMS Bahan Bakar
Buat folder root dokumen kosong untuk Fuel CMS.
$ sudo mkdir -p /var/www/fuel
-p argumen memastikan bahwa direktori induk var
dan www
secara otomatis dibuat jika tidak ada.
Navigasikan ke folder root dokumen.
$ cd /var/www/fuel
Dapatkan versi terbaru Fuel CMS dari repositori Git-nya.
$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
Ekstrak file ke dalam /var/www/fuel
folder.
$ sudo unzip master.zip
$ sudo rm master.zip
$ sudo mv FUEL-CMS-master/* .
$ sudo rm -r FUEL-CMS-master
Buat sessions
direktori.
$ sudo mkdir /var/www/fuel/fuel/application/sessions
Buka file /var/www/fuel/application/config/database.php
.
$ sudo nano /var/www/fuel/fuel/application/config/database.php
Konfigurasikan parameter database yang kita buat sebelumnya.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'fueluser',
'password' => 'yourpassword',
'database' => 'fuelcms',
'dbdriver' => 'mysqli',
Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.
Impor /var/www/fuel/install/fuel_schema.sql
file ke dalam database yang baru dibuat.
$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql
Hasilkan kunci enkripsi acak menggunakan OpenSSL. Anda dapat menggunakan nomor apa saja, bukan 20.
$ openssl rand -base64 20
Anda akan mendapatkan kunci acak sebagai output. Salin.
Buka file /var/www/fuel/fuel/application/config/config.php
.
$ sudo nano /var/www/fuel/fuel/application/config/config.php
Ubah nilai $config['encryption_key'] ke kunci yang Anda dapatkan dari langkah sebelumnya.
$config['encryption_key'] = 'nisT56baLm+U24ZYFRvVbVKIdOE=';
Selanjutnya, cari nilainya $config['sess_save_path'] dan ubah nilainya dari NULL ke jalur sesi yang kita buat di atas.
$config['sess_save_path'] = APPPATH.'sessions/';
APPATH di sini mengacu pada /var/www/fuel/fuel/applications/
direktori. Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.
Selanjutnya, kita perlu mengaktifkan panel Administrasi. Untuk itu buka file /var/www/fuel/fuel/application/config/MY_fuel.php
.
$ sudo nano /var/www/fuel/fuel/application/config/MY_fuel.php
Lakukan perubahan berikut.
// whether the admin backend is enabled or not
$config['admin_enabled'] = TRUE;
....
$config['fuel_mode'] = 'auto';
Menyetel mode_bahan bakar ke otomatis memungkinkan Fuel CMS untuk terlebih dahulu memeriksa databasenya untuk halaman tersebut dan jika tidak ditemukan, ia akan mengambil halaman dari folder tampilannya. Anda dapat mengubah berbagai pengaturan lain seperti nama situs di panel Administrasi, ukuran unggah gambar, mengatur email, ukuran unggah file, memilih editor teks, mengatur mesin parser dan konfigurasinya, dan mengatur daftar modul yang diizinkan.
Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.
Langkah terakhir adalah memberikan izin yang tepat ke /var/www/fuel
direktori.
sudo chown -R nginx:nginx /var/www/fuel
Pengaturan sekarang selesai. Buka fuel.example.com/fuel
di browser Anda dan masuk dengan kredensial yang Anda buat di atas dan mulai kembangkan.
Mengonfigurasi CMS Bahan Bakar
Setelah Anda masuk ke panel administrasi, Anda akan diminta untuk mengubah kata sandi. Klik Ubah kata sandi untuk melanjutkan.
Pada halaman yang terbuka, Anda dapat mengubah kata sandi Anda. Anda juga harus mengubah nama pengguna default dan menambahkan alamat email. Anda juga harus mengisi nama Anda untuk melanjutkan. Simpan untuk melanjutkan setelah Anda selesai.
Untuk informasi lebih lanjut, lihat dokumentasi Fuel CMS resmi.
Menyiapkan HTTPS menggunakan Let's Encrypt
Untuk menggunakan Let's encrypt, kita perlu menginstal Certbot paket.
Instal Certbot.
$ sudo dnf install certbot certbot-nginx -y
Instal sertifikat.
$ sudo certbot --nginx -d fuel.example.com
Jika ini adalah pertama kalinya Anda menggunakan alat di server ini, Anda harus menyetujui persyaratan dan memasukkan alamat email Anda. Katakan tidak ketika ditanya apakah Anda ingin membagikan email Anda dengan yayasan EFF.
Jika berhasil, certbot
akan menanyakan bagaimana Anda ingin mengonfigurasi setelan 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):
Pilih 2 lalu tekan ENTER
. Sertifikat Anda sekarang telah terpasang dan diaktifkan.
Jalankan perintah berikut untuk mengatur perpanjangan otomatis.
$ 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
Luncurkan https://fuel.example.com
di browser Anda untuk memeriksa.
Kesimpulan
Ini mengakhiri tutorial kami. Anda sekarang dapat menggunakan Fuel CMS untuk membuat situs web Anda. Jika Anda memiliki pertanyaan, kirimkan di komentar.