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
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”:
Masukkan pengaturan database Anda:
Buat akun user admin :
Selesaikan setup:
Untuk mengakses halaman admin Croogo CMS, tambahkan /admin ke URL situs atau alamat IP Anda.