GNU/Linux >> Belajar Linux >  >> Fedora

Cara Instal Grav CMS dengan Nginx di Fedora 30

Grav adalah platform CMS berbasis file yang cepat, sederhana, dan fleksibel. Grav hadir dengan Sistem Manajemen Paket yang kuat untuk memungkinkan instalasi sederhana dan peningkatan plugin dan tema, serta pembaruan sederhana dari Grav itu sendiri.

Arsitektur dasar Grav dirancang untuk menggunakan teknologi mapan dan terbaik di kelasnya untuk memastikan bahwa Grav mudah digunakan dan mudah diperluas. Beberapa teknologi utama ini meliputi:

  • Twig Templateing:untuk kontrol antarmuka pengguna yang kuat
  • Penurunan harga:untuk pembuatan konten yang mudah
  • YAML:untuk konfigurasi sederhana
  • Parsedown:untuk Markdown cepat dan dukungan Markdown Ekstra
  • Cache Doktrin:lapisan untuk performa
  • Kontainer Injeksi Ketergantungan Sederhana:untuk diperpanjang dan dirawat
  • Symfony Event Dispatcher:untuk penanganan event plugin
  • Konsol Symfony:untuk antarmuka CLI
  • Gregwar Image Library:untuk manipulasi gambar dinamis

Dalam tutorial ini, kita akan melakukan penginstalan dan penyiapan Grav CMS pada sistem Fedora 30 dengan menggunakan NGINX sebagai server web, dan secara opsional Anda dapat mengamankan lapisan transport dengan menggunakan klien Acme.sh dan Let's Encrypt certificate authority untuk menambahkan dukungan SSL .

Persyaratan

Grav sengaja dirancang dengan sedikit persyaratan. Grav dibuat dengan file teks biasa untuk konten Anda. Tidak ada basis data yang dibutuhkan.

Pastikan sistem Anda memenuhi persyaratan berikut:

  • Server Web (Apache, Nginx, LiteSpeed, Lightly, IIS, dll.) Kami akan menggunakan NGINX.
  • PHP versi 7.1.3 atau lebih tinggi

Prasyarat

  • Sistem operasi yang menjalankan Fedora 30.
  • Pengguna non-root dengan hak istimewa sudo.

Langkah awal

Periksa versi Fedora Anda:

cat /etc/fedora-release
#

Siapkan zona waktu:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru untuk paket perangkat lunak default sistem operasi Anda:

sudo dnf update -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:

sudo dnf install -y curl wget vim git unzip socat bash-completion epel-release

Langkah 1 - Instal PHP dan ekstensi PHP yang diperlukan

Instal PHP, serta ekstensi PHP yang diperlukan:

sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-json php-mbstring php-xml php-zip php-opcache php-pecl-apcu

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP:

php --version

# PHP 7.3.17 (cli) (built: May 13 2019 18:03:04) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.17, Copyright (c) 1999-2018, by Zend Technologies

Mulai dan aktifkan layanan PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Langkah 2 - Instal klien acme.sh dan dapatkan sertifikat Let's Encrypt ( opsional )

Mengamankan forum Anda dengan HTTPS tidak diperlukan, tetapi ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat TLS dari Let's Encrypt kita akan menggunakan klien Acme.sh. Acme.sh adalah software shell UNIX sederhana untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.

Unduh dan instal acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Periksa versi acme.sh :

acme.sh --version
# v2.8.2

Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Jika Anda ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging tandai perintah di atas.

Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:

  • Untuk RSA :/home/username/example.com direktori.
  • Untuk ECC/ECDSA :/home/username/example.com_ecc direktori.

Untuk membuat daftar sertifikat yang dikeluarkan, Anda dapat menjalankan:

acme.sh --list

Buat direktori untuk menyimpan sertifikat Anda. Kami akan menggunakan /etc/letsencrypt direktori.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instal/salin sertifikat ke direktori /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Semua sertifikat diperbarui secara otomatis setiap 60 hari.

Setelah mendapatkan sertifikat keluar dari pengguna root dan kembali ke pengguna Sudo biasa:

exit

Langkah 3 - Instal dan konfigurasikan NGINX

Instal NGINX:

sudo dnf install -y nginx

Periksa versi NGINX:

nginx -v
# nginx version: nginx/1.14.2

Mulai dan aktifkan layanan NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Konfigurasikan NGINX untuk Grav. Jalankan sudo vim /etc/nginx/conf.d/grav.conf dan tambahkan konfigurasi berikut.

server {
  
  listen 80;
  listen 443 ssl;
server_name example.com; root /var/www/grav;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
index index.html index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~* /(\.git|cache|bin|logs|backup|tests)/.*$ { return 403; } location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; } location ~* /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; } location ~ /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) { return 403; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } }

Periksa konfigurasi NGINX untuk kesalahan sintaks:

sudo nginx -t

Muat ulang layanan NGINX:

sudo systemctl reload nginx.service

Langkah 4 - Instal Grav CMS

Buat direktori root dokumen:

sudo mkdir -p /var/www/grav

Ubah kepemilikan /var/www/grav direktori ke pengguna yang Anda masuki saat ini, dalam kasus saya, pengguna adalah johndoe:

sudo chown -R johndoe:johndoe /var/www/grav

Arahkan ke folder root dokumen:

cd /var/www/grav

Unduh dan unzip Grav:

wget https://getgrav.org/download/core/grav-admin/1.6.9
unzip 1.6.9
mv grav-admin/* . && mv grav-admin/.* .
rm -rf grav-admin 1.6.9

CATATAN: Versi 1.6.9 adalah versi saat ini dan mungkin berbeda saat Anda membaca ini. Silakan periksa situs web Grav untuk informasi terbaru.

Ubah kepemilikan /var/www/grav direktori ke nginx:

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

Jalankan sudo vim /etc/php-fpm.d/www.conf dan atur pengguna dan grup ke nginx . Awalnya, ini disetel ke pengguna dan grup apache:

sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Mulai ulang layanan PHP-FPM.

sudo systemctl restart php-fpm.service

Buat /var/lib/php/session/ direktori dan ubah kepemilikan menjadi nginx:

sudo mkdir -p /var/lib/php/session/ && sudo chown -R nginx:nginx /var/lib/php/session/

Buka http://example.com di browser web Anda dan ikuti petunjuk di layar. Untuk mengakses Grav admin tambahkan /admin ke URL Anda.

Langkah 5 - Selesaikan penyiapan Grav

Buat pengguna admin Grav:

Setelah pembuatan, Anda akan diarahkan ke dasbor admin:

Tautan

  • https://getgrav.org/
  • https://github.com/getgrav/grav

Fedora
  1. Cara Menginstal Phorum dengan Nginx di Fedora 30

  2. Cara Menginstal Grav CMS di Ubuntu 18.04

  3. Cara menginstal PHP 7.4 Dengan Nginx di Ubuntu 20.04

  1. Cara Menginstal Grav CMS dengan Nginx di Ubuntu 16.04

  2. Cara Memasang Bolt CMS di Fedora 29

  3. Cara Memasang Anchor CMS di Fedora 29

  1. Cara Menginstal CMS Pagekit dengan Nginx di Fedora 29

  2. Cara Memasang InvoicePlane dengan Nginx di Fedora 29

  3. Cara Menginstal CMS Oktober dengan Nginx di Fedora 29