GNU/Linux >> Belajar Linux >  >> Fedora

Cara Memasang Sistem Halaman Status Cachet di Fedora 29

Cachet adalah sistem halaman status sumber terbuka yang cantik dan kuat yang ditulis dalam PHP yang memungkinkan Anda mengomunikasikan waktu henti dan kegagalan sistem dengan lebih baik kepada pelanggan, tim, dan pemegang saham Anda. Aplikasi ini menawarkan banyak fitur, yang paling penting adalah:JSON API yang kuat, laporan acara, metrik, dukungan transkripsi untuk pesan acara, pemberitahuan pelanggan melalui email, otentikasi dua faktor. Dalam tutorial ini, kita akan menginstal sistem halaman status Cachet menggunakan PHP, Nginx, MySQL dan Composer pada sistem Fedora 29.

Persyaratan

Untuk menjalankan Cachet di sistem Fedora 29, Anda memerlukan beberapa hal:

  • 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 Fedora 29.
  • Pengguna non-root dengan hak istimewa sudo.

Langkah awal

Periksa versi Fedora Anda:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Siapkan zona waktu:

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

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 dnf check-upgrade || sudo dnf upgrade -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:

sudo dnf install -y curl wget vim git unzip socat bash-completion

Langkah 1 - Instal PHP

Instal PHP, serta ekstensi PHP yang diperlukan:

sudo dnf install -y php-cli php-fpm php-common php-xml php-gd php-zip php-mbstring php-mysqlnd php-pgsql php-sqlite3 php-opcache php-apcu php-json

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP:

php --version

Mulai dan aktifkan layanan PHP-FPM:

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

Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.

Langkah 2 - Instal MariaDB dan buat database untuk Cachet

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

Instal server database MariaDB:

sudo dnf install -y mysql-server

Periksa versi MariaDB:

mysql --version

Mulai dan aktifkan layanan MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Jalankan mysql_secure installation skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root 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 MariaDB sebagai pengguna root:

sudo mysql -u root -p
# Enter password

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

MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;

Keluar dari MariaDB:

MariaDB> exit

Ganti dbnameusername 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

Pasang/salin sertifikat ke /etc/letsencrypt direktori.

# 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 dnf install -y nginx

Periksa versi Nginx:

sudo nginx -v

Mulai dan aktifkan layanan Nginx:

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

Konfigurasi Nginx untuk Cachet dengan menjalankan:

sudo vim /etc/nginx/conf.d/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;
  }

}

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.4 2019-02-11 10:52:10

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

CATATANGanti {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

Berikan kepemilikan yang sesuai:

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

Jalankan sudo vim /etc/php-fpm.d/www.conf dan setel pengguna dan grup ke nginx . Awalnya, mereka akan disetel ke apache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

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/
  • https://github.com/CachetHQ/Cachet

Fedora
  1. Cara menginstal Docker di sistem Fedora Linux

  2. Cara Menginstal Phorum dengan Nginx di Fedora 30

  3. Cara Menginstal PHP 8 di Fedora 35

  1. Cara Menginstal Sistem Halaman Status Cachet di Debian 9

  2. Cara Menginstal Sistem Halaman Status Cachet di Ubuntu 18.04 LTS

  3. Cara Memasang Bolt CMS di Fedora 29

  1. Cara Menginstal Sistem Halaman Status Cachet di CentOS 7

  2. Cara Memasang Anchor CMS di Fedora 29

  3. Cara Memasang InvoicePlane dengan Nginx di Fedora 29