WonderCMS adalah CMS file datar sumber terbuka dan gratis, yang ditujukan untuk menjadi sangat kecil, ringan, dan sederhana. Itu dibangun dengan PHP, jQuery, HTML/CSS dan dikembangkan sejak 2008. Tidak diperlukan konfigurasi awal. Proses instalasi cukup mudah - unzip dan unggah 5 file. Semua file dapat dengan mudah dipindahkan, dicadangkan, dan dipulihkan dengan menyalin/menempelkan semua file ke lokasi lain. Memindahkannya ke host lain tidak memerlukan konfigurasi ulang. WonderCMS juga tidak memerlukan database tradisional/relasional seperti MySQL. Teknologi file datar memungkinkan WonderCMS untuk menyimpan semua data ke file teks (file datar) yang disebut database.js yang terstruktur dalam format JSON. Dalam tutorial ini, kita akan melalui instalasi dan penyiapan WonderCMS pada sistem CentOS 7 dengan menggunakan Nginx sebagai server web, dan secara opsional Anda dapat mengamankan lapisan transport dengan menggunakan klien Acme.sh dan Let's Encrypt certificate authority untuk menambahkan dukungan SSL.
Persyaratan
Persyaratan untuk menginstal dan menjalankan WonderCMS adalah:
- PHP versi 7.1 atau lebih tinggi dengan ekstensi curl, mbstring, dan zip.
- Server web (Apache dengan
mod_rewrite
modul diaktifkan, Nginx, IIS).
Prasyarat
- Sistem operasi CentOS 7.
- Pengguna non-root dengan
sudo
hak istimewa.
Langkah awal
Periksa versi CentOS Anda:
cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)
Siapkan zona waktu:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
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 yum update -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi CentOS:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release
Langkah 1 - Instal PHP dan ekstensi PHP yang diperlukan
Siapkan repo Webtatic YUM:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-zip php72w-mbstring php72w-json
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
Mulai dan aktifkan layanan PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Langkah 2 - Instal klien acme.sh dan dapatkan sertifikat Let's Encrypt ( opsional )
Mengamankan forum 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 perangkat lunak 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.0
Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/nama host 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 perintah di atas.
Setelah menjalankan perintah di atas, sertifikat 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 konfigurasikan NGINX
WonderCMS dapat bekerja dengan baik dengan banyak perangkat lunak server web populer. Dalam tutorial ini, kami memilih NGINX.
Instal NGINX:
sudo yum install -y nginx
Periksa versi NGINX:
nginx -v
# nginx version: nginx/1.12.2
Mulai dan aktifkan layanan NGINX:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Selanjutnya, konfigurasikan NGINX untuk WonderCMS. Jalankan sudo vim /etc/nginx/conf.d/wondercms.conf
dan tambahkan konfigurasi berikut:
server {
listen 80;
listen 443 ssl;
server_name example.com;
root /var/www/wondercms;
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 / {
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?page=$1 last;
}
}
location ~ database.js {
return 403;
}
location ~ \.php(/|$) {
try_files $uri =404;
fastcgi_pass http://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;
}
}
Periksa konfigurasi NGINX untuk kesalahan sintaks:
sudo nginx -t
Muat ulang layanan NGINX:
sudo systemctl reload nginx.service
Langkah 4 - Instal WonderCMS
Buat direktori root dokumen untuk WonderCMS.
sudo mkdir -p /var/www/wondercms
Ubah kepemilikan /var/www/wondercms
direktori ke [jour_username]. The string [
jour_username] must be replaced with the name of the Linux user that you are currently logged in.
sudo chown -R [your_username]:[your_username] /var/www/wondercms
Arahkan ke direktori root dokumen:
cd /var/www/wondercms
Unduh dan unzip sumber 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 file WonderCMS ke direktori root dokumen.
mv wondercms/* . && mv wondercms/.*.
rmdir wondercms
Ubah kepemilikan /var/www/wondercms
direktori ke nginx:
sudo chown -R nginx:nginx /var/www/wondercms
Jalankan sudo vim /etc/php-fpm.d/www.conf
dan atur pengguna dan grup ke nginx
.
sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
Hapus # di depan baris pengguna dan grup, jika ada # di depan.
Kemudian restart layanan PHP-FPM.
sudo systemctl restart php-fpm.service
Buka situs Anda di browser web dan masuk dengan kata sandi default admin
dan ubah kata sandi default sesudahnya.
Tautan
- https://www.wondercms.com/
- https://github.com/robiso/wondercms