Automad adalah content management system (CMS) berbasis file dan template engine yang ditulis dalam Bahasa pemrograman PHP. Semua konten akan disimpan dalam file teks biasa dan tidak memerlukan database.

Situs Automad sepenuhnya portabel, mudah di install, dan dapat dikontrol versi menggunakan Git atau Mercurial. Namun demikian ia menawarkan fitur database seperti pencarian dan tag. Mesin template bawaan memungkinkan baik pengembang pro maupun yang tidak berpengalaman untuk membuat template sendiri dengan mudah.

Dalam tutorial ini, kita akan pergi melalui instalasi dan pengaturan Automad CMS pada sistem CentOS 7 dengan menggunakan NGINX sebagai server web.

Persyaratan

Persyaratan untuk install dan menjalankan Automad CMS adalah sebagai berikut:

  • PHP versi 5.4 atau lebih tinggi.
  • Web server seperti Lighttpd, Nginx atau Apache.

Prasyarat

  • Sistem yang menjalankan sistem CentOS 7.
  • Masuk sebagai user non-root dengan hak sudo.

Langkah awal

Periksa versi CentOS Anda:

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

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 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 – Install PHP dan PHP extensions

Setup Webtatic YUM repo:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Install PHP dan juga PHP extensions yang diperlukan :

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xmlrpc php72w-soap php72w-gd php72w-xml php72w-curl php72w-zip

Untuk menampilkan modul PHP yang telah terkompilasi, anda dapat menjalankan :

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP :

php --version
# PHP 7.2.19 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Start dan aktifkan PHP-FPM service dengan perintah :

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Langkah 2 – Instal Acme.sh client dan install sertifikat Let’s Encrypt

Mengamankan situs web Anda dengan HTTPS sangat penting, ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat SSL dari Let’s Encrypt, kita akan menggunakan klien Acme.sh.

Acme.sh adalah perangkat lunak unix shell murni untuk mendapatkan sertifikat SSL dari Let’s Encrypt dengan tanpa dependensi.

Download dan install 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.2

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 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/letsencrypt/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

Download dan install NGINX dari repository default CentOS :

sudo yum install -y nginx

Periksa versi NGINX :

sudo nginx -v
# nginx version: nginx/1.12.2

Start and enable Nginx service:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

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

sudo vim /etc/nginx/sites-available/automad.conf
server {

  listen [::]:443 ssl http2;
  listen 443 ssl http2;
  listen [::]:80;
  listen 80;
  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECC
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
  server_name example.com;

  root /var/www/automad;

  index index.php index.html;

  client_max_body_size 100M;

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


  location ~ \.php$ {
    fastcgi_index index.php;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

}

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

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

Periksa konfigurasi NGINX untuk melihat tidak ada syntax errors:

sudo nginx -t

Reload Nginx:

sudo systemctl reload nginx.service

Langkah 4 – Instal Automad CMS

Buat direktori root dokumen untuk Automad:

sudo mkdir -p /var/www/automad

Masuk ke direktori document root:

cd /var/www/automad

Download rilis terbaru Automad CMS menggunakan perintah curl,

sudo curl -O -J -L https://automad.org/download

Unzip file automad-master.zip :

sudo unzip automad-master.zip

Pindahkan semua file Automad ke root dokumen dan hapus arsip zip yang telah di unduh.

sudo mv automad-master/* . && sudo mv automad-master/.* .
sudo rm automad-master.zip
sudo rmdir automad-master

Ubah kepemilikan direktori menjadi nginx:nginx

sudo chown -R nginx:nginx /var/www/automad

kemudian jalankan perintah berikut dan periksa user dan group.

sudo vim /etc/php-fpm.d/www.conf

lihat dan periksa konfigurasi berikut, jika nilai dari user dan group masih apache, ubah menjadi nginx :

user = nginx
group = nginx

Langkah terakhir, restart PHP-FPM service agar perubahan ini diterapkan:

sudo systemctl restart php-fpm.service

Langkah 5 – Selesaikan instalasi Automad

Sebagai langkah terakhir, buat akun pengguna untuk menggunakan antarmuka pengguna berbasis browser yang disebut Dashboard. Karena itu silahkan buka web browser dan buka alamat https://namadomainanda.com/dashboard dan ikuti instruksi.

Sebelum Anda dapat menggunakan dasbor Automad, Anda harus membuat akun:

create automad user account

Buat akun user menggunakan formulir dan download file yang dihasilkan ke komputer Anda. Setelah itu Anda perlu memindahkan file yang diunduh ke direktori “/config” di dalam direktori instalasi Automad.

Setelah itu Anda dapat masuk ke dasbor Automad:

automad-dashboard-login-page.jpg

Pada akhirnya, interface admin Automad akan ditampilkan:

automad dashboard interface

Instalasi automad selesai.