Croogo adalah Content Management System (CMS) open source gratis yang ditulis dalam PHP. Ini didukung oleh CakePHP MVC framework. Source code CMS Croogo di-host di Github. Dalam tutorial ini kami akan memandu Anda melalui proses instalasi Croogo CMS di server Ubuntu 18.04 LTS yang baru.

Persyaratan

  • PHP 5.6 atau lebih tinggi
  • MySQL 5.7 atau lebih tinggi
  • Nginx terinstall di Ubuntu 18.04

Prasyarat

  • Server yang menjalankan Ubuntu 18.04
  • User non-root dengan hak akses sudo.

Langkah Opsional

Lakukan langkah berikut untuk memeriksa dan juga memastikan Anda telah siap untuk Install Croogo CMS

Periksa versi Ubuntu:

Gunakan perintah berikut untuk memeriksa versi Ubuntu Anda.

lsb_release -ds

Pengaturan zona waktu

Pengaturan zona waktu cukup penting agar pengaturan cron job sesuai dengan waktu lokal, untuk melihat seluruh zona waktu gunakan perintah timedatectl dan tampilkan seluruh zona waktu yang tersedia.

timedatectl list-timezones

Pada contoh kali ini kita akan mengatur pada Zona waktu menjadi Asia/Jakarta :

sudo timedatectl set-timezone 'Asia/Jakarta'

Perbarui paket sistem operasi Anda:

sudo apt update && sudo apt upgrade -y

Instal paket vim, git dan socat:

sudo apt install -y vim git socat

Langkah 1 – Install PHP

Install PHP dan semua PHP extensions :

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-xml php7.2-intl php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-xmlrpc php7.2-zip php7.2-gd

periksa versi PHP :

php --version
# PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )

kemudian buka file konfigurasi php.ini (dengan vim atau nano)

sudo nano /etc/php/7.2/fpm/php.ini

ubah nilai dari masing – masing konfigurasi berikut

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Jakarta

Untuk Zona waktu, bisa melihat melihat panduan kami di sini.

Setelah perubahan restart layanan PHP-FPM:

sudo systemctl restart php7.2-fpm.service

Langkah 2 – Instal MySQL dan buat database untuk Croogo

Croogo mendukung database MySQL/MariaDB, PostgreSQL dan SQLite3. Dalam tutorial ini, kita akan menggunakan MySQL sebagai database server.

Instal database MySQL server :

sudo apt install -y mysql-server

Periksa versi MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper

Jalankan skrip mysql_secure installation untuk meningkatkan keamanan MySQL dan mengatur kata sandi untuk user root MySQL:

sudo mysql_secure_installation

Jawab setiap pertanyaan

Would you like to setup VALIDATE PASSWORD plugin? N
New password: ketik_password_untuk_mysql
Re-enter new password: ketik_ulang-password_untuk_mysql
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Connect ke MySQL shell sebagai user root:

sudo mysql -u root -p
# Enter password

Buat database MySQL kosong dengan utf8mb4 charset dan utf8m4_unicode_ci collation dan user untuk Croogo dan kata sandi untuk database tersebut :

CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON dbname.* TO 'NamaUserAnda' IDENTIFIED BY 'PasswordAnda';
FLUSH PRIVILEGES;

setelah selesai, exit MySQL:

mysql> exit

Ganti dbname, NamaUserAnda, dan PasswordAnda dengan nama dan kata sandi Anda sendiri.

Langkah 3 – 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 mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

periksa versi Acme.sh :

/etc/letsencrypt/acme.sh --version
# v2.8.0

Dapatkan sertifikat RSA dan ECC/ECDSA untuk domain/hostname Anda:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256

Setelah menjalankan perintah di atas, sertifikat dan key Anda akan berada di:

  • untuk RSA/etc/letsencrypt/example.com
  • untuk ECC/ECDSA/etc/letsencrypt/example.com_ecc

Langkah 4 – Instal dan konfigurasikan Nginx

Croogo dapat bekerja dengan baik dengan sebagian besar webserver. Dalam tutorial ini, kita akan memilih Nginx sebagai jembatan antara php dan Croogo.

Instal Nginx:

sudo apt install -y nginx

Periksa versi Nginx :

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

Konfigurasikan Nginx untuk Croogo dengan menjalankan:

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

Dan isi file dengan konfigurasi berikut:

server {

  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;

  server_name example.com;

  root /var/www/croogo/webroot;

  index index.php;

  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;

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

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

}

Aktifkan konfigurasi croogo.conf dengan melakukan symlink file ke direktori sites-enabled:

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

Tes konfigurasi NGINX:

sudo nginx -t

Reload Nginx:

sudo systemctl reload nginx.service

Langkah 5 – Instal Composer

Instal Composer, pengelola dependensi PHP secara global:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { 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.7.2 2018-08-16 16:57:12

Langkah 6 – Instal Croogo

Buat direktori root dokumen tempat Croogo menyimpan semua filenya berada:

sudo mkdir -p /var/www/croogo

kemudian masuk ke direktory document root :

cd /var/www/croogo

Ubah kepemilikan direktori /var/www/croogo menjadi nama user Anda, Misal nama user adalah budi :.

sudo chown -R budi:budi /var/www/croogo

Install package unzip:

sudo apt install -y unzip

Download rilis terbaru dari Croogo CMS dengan memanfaatkan Composer:

composer create-project croogo/app .
composer install

Edit pengaturan database dalam file config/app.php dengan menjalankan:

vim config/app.php

Edit pengaturan berikut sesuai dengan nama yang Anda pilih:

'username' => 'nama_username_database',
'password' => 'kata_sandi_database',
'database' => 'nama_database',
'encoding' => 'utf8mb4'

Ubah pengaturan di atas di bagian default dan test .

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

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

Buka situs Anda di browser web dan ikuti instruksi di layar untuk menyelesaikan instalasi Croogo.

Langkah 7 – Selesaikan pengaturan Croogo

Buka situs Anda di web browser. Jika semua persyaratan terpenuhi, lakukan instalasi dengan menekan tombol “Start installation”:

Cara Install Croogo CMS di Nginx Ubuntu 1

Masukkan pengaturan database Anda:

Cara Install Croogo CMS di Nginx Ubuntu 2

Buat akun user admin :

Cara Install Croogo CMS di Nginx Ubuntu 3

Selesaikan setup:

Cara Install Croogo CMS di Nginx Ubuntu 4

Untuk mengakses halaman admin Croogo CMS, tambahkan /admin ke URL situs atau alamat IP Anda.