Cachet adalah sistem halaman status sumber terbuka yang cantik dan kuat yang ditulis dalam PHP yang memungkinkan Anda berkomunikasi dengan lebih baik waktu henti dan gangguan sistem kepada pelanggan, tim, dan pemegang saham Anda. Aplikasi ini memberi Anda banyak fitur, yang paling menonjol di antaranya adalah:JSON API yang andal, laporan insiden, metrik, dukungan penurunan harga untuk pesan insiden, notifikasi pelanggan melalui email, autentikasi dua faktor. Dalam tutorial ini, kita akan menginstal sistem halaman status Cachet dengan memanfaatkan PHP, Nginx, MySQL, dan Composer di Ubuntu 18.04 LTS.
Persyaratan
- Versi PHP 7.1 atau lebih baru
- Server HTTP dengan dukungan PHP (misalnya:Nginx, Apache, Caddy)
- Komposer
- Database yang didukung:MySQL, PostgreSQL, atau SQLite
- Git
Prasyarat
- Sistem operasi Ubuntu 18.04 LTS.
- Pengguna non-root dengan hak istimewa sudo.
Langkah awal
Periksa versi Ubuntu Anda:
lsb_release -ds
# Ubuntu 18.04.1 LTS
Siapkan zona waktu:
sudo dpkg-reconfigure tzdata
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 apt update && sudo apt upgrade -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Ubuntu:
sudo apt install -y curl wget vim git unzip socat bash-completion
Langkah 1 - Instal 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-xml php7.2-gd php7.2-zip php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-opcache php-apcu
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( 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 pada sistem Ubuntu 18.04, jadi tidak perlu memulai dan mengaktifkannya secara manual. Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.
Langkah 2 - Instal MySQL dan buat database untuk Cachet
Cachet mendukung database MySQL, MariaDB, PostgreSQL, dan SQLite. Dalam tutorial ini, kita akan menggunakan MySQL sebagai server database.
Instal server database MySQL:
sudo apt install -y mysql-server
Periksa versi MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper
Jalankan mysql_secure installation
skrip untuk meningkatkan keamanan MySQL dan menyetel sandi untuk root
MySQL pengguna:
sudo mysql_secure_installation
Jawab setiap pertanyaan:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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
Hubungkan ke shell MySQL sebagai pengguna root:
sudo mysql -u root -p
# Enter password
Buat database MySQL kosong dan pengguna untuk Cachet dan ingat kredensialnya:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Keluar dari MySQL:
mysql> exit
Ganti dbname
, username
dan password
dengan nama Anda sendiri.
Langkah 3 - Instal klien Acme.sh dan dapatkan sertifikat Let's Encrypt (opsional)
Mengamankan situs web 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 software 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/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 Anda menginginkan sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging
tandai ke perintah di atas.
Setelah menjalankan perintah di atas, sertifikat your 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 4 - Instal dan konfigurasikan NGINX
Cachet dapat bekerja dengan baik dengan banyak server web. Dalam tutorial ini, kami memilih Nginx. Jika Anda lebih memilih server web Apache daripada Nginx, kunjungi https://docs.cachethq.io/docs/installing-cachet#section-running-cachet-on-apache untuk mempelajari lebih lanjut.
Instal Nginx:
sudo apt install -y nginx
Periksa versi Nginx:
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Konfigurasi Nginx untuk Cachet dengan menjalankan:
sudo vim /etc/nginx/sites-available/cachet.conf
Dan isi file dengan konfigurasi berikut:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name status.example.com;
root /var/www/cachet/public;
index index.php;
ssl_certificate /etc/letsencrypt/status.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/status.example.com/status.example.com.key;
ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/status.example.com.key;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
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 cachet.conf
baru konfigurasi dengan menautkan file ke sites-enabled
direktori:
sudo ln -s /etc/nginx/sites-available/cachet.conf /etc/nginx/sites-enabled/
Uji konfigurasi NGINX:
sudo nginx -t
Muat ulang Nginx:
sudo systemctl reload nginx.service
Langkah 5 - Instal Komposer
Instal Composer, pengelola ketergantungan PHP secara global:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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 Komposer:
composer --version
# Composer version 1.8.3 2019-01-30 08:31:33
Langkah 6 - Instal Cachet
Buat direktori root dokumen tempat Cachet harus berada:
sudo mkdir -p /var/www/cachet
Ubah kepemilikan /var/www/cachet
direktori ke {jour_user}
:
sudo chown -R {your_user}:{your_user} /var/www/cachet
CATATAN : Ganti {jour_user}
dengan nama pengguna pengguna non-root yang pertama kali Anda buat.
Arahkan ke direktori root dokumen:
cd /var/www/cachet
Unduh kode sumber Cachet dengan Git:
git clone -b 2.4 --single-branch https://github.com/cachethq/Cachet.git .
Salin .env.example
ke .env
file dan konfigurasikan database dan APP_URL
setelan di .env
berkas:
cp .env.example .env
vim .env
Instal dependensi Cachet dengan Komposer:
composer install --no-dev -o
Siapkan kunci aplikasi dengan menjalankan:
php artisan key:generate
Instal Cachet:
php artisan cachet:install
Ubah kepemilikan /var/www/cachet
direktori ke www-data:
sudo chown -R www-data:www-data /var/www/cachet
Buka situs Anda di browser web dan ikuti petunjuk di layar untuk menyelesaikan penginstalan Cachet.
Langkah 7 - Selesaikan penyiapan Cachet
Pilih cache dan driver sesi dan konfigurasikan opsi email:
Konfigurasikan pengaturan situs umum seperti nama situs, domain situs, zona waktu, dan bahasa:
Buat akun pengguna administratif:
Setelah itu, Anda akan mendapatkan pesan bahwa Cachet telah berhasil dikonfigurasi. Anda dapat membuka dasbor Cachet dengan menekan tombol "Pergi ke dasbor":
Instalasi dan pengaturan cache telah selesai.
Untuk mengakses dasbor Cachet, tambahkan /dashboard
ke URL situs web Anda.
Tautan
- https://cachethq.io/
- https://github.com/CachetHQ/Cachet