WonderCMS adalah sistem manajemen konten free, open-source, sederhana dan ringan untuk membangun situs web dan blog sederhana. CMS Ini termasuk dalam kategori flat-file CMS yang dibangun dengan PHP, jQuery, HTML/CSS yang mana tidak memerlukan database apa pun.

Proses instalasi sangat sederhana dan tidak memerlukan konfigurasi awal cukup unzip dan upload 5 file. Semua file dapat dengan mudah di pindah, di backup dengan copy paste. WonderCMS menawarkan serangkaian fitur termasuk, dukungan WYSIWYG, CSS framework yang fleksibel, SEO friendly dan banyak lagi.

Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menginstal WonderCMS pada Debian 9 dan mengamankannya dengan Let’s Encrypt SSL.

Persyaratan WonderCMS

Syarat untuk install dan menjalankan WonderCMS adalah

  • PHP versi 7.1 atau yang lebih tinggi dengan ekstensi curl, mbstring and zip.
  • Web server (Apache dengan modul mod_rewrite, Nginx, IIS).

Persyaratan Tutorial

  • Sistem Debian 9
  • Memiliki akses ke user root atau user dengan hak akses sudo.

Langkah awal

Siapkan zona waktu server, Pada contoh kali ini kita akan mengatur pada zona waktu menjadi Asia/Jakarta :

timedatectl list-timezones
sudo timedatectl set-timezone 'Asia/Jakarta'

Perbarui paket sistem operasi Anda (software). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan terbaru dan perbaikan keamanan 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 bash-completion apt-transport-https

Langkah 1 – Install PHP dan PHP extensions

Tambahkan repo untuk instalasi PHP 7.2

sudo apt install apt-transport-https lsb-release ca-certificates
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" > /etc/apt/sources.list.d/php.list
sudo apt update

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-zip php7.2-mbstring

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.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.10.debian.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot di Debian 9, 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 [email protected]
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 konfigurasi NGINX

WonderCMS dapat bekerja dengan baik di web server lain. Dalam tutorial ini kita akan menginstall nginx.

Instal NGINX:

sudo apt install -y nginx

Periksa versi NGINX :

sudo nginx -v
# nginx version: nginx/1.10.3

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

sudo nano /etc/nginx/sites-available/wondercms.conf

Copy dan paste konfigurasi berikut

server {
  
  listen 80;
  listen 443 ssl;

  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
  server_name example.com;
  root /var/www/wondercms;

  index index.php;


  location / {
    if (!-e $request_filename) {
      rewrite ^/(.+)$ /index.php?page=$1 last;
    }
  }
  location ~ database.js {
    return 403;
  }

  location ~ \.php(/|$) {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
  }

}

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

sudo ln -s /etc/nginx/sites-available/wondercms.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 WonderCMS

Buat direktori document root untuk WonderCMS direktori ini adalah tempat di mana Phorum menyimpan semua filenya :

sudo mkdir -p /var/www/wondercms

Masuk ke direktori document root:

cd /var/www/wondercms

Download rilis terbaru WonderCMS dari official website dengan perintah wget dan unzip, Jangan lupa mengganti nomor versi Jika ada yang lebih baru:

wget https://github.com/robiso/wondercms/releases/download/2.7.0/WonderCMS-2.7.0.zip
unzip WonderCMS-2.7.0.zip
rm WonderCMS-2.7.0.zip

Pindahkan file WonderCMS files ke root directory.

mv wondercms/* . && mv wondercms/.*.
rmdir wondercms

Berikan kepemilikan direktori /var/www/wondercms menjadi www-data  :

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

Buka situs web browser dan log in dengan password default admin dan ubah password default setelahnya.

Page 1 - WonderCMS installed successfully