GNU/Linux >> Belajar Linux >  >> Debian

Cara Instal Grav CMS dengan Nginx di Debian 9

Grav adalah platform Web berbasis file yang Cepat, Sederhana, dan Fleksibel. Ini mengikuti prinsip yang mirip dengan platform CMS file datar lainnya tetapi memiliki filosofi desain yang berbeda dari kebanyakan. Grav hadir dengan Sistem Manajemen Paket yang kuat untuk memungkinkan penginstalan sederhana dan peningkatan versi 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
  • Wadah Injeksi Ketergantungan Jerawat:untuk diperpanjang dan dirawat
  • Symfony Event Dispatcher:untuk penanganan event plugin
  • Konsol Symfony:untuk antarmuka CLI
  • Gregwar Image Library:untuk manipulasi gambar dinamis

Dalam panduan ini, kami akan memandu Anda langkah demi langkah melalui proses penginstalan Grav CMS pada sistem operasi Debian 9 menggunakan Nginx sebagai server web, serta acme.sh dan Let's Encrypt untuk HTTPS.

Persyaratan

  • Server Web (Apache, Nginx, LiteSpeed, Lightly atau IIS). Dalam panduan ini, kita akan menggunakan NGINX.
  • PHP 7.1.3 atau lebih tinggi dengan ekstensi PHP berikut: curl, ctype, dom, gd, json, mbstring, openssl, session, simplexml, xml, zip, apcu(opsional), opcache(opsional).

Prasyarat

  • Sistem operasi yang menjalankan Debian 9.
  • Pengguna non-root dengan hak istimewa sudo.

Langkah awal

Periksa versi Debian Anda:

lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)

Siapkan zona waktu:

sudo dpkg-reconfigure tzdata

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 apt update && sudo apt upgrade -y

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

sudo apt install -y curl wget vim git unzip socat apt-transport-https

Langkah 1 - Instal ekstensi PHP dan PHP

Grav CMS memerlukan PHP versi 7.1 atau yang lebih baru. Debian memiliki PHP versi 7 di repositori default, sehingga Anda perlu menggunakan repo pihak ketiga untuk menginstal versi yang lebih baru.

sudo apt install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

Instal PHP 7.2, serta ekstensi PHP yang diperlukan:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-xml php7.2-zip php7.2-opcache php-apcu

Periksa versi PHP:

php --version

# PHP 7.2.18-1+0~20190503103213.21+stretch~1.gbp101320 (cli) (built: May  3 2019 10:32:13) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.18-1+0~20190503103213.21+stretch~1.gbp101320, Copyright (c) 1999-2018, by Zend Technologies

Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot pada sistem Debian 9, jadi tidak perlu memulai dan mengaktifkannya secara manual. Kita dapat melanjutkan ke langkah berikutnya, yaitu penyiapan SSL.

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

Mengamankan situs web 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, kami akan menggunakan klien Acme.sh. Acme.sh adalah software shell Unix murni untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.

Unduh dan instal Acme.sh:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Periksa versi Acme.sh :

/etc/letsencrypt/acme.sh --version
# v2.8.0

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

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

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

  • Untuk RSA :/etc/letsencrypt/example.com direktori.
  • Untuk ECC/ECDSA :/etc/letsencrypt/example.com_ecc direktori.

Langkah 3 - Instal dan konfigurasikan NGINX

Instal server web NGINX:

sudo apt install -y nginx

Periksa versi NGINX:

nginx -v
# nginx version: nginx/1.10.3

Jalankan sudo vim /etc/nginx/sites-available/grav.conf dan isi file dengan konfigurasi berikut:

server {
  
  listen 80;

  server_name example.com;
  root /var/www/grav;
  
  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:/var/run/php/php7.2-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
  }

}

Aktifkan grav.conf new baru konfigurasi dengan menautkan file ke sites-enabled direktori.

sudo ln -s /etc/nginx/sites-available/grav.conf /etc/nginx/sites-enabled

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 tempat Grav berada:

sudo mkdir -p /var/www/grav

Ubah kepemilikan /var/www/grav direktori ke {your_user}. Ganti {your_user} pada perintah di bawah ini dengan nama pengguna yang saat ini Anda masuki ke Debian.:

sudo chown -R {your_user}:{your_user} /var/www/grav

Arahkan ke direktori root dokumen:

cd /var/www/grav

Unduh versi terbaru dari halaman resmi dan ekstrak file zip:

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: Perbarui URL unduhan jika ada rilis yang lebih baru.

Ubah kepemilikan /var/www/grav direktori ke www-data:

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

Langkah 5 - Selesaikan penyiapan Grav

Buka situs Anda di browser web dan Anda akan melihat halaman yang meminta Anda untuk membuat akun admin Grav. Buat satu dan lanjutkan dengan mengklik tombol "Buat Pengguna":

Itu dia. Instalasi Grav Anda selesai.

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

Debian
  1. Cara Menginstal Phorum dengan Nginx di Debian 9

  2. Cara Menginstal CMS Plone 4 di Debian Wheezy dengan Nginx

  3. Cara Menginstal Magento dengan Nginx di Debian 10

  1. Cara Menginstal Nginx di Debian 9

  2. Cara Menginstal CMS Pagekit dengan Nginx di Fedora 29

  3. Cara Menginstal CMS Oktober dengan Nginx di Fedora 29

  1. Cara Instal Bludit CMS dengan NGINX di CentOS 7

  2. Cara Menginstal WonderCMS dengan Nginx di Debian 9

  3. Cara Instal Grav CMS dengan Nginx di Fedora 30