WonderCMS adalah CMS flat file (tanpa hirarki) yang free dan open source yang di desain untuk dapat dengan mudah digunakan, ringan dan sederhana. WonderCMS dibangun dengan dukungan PHP, jQuery, HTML/CSS dan dikembangkan sejak 2008.

Proses instalasi cukup mudah – unzip dan unggah 5 file. Semua file dapat dengan mudah dipindahkan, dicadangkan dan dipulihkan dengan cara copy-paste semua file ke lokasi lain. Memindahkan file ke host lain tidak memerlukan konfigurasi ulang.

WonderCMS juga tidak memerlukan database tradisional / relasional seperti MySQL/MariaDB atau database engine lain. Teknologi flat file memungkinkan WonderCMS untuk menyimpan semua data ke file teks (flat file) yang disebut database.js yang terstruktur dalam format JSON.

Dalam tutorial ini, kita akan membahas cara install dan konfigurasi WonderCMS pada sistem Ubuntu 18.04 LTS dengan menggunakan Nginx sebagai web server, dan secara opsional Anda dapat mengamankan transport layer dengan menggunakan klien Acme.sh dan otoritas Let’s Encrypt untuk menambahkan dukungan SSL.

Persyaratan

  • Server Ubuntu 18.04
  • PHP version 7.1 atau yang lebih baru dengan extensions curl, mbstring dan zip.
  • Web server (Apache dengan modul mod_rewrite enabled, Nginx, IIS).
  • Masuk sebagai root atau user biasa dengan hak 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 (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 Ubuntu:

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

Langkah 1 – Instal PHP dan Ekstensi PHP

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 modul PHP yang dikompilasi, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP dengan menjalankan perintah :

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.10-0ubuntu0.18.04.1, 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 SSL .

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--staging ke 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

WonderCMS dapat bekerja dengan baik dengan banyak perangkat lunak web server populer. Dalam tutorial ini, Kita akan memilih NGINX.

Install NGINX:

sudo apt install -y nginx

Periksa versi NGINX :

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

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

sudo vim /etc/nginx/sites-available/wondercms.conf
server {
  
  listen 80;

  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 root direktori untuk WonderCMS, direktori ini merupakan tempat di mana WonderCMS menyimpan semua data dan file dari CMS.

sudo mkdir -p /var/www/wondercms

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

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

Masuk ke direktori  document root WonderCMS:

cd /var/www/wondercms

Download dan unzip source WonderCMS:

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 direktori dan file WonderCMS ke direktori document root :.

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

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

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

Buka situs Anda di web browser dan log in dengan kata sandi default admin dan ubah kata sandi default setelah Anda masuk.

ubuntu wondercms