GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Grav CMS dengan Nginx di Ubuntu 16.04

Grav adalah aplikasi web modern yang tidak memerlukan database. Ini adalah platform web berbasis file yang sederhana, cepat, dan tidak memerlukan penginstalan. Grav menggunakan teknologi modern termasuk Twig Templating untuk templating, Markdown untuk pembuatan konten, YAML untuk konfigurasi sederhana, Parsedown, dan Doctrine cache untuk lapisan kinerja dll. Alat ini ditulis dalam PHP dan dilengkapi dengan Sistem Manajemen Paket yang kuat yang memungkinkan Anda untuk mengelola Sistem Grav, termasuk menginstal dan meningkatkan Grav itu sendiri, serta tema dan plugin.

Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara menginstal dan mengkonfigurasi Grav CMS di Ubuntu 16.04. Karena Grav adalah aplikasi web PHP berbasis, kita perlu menginstal PHP pada sistem, dan untuk mendapatkan kinerja lebih, kita akan menggunakan PHP-FPM dengan web browser Nginx.

Prasyarat

  • Ubuntu 16.04
  • Hak istimewa root

Apa yang akan kami lakukan:

  1. Instal Nginx
  2. Instal dan Konfigurasi PHP-FPM
  3. Instal Komposer PHP
  4. Unduh dan Instal Grav CMS
  5. Konfigurasi Nginx Virtual Host untuk Grav
  6. Pengujian

Langkah 1 - Instal Server Web Nginx

Pada langkah pertama ini, kita akan menginstal server web Nginx dari repositori Ubuntu. Sebelum kita melakukannya, kita perlu memperbarui semua paket dan repositori menggunakan perintah apt berikut.

sudo apt update
sudo apt upgrade

Sekarang instal server web Nginx.

sudo apt install nginx -y

Setelah penginstalan selesai, mulai layanan dan aktifkan untuk diluncurkan saat boot sistem, sesuatu yang dapat Anda lakukan menggunakan perintah systemctl berikut.

systemctl start nginx
systemctl enable nginx

Server web Nginx telah diinstal di Ubuntu 16.04, dan dijalankan pada port HTTP default 80. Periksa menggunakan perintah netstat dengan cara berikut.

netstat -plntu

Dan Anda akan mendapatkan hasil seperti gambar di bawah ini.

Langkah 2 - Instal dan Konfigurasi PHP-FPM

Sekarang kita akan menginstal dan mengkonfigurasi PHP-FPM untuk instalasi Grav kita. Instal paket PHP dan PHP-FPM (termasuk semua ekstensi yang diperlukan) menggunakan perintah berikut.

sudo apt install -y php7.0 php7.0-fpm php7.0-cli php7.0-gd php7.0-mbstring php-pear php7.0-curl php7.0-dev php7.0-opcache php7.0-xml php7.0-zip

Sekarang kita perlu mengkonfigurasi PHP-FPM.

- Pasang ekstensi tambahan

Ini opsional, tetapi yang terbaik untuk kinerja Grav. Kami akan menginstal beberapa ekstensi tambahan secara manual dari repositori ekstensi PHP menggunakan perintah PECL.

Instal ekstensi 'apcu' (untuk meningkatkan kinerja cache) menggunakan perintah 'pecl' di bawah ini.

sudo pecl install apcu

Sekarang buat konfigurasi ekstensi baru 'apcu.ini' di direktori '/etc/php/7.0/mods-available/'.

sudo vim /etc/php/7.0/mods-available/apcu.ini

Tempelkan konfigurasi berikut di sana.

extension=apcu.so

Simpan dan keluar.

Selanjutnya, aktifkan ekstensi menggunakan perintah di bawah ini.

sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/fpm/conf.d/20-apcu.ini
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/cli/conf.d/20-apcu.ini

Sekarang, kita akan menginstal ekstensi 'YAML' untuk lebih meningkatkan kinerja Grav. Tetapi sebelum menginstal ekstensi, kita perlu menginstal beberapa paket menggunakan perintah apt berikut.

sudo apt install libyaml-dev unzip -y

Selanjutnya, instal ekstensi yaml menggunakan perintah pecl.

sudo pecl install yaml-2.0.0

Setelah instalasi selesai, buat file konfigurasi 'yaml.ini' baru.

sudo vim /etc/php/7.0/mods-available/yaml.ini

Tempelkan konfigurasi berikut di sana.

extension=yaml.so

Simpan dan keluar.

Sekarang aktifkan ekstensi YAML.

sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/fpm/conf.d/20-yaml.ini
sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/cli/conf.d/20-yaml.ini

Ekstensi PHP tambahan baru untuk Grav telah ditambahkan.

- Konfigurasikan PHP-FPM Pool untuk Grav

Sebelum membuat konfigurasi kumpulan PHP-FPM baru, kita perlu menambahkan pengguna baru bernama 'grav' ke sistem, sesuatu yang dapat Anda lakukan menggunakan perintah useradd.

useradd -m -s /bin/bash grav
passwd grav

Sekarang masuk ke direktori '/etc/php/7.0/fpm/pool.d' dan buat cadangan konfigurasi default 'www.conf'.

cd /etc/php/7.0/fpm/pool.d/
mv www.conf www.conf.bak

Selanjutnya, buat konfigurasi kumpulan PHP-FPM baru - 'grav.conf' - untuk Grav.

vim grav.conf

Tempelkan konfigurasi berikut di sana.

[grav]

user = grav
group = grav

listen = /run/php/php7.0-fpm.sock

listen.owner = www-data
listen.group = www-data

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

chdir = /

Simpan dan keluar.

Mulai ulang layanan PHP-FPM dan aktifkan untuk diluncurkan saat boot sistem.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM sekarang berjalan di bawah file 'php7.0-fpm.sock' - periksa menggunakan perintah netstat dengan cara berikut.

netstat -pl | grep php

Dan Anda harus mendapatkan hasil seperti yang ditunjukkan di bawah ini.

Catatan:

Jika Anda ingin memeriksa ekstensi apcu dan yaml, Anda dapat menggunakan perintah php berikut.

sudo php -m | grep apcu
sudo php -m | grep yaml

Instalasi dan konfigurasi untuk PHP-FPM telah selesai.

Langkah 3 - Instal PHP Composer

Komposer adalah manajer paket tingkat aplikasi untuk PHP. Ini digunakan untuk mengelola dependensi PHP.

Instal Komposer PHP menggunakan perintah berikut.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Setelah instalasi selesai, coba jalankan perintah composer dengan cara berikut.

composer --version

Komposer PHP telah diinstal.

Langkah 4 - Unduh dan Instal Grav

Kami akan menginstal dan menjalankan alat sebagai pengguna 'grav'. Pengguna dibuat di salah satu langkah sebelumnya.

Pertama, login sebagai pengguna 'grav'.

su - grav

Sekarang, buat direktori 'www' baru.

mkdir -p ~/www
cd ~/www

Unduh versi grav terbaru menggunakan wget dan tambahkan ekstensi '.zip' ke nama file.

wget https://getgrav.org/download/core/grav/latest
mv latest latest.zip

Ekstrak file 'latest.zip' dan ganti nama direktori 'grav' menjadi 'html'.

unzip latest.zip
mv grav/ html/

Sekarang kembali ke root priveliges dan ubah pemilik grup menjadi 'www-data'.

exit
cd /home/grav/www
sudo chown -R grav:www-data html/

Grav sekarang diunduh dan diinstal oleh pengguna 'grav' di direktori '/home/grav/www/html'.

Langkah 5 - Konfigurasikan host virtual Grav

Pada langkah ini, kita akan mengkonfigurasi virtual host Nginx untuk Grav. Kami akan membuat file host virtual baru bernama 'grav' di dalam direktori 'sites-available',  lalu mengaktifkan host virtual Grav.

Buka direktori konfigurasi '/etc/nginx' dan buat file baru 'grav' menggunakan editor vim.

cd /etc/nginx
vim sites-available/grav

Rekatkan konfigurasi host virtual Grav Nginx berikut di sana.

server {
    ## Define Index
    #listen 80;
    index index.html index.php;

    ## Web root and Domain Name
    root /home/grav/www/html;
    server_name grav.hakase-labs.co;

    ## Begin - Index
    # for subfolders, simply adjust the rewrite:
    # to use `/subfolder/index.php`
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    ## End - Index

    ## Begin - PHP-FPM Configuration
    location ~ \.php$ {
        # Choose either a socket or TCP/IP address
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        # fastcgi_pass 127.0.0.1:9000;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    }
    ## End - PHP

    ## Begin - Security
    # deny all direct access for these folders
    location ~* /(.git|cache|bin|logs|backups)/.*$ { return 403; }
    # deny running scripts inside core system folders
    location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny running scripts inside user folder
    location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny access to specific files in the root folder
    location ~ /(LICENSE|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }
    ## End - Security
}

Simpan dan keluar.

Selanjutnya, aktifkan virtual host dan uji konfigurasi nginx.

ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enabled/
nginx -t

Catatan: Pastikan Anda tidak mendapatkan kesalahan Nginx setelah menguji konfigurasi.

Sekarang restart layanan Nginx dan PHP-FPM.

systemctl restart nginx
systemctl restart php7.0-fpm

Konfigurasi untuk virtual host Nginx Grav telah selesai.

Langkah 6 - Pengujian

Buka browser web Anda dan ketik nama domain situs Grav Anda, milik saya adalah http://grav.hakase-labs.co/

Dan Anda akan mendapatkan beranda Grav default, seperti yang ditunjukkan di bawah ini.

Instalasi Grav Flat CMS menggunakan PHP-FPM dan web server Nginx di Ubuntu 16.04 telah berhasil diselesaikan.


Ubuntu
  1. Cara Menginstal WordPress dengan Nginx di Ubuntu 18.04

  2. Cara Menginstal Grav CMS di Ubuntu 15.04

  3. Cara Menginstal Grav CMS di Ubuntu 18.04

  1. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10

  1. Cara Instal Redmine 3 dengan Nginx di Ubuntu 15.10

  2. Cara Menginstal Piwik dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Redmine 3.2 dengan Nginx di Ubuntu 16.04