Menginstal Alat "PHP Server Monitor" menggunakan LEMP atau LAMP Stack di Arch Linux


PHP Server Monitor adalah alat pemantauan frontend web Sumber Terbuka yang ditulis dalam PHP, yang dapat memverifikasi apakah server (IP, domain) atau layanan Anda aktif dan berjalan dan dapat mengirimi Anda pemberitahuan melalui layanan email atau SMS jika terjadi masalah pada layanan atau port yang dipantau. Ia memeriksa situs web dengan menggunakan kode status HTTP, dapat menampilkan grafik riwayat uptime dan latensi dan dapat menggunakan dua tingkat otentikasi (administrator dan pengguna biasa).

Tutorial ini menyajikan kepada Anda cara menginstal PHP Server Monitor di lingkungan server Arch Linux menggunakan Apache sebagai server atau server web Nginx, jadi, Anda dapat memilih proses instalasi yang paling sesuai untuk Anda.

Persyaratan Monitor Server PHP

Sebagai persyaratan umum untuk menginstal dan mengatur PHP Server Monitor untuk platform Linux lainnya, server Anda memerlukan paket-paket berikut diinstal.

  1. PHP 5.3.7+
  2. Paket PHP: cURL, MySQL
  3. Basis Data MySQL
  4. Server web Nginx atau Apache

Persyaratan sistem

Untuk menginstal PHP Server Monitor dengan Nginx gunakan tutorial berikut sebagai panduan untuk mengatur tumpukan LEMP dan Host Virtual di Arch.

  1. Instal LEMP (Linux, Nginx, MySQL, PHP) di Arch Linux
  2. Buat Host Virtual Nginx di Arch Linux

Untuk menginstal PHP Server Monitor dengan Apache gunakan panduan berikut untuk mengatur tumpukan LAMP di Arch Linux.

  1. Instal LAMP (Linux, Apache, MySQL, PHP) di Arch Linux

Langkah 1: Konfigurasikan Server Web Nginx/Apache

1. Sebelum memulai, jika pengaturan Anda menggunakan Hosting Virtual, Anda perlu memastikan bahwa Anda memiliki entri DNS valid yang mengarah ke domain Anda atau menggunakan file hosts lokal jika Anda tidak melakukannya. tidak memiliki server DNS. Tutorial ini menggunakan Virtual Hosting dengan kedua server web (Nginx dan Apache) yang dikonfigurasi dengan domain lokal palsu – phpsrvmon.lan – melalui file /etc/hosts.

Buat File Konfigurasi Virtual Host Nginx

2. Untuk menambahkan Nginx Virtual Host baru, buat file konfigurasi baru di /etc/nginx/sites-available/ dengan phpsrvmon.conf beri nama dan gunakan templat berikut sebagai contoh konfigurasi.

sudo nano /etc/nginx/sites-available/phpsrvmon.conf

Tambahkan kode berikut ke file phpsrvmon.conf.

server {
    listen 80;
    server_name phpsrvmon.lan;

    access_log /var/log/nginx/phpsrvmon.lan-access.log;
    error_log /var/log/nginx/phpsrvmon.lan-error.log;

                root /srv/www/phpsrvmon;

    location / {
    index index.php index.html index.htm;
                autoindex on;
}

location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

3. Jika Anda ingin mengakses PHP Sever Monitor melalui protokol HTTP yang aman, buat file konfigurasi setara SSL-nya.

sudo nano /etc/nginx/sites-available/phpsrvmon-ssl.conf

Tambahkan kode berikut ke file phpsrvmon-ssl.conf.

server {
    listen 443 ssl;
    server_name phpsrvmon.lan;

       root /srv/www/phpsrvmon;
       ssl_certificate     /etc/nginx/ssl/nginx.crt;
       ssl_certificate_key  /etc/nginx/ssl/nginx.key;
       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;
       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;

    access_log /var/log/nginx/phpsrvmon.lan-ssl_access.log;
    error_log /var/log/nginx/phpsrvmon.lan-ssl_error.log;

    location / {
    index index.php index.html index.htm;
                autoindex on;
 }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

4. Setelah mengedit file conf Nginx, buat jalur Root Dokumen, jika Anda mengubahnya seperti di sini menjadi /srv/www/phpsrvmon/, aktifkan kedua host virtual menggunakan n2ensite dan mulai ulang Nginx untuk mencerminkan perubahan.

sudo mkdir -p /srv/www/phpsrvmon/
sudo n2ensite phpsrvmon
sudo n2ensite phpsrvmon-ssl
sudo systemctl restart nginx

Jika Anda memerlukan sertifikat SSL baru untuk Virtual Host Anda, buatlah sertifikat tersebut menggunakan perintah nginx_gen_ssl dengan nama domain Anda dan ubah phpsrvmon-ssl.conf sesuai kebutuhan.

Buat File Konfigurasi Virtual Host Apache

5. Jika Anda menggunakan Apache sebagai server web, buat file konfigurasi Virtual Host baru di /etc/httpd/conf/sites-available/ dengan phpsrvmon. beri nama conf dan gunakan definisi file berikut sebagai templat.

sudo nano /etc/httpd/conf/sites-available/phpsrvmon.conf

Tambahkan kode berikut ke file phpsrvmon.conf.

<VirtualHost *:80>
                DocumentRoot "/srv/www/phpsrvmon"
                ServerName phpsrvmon.lan
                ServerAdmin [email 
                ErrorLog "/var/log/httpd/phpsrvmon-error_log"
                TransferLog "/var/log/httpd/phpsrvmon-access_log"

<Directory />
    Options +Indexes
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>
</VirtualHost>

6. Jika Anda juga memerlukan akses Monitor Server PHP pada protokol HTTPS, buat file konfigurasi SSL Virtual Host baru dengan pernyataan berikut.

sudo nano /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf

Tambahkan seluruh kode berikut ke file phpsrvmon-ssl.conf.

<VirtualHost *:443>
                ServerName phpsrvmon.lan
                DocumentRoot "/srv/www/phpsrvmon"
                ServerAdmin [email 
                ErrorLog "/var/log/httpd/phpsrvmon.lan-error_log"
                TransferLog "/var/log/httpd/phpsrvmon.lan-access_log"

SSLEngine on
SSLCertificateFile "/etc/httpd/conf/ssl/phpsrvmon.lan.crt"
SSLCertificateKeyFile "/etc/httpd/conf/ssl/phpsrvmon.lan.key"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

<Directory />
    Options +Indexes
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>
</VirtualHost>

7. Menggunakan prosedur yang sama seperti untuk Nginx, buat direktori Root Dokumen, jika jalur file web yang dilayani telah berubah, aktifkan Apache Virtual Hosts menggunakan perintah a2ensite dan mulai ulang daemon ke menerapkan perubahan.

sudo mkdir -p /srv/www/phpsrvmon/
sudo a2ensite phpsrvmon
sudo a2ensite phpsrvmon-ssl
sudo systemctl restart httpd

Untuk menghasilkan Sertifikat dan Kunci SSL baru untuk Host Virtual ini, gunakan utilitas apache_gen_ssl, tambahkan nama domain Anda pada nama Sertifikat dan ubah /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf file, mengganti Sertifikat SSL lama dan jalur Kunci serta nama dengan yang baru.

Langkah 2: Edit konfigurasi PHP

8. Untuk menghindari beberapa kesalahan instalasi, PHP Server Monitor akan muncul ketika memverifikasi persyaratan sistem, buka file php.ini dan lakukan penyesuaian berikut.

sudo nano /etc/php/php.ini

Jika jalur Root Dokumen Nginx/Apache telah diubah (yang default adalah /srv/http/) gunakan [Ctrl+w] untuk menemukan open_basedir pernyataan dan tambahkan jalur baru dengan mengawali dengan titik dua “ : ” – dalam hal ini jalur baru adalah /srv/www/ – agar terlihat seperti pada contoh di bawah.

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/

Cari dan aktifkan ekstensi PHP pdo, mysqli dan curl dengan menghapus komentarnya (hapus titik koma dari depannya).

extension=curl.so
extension=mysqli.so
extension=pdo_mysql.so

Temukan zona waktu dan atur waktu lokal Anda menggunakan Halaman Ini.

date.timezone = Continent/City

9. Setelah semua perubahan dilakukan, mulai ulang layanan Anda untuk menerapkan perubahan.

sudo systemctl restart php-fpm
sudo systemctl restart nginx
sudo systemctl restart httpd

Langkah 3: Buat Database MySQL Monitor Server PHP

10. Untuk membuat database yang diperlukan PHP Server Monitor untuk menyimpan informasi, login ke database MySQL/MariaDB dan buat database baru menggunakan perintah berikut (ganti database, pengguna dan kata sandi dengan kredensial pilihan Anda).

mysql -u root -p

MariaDB > create database phpsrvmon;
MariaDB > create user phpsrvmon_user@localhost identified by "user_password";
MariaDB > grant all privileges on phpsrvmon.* to phpsrvmon_user@localhost;
MariaDB > flush privileges;
MariaDB > quit

Jika Anda telah menginstal PhpMyAdmin di sistem Anda, Anda dapat membuat database PHP Server Monitor dengan mengakses MySQL/MariaDB dari antarmuka webnya.

Langkah 4: Instal Monitor Server PHP

11. Sebelum melanjutkan mengunduh alat PHP Server Monitor, pastikan Anda telah menginstal perintah wget.

sudo pacman -S wget

12. Untuk mengambil versi PHP Server Monitor terbaru, buka tautan berikut dan unduh file arsip tar.gz atau gunakan tautan unduhan resmi Git yang disediakan di bawah.

  1. http://www.phpservermonitor.org/download/
  2. https://github.com/phpservermon/phpservermon

Alternatifnya, Anda juga dapat mengunduh langsung menggunakan perintah wget berikut.

wget http://downloads.sourceforge.net/project/phpservermon/phpservermon/PHP%20Server%20Monitor%20v3.0.1/phpservermon-v3.0.1.tar.gz

13. Setelah mengunduh versi terbaru, ekstrak dengan perintah tar dan salin semua konten yang diekstrak ke jalur Root Dokumen Server Web menggunakan perintah berikut.

tar xfvz phpservermon-v3.0.1.tar.gz
sudo cp -r phpservermon/* /srv/www/phpsrvmon/

14. Kemudian buka browser dan navigasikan ke nama domain Anda (jika Anda menggunakan host virtual seperti yang disajikan dalam tutorial ini, jika tidak gunakan alamat IP server Anda) dan pada halaman pembuka tekan tombol Ayo pergi.

15. Pada layar berikutnya masukkan informasi database MySQL Anda dan tekan Simpan konfigurasi.

16. Jika Anda mendapatkan kesalahan yang menyatakan bahwa file konfigurasi Anda tidak dapat ditulis, gunakan perintah berikut untuk membuat file confing.php yang dapat ditulisi dan tekan I telah menyimpan konfigurasi.

su -c “> /srv/www/phpsrvmon/config.php”
sudo chmod 777 /srv/www/phpsrvmon/config.php

17. Setelah menyimpan konfigurasi, buat pengguna administratif untuk PHP Server Monitor dengan memilih kredensial Anda dan tekan tombol Instal.

18. Setelah proses instalasi selesai tekan tombol Buka monitor Anda dan Anda akan diarahkan ke halaman Login. Masuk dengan kredensial Anda dan Anda akan diarahkan ke halaman Monitor Server PHP default. Juga kembalikan perubahan pada file config.php Monitor Server PHP.

sudo chmod 754 /srv/www/phpsrvmon/config.php

19. Untuk menambahkan situs web baru untuk pemantauan, buka Server -> Tambahkan baru, isi kolom yang wajib diisi dengan pengaturan server Anda dan tekan Simpan tombol.

20. Untuk memulai proses pemantauan di semua server dan layanan, tekan tombol Perbarui dan Anda akan diarahkan ke laman beranda default tempat Anda akan disajikan status situs web/layanan Anda.

21. Agar PHP Server Monitor dapat secara otomatis memeriksa status server/layanan Anda pada interval waktu yang teratur, Anda perlu menginstal penjadwal tugas Cron pada sistem Anda dan menambahkan waktu pemantauan entri titik dalam file cron.

sudo pacman -S cronie
sudo systemctl start cronie
sudo systemctl enable cronie

22. Untuk menambahkan entri baru dalam file cron yang memeriksa situs web Anda setiap 5 menit gunakan perintah sudo crontab –e, atau, lebih baik, edit secara manual file root cron yang terletak di < b>/var/spool/cron/ dengan menyesuaikan path agar sesuai dengan direktori instalasi PHP Server Monitor Anda. Untuk membuat daftar semua entri crontab gunakan baris perintah sudo crontab -l.

sudo nano /var/spool/cron/root

Tambahkan entri berikut – sesuaikan periode waktu dan jalur instalasi

*/5 * * * * /usr/bin/php   /srv/www/phpsrvmon/cron/status.cron.php

Kesimpulan

Meskipun PHP Server Monitor tidak mengalami peningkatan kompleksitas seperti layanan pemantauan lainnya seperti Nagios, Cacti atau Zabbix, sumber dayanya cenderung sangat ringan. konsumsi dan dapat memenuhi pekerjaan sebagai platform pemantauan dengan mengkonfigurasi untuk mengirim email atau SMS teks melalui daftar gateway SMS yang luas, jika situs web dan layanan yang Anda pantau mengalami masalah teknis atau sedang down.

Beranda: Monitor Server PHP