Cara Install dan Konfigurasi Pico CMS di Nginx Debian 10

Pico adalah CMS open source sederhana dan cepat yang ditulis dalam PHP. CMS ini tidak ada backend administrasi dan database apaun yang harus ditangani. Anda cukup membuat file .md di folder content dan akan menjadi halaman.

Pico menggunakan Twig” templating engine, untuk tema yang powerful dan fleksibel. Source code Pico tersedia di Github. Dalam tutorial ini, kita akan menginstal Pico CMS dengan Nginx di”  Debian 10 (buster).

*Persyaratan*

Sebelum melanjutkan tutorial ini, kita akan melewati instalasi, persyaratan yang di butuhkan sebagai berikut :

· Masuk sebagai user non-root dengan hak sudo. · Nginx · PHP versi 5.3.6 atau lebih tinggi · Composer

*Langkah awal*

Periksa versi” Debian Anda:

lsb_release -ds # Debian GNU/Linux 10 (buster)

Siapkan zona waktu:

sudo dpkg-reconfigure tzdata

Perbarui paket sistem operasi (software). Ini adalah langkah pertama yang penting karena memastikan sistem up-to-date dan mendapat perbaikan keamanan untuk paket perangkat lunak default sistem operasi Anda:

sudo apt update && sudo apt upgrade -y

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

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

*Langkah 1 – Instal PHP*

Instal PHP, serta ekstensi PHP yang diperlukan:

sudo apt install -y php7.3 php7.3-cli php7.3-fpm php7.3-common php7.3-curl php7.3-gd php7.3-json php7.3-zip php7.3-xml php7.3-mbstring

Untuk menampilkan modul PHP yang dikompilasi, Anda dapat menjalankan:

php -m

ctype curl exif fileinfo . . . . . .

Periksa versi PHP:

php –version

#” PHP 7.3.4-2 (cli) (built: Apr 13 2019 19:05:48) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies # with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot, sehingga tidak perlu memulai dan mengaktifkannya secara manual. Kita bisa beralih ke langkah selanjutnya, yaitu instalasi dan pengaturan Let’s encrypt.

*Langkah 2 – Dapatkan Sertifikat Let’s Encrypt (opsional)*

Mengamankan blog/website Anda dengan HTTPS memang langkah opsional, tetapi HTTPS 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 perangkat lunak shell UNIX yang digunakan untuk mendapatkan sertifikat TLS dari Let’s Encrypt dengan tanpa dependensi.

Unduh dan instal acme.sh:

sudo su – root git clone https://github.com/Neilpang/acme.sh.git cd acme.sh”  ./acme.sh –install –accountemail” your_email@example.com source ~/.bashrc cd ~

Periksa versi acme.sh:

acme.sh –version # v2.8.0

Dapatkan sertifikat *RSA*” dan *ECC/ECDSA” *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 ingin membuat sertifikat palsu untuk pengujian, Anda dapat menambahkan flag–stagingke perintah di atas.

Setelah menjalankan perintah di atas, /certificates/” dan /keys/” akan berada di:

Untuk me-list semua sertifikat, Anda dapat menjalankan:

· untuk” *RSA *di direktori” :” /home/username/example.com. · untuk” *ECC/ECDSA*” di direktori” :” /home/username/example.com_ecc.

Untuk list semua sertifikat, jalankan perintah :

acme.sh –list

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

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

Install/copy 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 user root dan kembali ke user biasa dengan hak sudo :

exit

*Langkah 3 – Instal dan konfigurasikan NGINX*

Instal NGINX:

sudo apt install -y nginx

Periksa versi NGINX :

sudo nginx -v #” nginx version: nginx/1.14.2

Selanjutnya, konfigurasikan NGINX untuk Pico CMS. Kita akan membuat server block untuk Pico CMS dan tambahkan konfigurasi berikut.

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

server { listen 80; listen 443 ssl; server_name example.com; root /var/www/pico; 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.php;

location ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) { deny all; }

location / { index index.php; try_files $uri $uri/ /index.php$is_args$args; }

location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PICO_URL_REWRITING 1; }

}

Aktifkan konfigurasi baru” pico.conf” dengan membuat symlink ke direktori” sites-enabled”  :

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

Periksa konfigurasi NGINX” agar tidak ada syntax errors:

sudo nginx -t

Reload” NGINX” service:

sudo systemctl reload nginx.service

*Langkah 4 – Install” Composer*

Install Composer, PHP dependency manager :

php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”

php -r “if (hash_file(‘sha384’, ‘composer-setup.php’) === ‘a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”

php composer-setup.php

php -r “unlink(‘composer-setup.php’);”

sudo mv composer.phar /usr/local/bin/composer

Periksa versi Composer :

composer –version #” Composer version 1.8.6 2019-06-11 15:03:05

/*NOTE*: Perintah instalasi komposer kemungkinan akan berubah di masa mendatang, jadi periksa https://getcomposer.org/download/ untuk perintah yang paling mutakhir jika perintah di atas tidak berfungsi./

*Langkah 5 – Install Pico CMS*

Buat root direktori untuk Pico CMS,” direktori ini merupakan tempat di mana Pico CMS menyimpan semua data dan file dari CMS.

sudo mkdir -p /var/www/pico

Ubah kepemilikan dari direktori” /var/www/pico” menjadi”  [username_anda]:

sudo chown -R [username_anda]:[username_anda] /var/www/pico

Masuk ke direktori” document root pico cms:

cd /var/www/pico

Download Pico dengan composer:

composer create-project picocms/pico-composer .

Ubah kepemilikan direktori /var/www/pico menjadi www-data:

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

Pada poin ini, instalasi Pico CMS sudah selesai dan siap untuk di gunakan.

*Kesimpulan*

Pico adalah CMS open source sederhana dan cepat yang ditulis dalam PHP. CMS ini tidak memerlukan database server, Anda cukup membuat file text dengan akhiran .md” di dalam direktori content dan file tersebut akan menjadi halaman di website Anda.

Leave a Reply

Your email address will not be published.