GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Sistem Halaman Status Cachet di Debian 9

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, MariaDB, dan Composer.

Persyaratan

  • Versi PHP 5.5.9 atau lebih baru
  • Server HTTP dengan dukungan PHP (misalnya:Nginx, Apache, Caddy)
  • Komposer
  • Database yang didukung:MySQL, PostgreSQL, atau SQLite

Prasyarat

  • Server yang menjalankan Debian 9.
    Pengguna non-root dengan hak istimewa sudo.

Langkah awal

Periksa versi Debian:

lsb_release -ds
# Debian GNU/Linux 9.5 (stretch)

Siapkan zona waktu:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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 sudo

Langkah 1 - Instal PHP

Instal PHP dan ekstensi PHP yang diperlukan:

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-xml php7.0-gd php7.0-zip php7.0-mbstring php7.0-mysql php7.0-pgsql php7.0-sqlite3 php7.0-mcrypt php-apcu

Periksa versi PHP:

php --version
# PHP 7.0.30-0+deb9u1 (cli) (built: Jun 14 2018 13:50:25) ( NTS )

Langkah 2 - Instal MariaDB dan buat database untuk Cachet

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

Instal server database MariaDB:

sudo apt install -y mariadb-server

Periksa versi MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Jalankan mysql_secure installation skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk root MySQL pengguna:

sudo mysql_secure_installation

Jawab setiap pertanyaan:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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:

mysql -u root -p
# Enter password

Buat database dan pengguna MariaDB kosong untuk Cachet dan ingat kredensialnya:

MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Keluar dari MariaDB:

MariaDB [(none)]> exit

Ganti dbname, username dan password dengan nama Anda sendiri.

Langkah 3 - Instal klien Acme.sh dan dapatkan sertifikat Let's Encrypt (opsional)

Mengamankan halaman status Anda dengan HTTPS tidak diperlukan, tetapi ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat SSL dari Let's Encrypt kami akan menggunakan klien Acme.sh. Acme.sh adalah perangkat lunak shell unix murni untuk mendapatkan sertifikat SSL dari Let's Encrypt tanpa ketergantungan.

Unduh dan instal 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 RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:

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

Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:

  • Untuk RSA/etc/letsencrypt/status.example.com direktori.
  • Untuk ECC/ECDSA/etc/letsencrypt/status.example.com_ecc direktori.

Langkah 4 - Instal dan konfigurasikan Nginx

Cachet dapat bekerja dengan baik dengan banyak server web. Dalam tutorial ini, kami memilih Nginx.

Instal Nginx:

sudo apt install -y nginx

Periksa versi Nginx:

sudo nginx -v
# nginx version: nginx/1.10.3

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;

  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.0-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') === '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 Komposer:

composer --version
# Composer version 1.7.2 2018-08-16 16:57:12

Langkah 6 - Instal Cachet

Buat direktori root dokumen tempat Cachet harus berada:

sudo mkdir -p /var/www/cachet

Arahkan ke direktori root dokumen:

cd /var/www/cachet

Download kode sumber Cachet dengan Git dan checkout ke rilis terbaru dengan tag:

git clone https://github.com/cachethq/Cachet.git .
git tag -l
git checkout v2.3.15

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 app: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.

  • https://cachethq.io/

Debian
  1. Cara Menginstal Tomcat 8.5 di Debian 9

  2. Cara Menginstal MongoDB di Debian 9

  3. Cara Menginstal Nginx di Debian 9

  1. Cara Instal Apache di Debian 9

  2. Cara Menginstal Jenkins di Debian 9

  3. Cara Menginstal Webmin di Debian 9

  1. Cara Menginstal Tomcat 9 di Debian 9

  2. Cara Menginstal Elasticsearch di Debian 9

  3. Cara menginstal ERPNext di Debian 9