GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Install Grav CMS dengan Nginx dan Lets Encrypt di Ubuntu 18.04 LTS

Grav adalah CMS dan platform berbasis file yang cepat, sederhana, dan fleksibel. Grav dibuat dengan file teks biasa untuk konten Anda. Tidak ada basis data yang dibutuhkan. Arsitektur dasar Grav dirancang untuk menggunakan teknologi mapan untuk memastikan bahwa Grav mudah digunakan dan mudah diperluas. Beberapa dari teknologi utama ini termasuk - Twig Templateing untuk kontrol yang kuat dari antarmuka pengguna, Markdown untuk pembuatan konten, YAML untuk konfigurasi sederhana, Parsedown untuk Markdown cepat dan dukungan Markdown Extra, Lapisan Doctrine Cache untuk kinerja, Gregwar Image Library untuk manipulasi gambar dinamis, dan Symfony Console untuk antarmuka CLI. Tutorial ini akan memandu Anda melalui prosedur penginstalan Grav CMS di server Ubuntu 18.04 baru menggunakan Nginx sebagai server web dan kami akan mengamankan situs web dengan sertifikat SSL Let's encrypt.

Persyaratan

Pastikan sistem Anda memenuhi persyaratan sistem Grav berikut:

  • Server Web (Apache, Nginx, LiteSpeed, Lightly, IIS, dll.)
  • PHP versi 7.1.3 atau lebih tinggi dengan ekstensi PHP berikut: curl,  ctype,  dom,  gd,  json,  mbstring,  openssl,  session,  simplexmlxml,  zip, apcu, opcache, yaml

Prasyarat

  • Sistem operasi yang menjalankan Ubuntu 18.04 LTS.
  • Pengguna non-root dengan hak istimewa sudo.

Langkah awal

Periksa versi Ubuntu Anda:

lsb_release -ds
# Ubuntu 18.04.2 LTS

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 Ubuntu:

sudo apt install -y curl wget vim git unzip socat bash-completion

Langkah 1 - Instal PHP dan ekstensi PHP yang diperlukan

Instal PHP, 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

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP:

php --version

# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( 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-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot pada sistem Ubuntu 18.04, jadi tidak perlu memulai dan mengaktifkannya secara manual. Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.

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 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.1

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 ke 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 akan diperpanjang secara otomatis setiap 60 hari.

Setelah mendapatkan sertifikat keluar dari pengguna root dan kembali ke pengguna sudo normal:

exit

Langkah 3 - Instal dan Konfigurasi Nginx

Grav CMS dapat bekerja dengan baik dengan banyak server web. Dalam tutorial ini, kami memilih Nginx.

Instal Nginx:

sudo apt install -y nginx

Periksa versi Nginx:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Konfigurasikan Nginx untuk Grav dengan menjalankan:

sudo vim /etc/nginx/sites-available/grav.conf

Dan isi file dengan konfigurasi berikut:

server {

  listen 80;
  listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;

  server_name example.com;

  root /var/www/grav;

  index index.php;

  ssl_certificate /etc/letsencrypt/status.example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/status.example.com/status.example.com.key;
  ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/status.example.com.key;

  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 baru konfigurasi dengan menautkan file ke sites-enabled direktori:

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

Uji konfigurasi NGINX:

sudo nginx -t

Muat ulang 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 {jour_user} :

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

CATATAN :Ganti {jour_user} dengan nama pengguna pengguna non-root yang pertama kali Anda buat.

Arahkan ke direktori root dokumen:

cd /var/www/grav

Download kode sumber Grav melalui wget dan unzip:

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

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

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

Buka situs Anda di browser web dan ikuti petunjuk di layar untuk menyelesaikan penginstalan Grav.

Langkah 5 - Selesaikan penyiapan Grav CMS

Buat akun admin:

Setelah membuat akun admin, Anda akan diarahkan ke dasbor admin Grav:

Itu saja. Instalasi Grav CMS selesai.

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

Ubuntu
  1. Cara Menginstal Nextcloud dengan Nginx dan Lets Encrypt SSL di Ubuntu 20.04 LTS

  2. Cara Menginstal Magento 2 dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

  3. Cara Menginstal Phorum dengan Nginx di Ubuntu 18.04 LTS

  1. Cara Menginstal Grav CMS dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal Shopware dengan NGINX dan Mari mengenkripsi di Ubuntu 18.04 LTS

  3. Cara Menginstal Bludit CMS dengan NGINX di Ubuntu 18.04 LTS

  1. Instal Automad CMS dengan Nginx dan Lets Encrypt SSL di Ubuntu 18.04

  2. Cara Instal Pico CMS dengan Nginx dan Lets Encrypt di CentOS 7

  3. Cara Menginstal X-Cart dengan Nginx dan Mengenkripsi SSL di Ubuntu 18.04 LTS