আর্ক লিনাক্সে এলইএমপি বা এলএএমপি স্ট্যাক ব্যবহার করে "পিএইচপি সার্ভার মনিটর" সরঞ্জাম ইনস্টল করা


পিএইচপি সার্ভার মনিটর হ'ল একটি ওপেন সোর্স ওয়েব ফ্রন্টএন্ড মনিটরিং টুল যা পিএইচপি-তে লিখিত হয়েছে যা আপনার সার্ভারগুলি (আইপি, ডোমেন) বা পরিষেবাগুলি চালু রয়েছে কিনা তা যাচাই করতে পারে এবং আপনাকে মেল পরিষেবা বা এসএমএসের মাধ্যমে বিজ্ঞপ্তি পাঠাতে পারে can যদি কোনও তদারকি করা পরিষেবা বা বন্দরে সমস্যা দেখা দেয়। এটি এইচটিটিপি স্থিতি কোড ব্যবহার করে ওয়েবসাইটগুলি পরীক্ষা করে, আপটাইম এবং বিলম্বের ইতিহাস গ্রাফ প্রদর্শন করতে পারে এবং দুটি স্তরের প্রমাণীকরণ (প্রশাসক এবং নিয়মিত ব্যবহারকারী) ব্যবহার করতে পারে।

এই টিউটোরিয়ালটি আপনাকে একটি আর্চ লিনাক্স সার্ভার পরিবেশে পিএইচপি সার্ভার মনিটর ইনস্টল করার উপায়টি উপস্থাপন করে যাতে অ্যাপাচি সার্ভার হিসাবে বা এনগিনেক্স ওয়েব সার্ভার, সুতরাং, আপনি আপনার পছন্দ অনুসারে ইনস্টলেশন প্রক্রিয়াটি চয়ন করতে পারেন।

অন্য কোনও লিনাক্স প্ল্যাটফর্মের জন্য পিএইচপি সার্ভার মনিটর ইনস্টল এবং সেটআপ করার জন্য সাধারণ প্রয়োজনীয়তা হিসাবে, আপনার সার্ভারের নিম্নলিখিত প্যাকেজগুলি ইনস্টল করা দরকার।

  1. পিএইচপি 5.3.7+
  2. পিএইচপি প্যাকেজগুলি: সিআরএল, মাইএসকিউএল
  3. মাইএসকিউএল ডেটাবেস
  4. এনগিনেক্স বা অ্যাপাচি ওয়েব সার্ভার

এনগিনেক্সের সাথে পিএইচপি সার্ভার মনিটর ইনস্টল করতে এলইএমপি স্ট্যাক এবং আর্চটিতে ভার্চুয়াল হোস্ট সেটআপের গাইড হিসাবে নিম্নলিখিত টিউটোরিয়ালগুলি ব্যবহার করুন।

  1. আর্ক লিনাক্সে এলইএমপি (লিনাক্স, এনগিনেক্স, মাইএসকিউএল, পিএইচপি) ইনস্টল করুন
  2. আর্চ লিনাক্সে এনগিনেক্স ভার্চুয়াল হোস্টগুলি তৈরি করুন

অ্যাপাচি সহ পিএইচপি সার্ভার মনিটর ইনস্টল করতে আর্চ লিনাক্সে এলএএমপি স্ট্যাক সেটআপ করতে নিম্নলিখিত গাইডটি ব্যবহার করুন।

  1. আর্ক লিনাক্সে ল্যাম্প (লিনাক্স, অ্যাপাচি, মাইএসকিউএল, পিএইচপি) ইনস্টল করুন

পদক্ষেপ 1: এনগিনেক্স/অ্যাপাচি ওয়েবসার্ভারটি কনফিগার করুন

1. আমরা শুরু করার আগে, যদি আপনার সেটআপটি ভার্চুয়াল হোস্টিং ব্যবহার করে তবে আপনাকে নিশ্চিত করতে হবে যে আপনার ডোমেনের দিকে নির্দেশ করে বৈধ DNS এন্ট্রি রয়েছে বা আপনার কাছে কোনও ডিএনএস সার্ভার না থাকলে স্থানীয় হোস্ট ফাইলটি ব্যবহার করা উচিত। এই টিউটোরিয়ালটি উভয় ওয়েব সার্ভারের সাথে ভার্চুয়াল হোস্টিং ব্যবহার করে ( এনগিনেক্স এবং অ্যাপাচি ) স্থানীয় ডোমেনের সাথে নকল - phpsrvmon.lan - মাধ্যমে/ইত্যাদি/হোস্ট ফাইল।

২. একটি নতুন এনগিনেক্স ভার্চুয়াল হোস্ট যুক্ত করতে phpsrvmon.conf নাম < নামে একটি নতুন কনফিগারেশন ফাইল তৈরি করুন এবং নিম্নলিখিত টেমপ্লেট হিসাবে ব্যবহার করুন একটি কনফিগারেশন উদাহরণ।

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

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;
    }
}

৩. আপনি যদি নিরাপদ HTTP প্রোটোকলের মাধ্যমে পিএইচপি সেভার মনিটর অ্যাক্সেস করতে চান তবে এর এসএসএল সমতুল্য কনফিগারেশন ফাইলটি তৈরি করুন।

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

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;
    }
}

৪) এনগিনেক্স কনফ ফাইল ফাইল সম্পাদনা করার পরে ডকুমেন্ট রুট পাথ তৈরি করুন, যদি আপনি এটিকে এখানে /এসআরভি/www/phpsrvmon/ হিসাবে পরিবর্তিত করেন তবে n2ensite ইউটিলিটি ব্যবহার করে উভয় ভার্চুয়াল হোস্ট সক্রিয় করুন এবং পরিবর্তনগুলি প্রতিবিম্বিত করতে Nginx পুনরায় চালু করুন।

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

আপনার ভার্চুয়াল হোস্টের জন্য যদি নতুন এসএসএল শংসাপত্রের প্রয়োজন হয় তবে আপনার ডোমেন নামের সাথে nginx_gen_ssl কমান্ডটি ব্যবহার করে একটি জেনারেট করুন এবং সেই অনুযায়ী phpsrvmon-ssl.conf সংশোধন করুন।

৫. আপনি যদি ওয়েব সার্ভার হিসাবে অ্যাপাচি ব্যবহার করেন তবে phpsrvmon.conf নাম এবং /etc/httpd/conf/সাইটগুলি উপলভ্য/ তে একটি নতুন ভার্চুয়াল হোস্ট কনফিগারেশন ফাইল তৈরি করুন এবং টেমপ্লেট হিসাবে নিম্নলিখিত ফাইল সংজ্ঞা ব্যবহার করুন।

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

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>

HT. যদি আপনারও এইচটিটিপিএস প্রোটোকলে অ্যাক্সেস পিএইচপি সার্ভার মনিটরের প্রয়োজন হয় তবে নিম্নলিখিত বিবৃতি সহ একটি নতুন ভার্চুয়াল হোস্ট এসএসএল কনফিগারেশন ফাইল তৈরি করুন।

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

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>

N. এনগিনেক্সের মতো একই পদ্ধতি ব্যবহার করে ডকুমেন্ট রুট ডিরেক্টরি তৈরি করুন, যদি ওয়েব ফাইলে পরিবেশন করা পথটি পরিবর্তিত হয় তবে অ্যাপাচি ভার্চুয়াল হোস্টগুলি সক্রিয় করুন a2ensite কমান্ডটি ব্যবহার করে এবং পরিবর্তনগুলি প্রয়োগ করার জন্য ডেমন পুনরায় চালু করুন।

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

এই ভার্চুয়াল হোস্টটির জন্য নতুন এসএসএল শংসাপত্র এবং কী উত্পন্ন করতে apache_gen_ssl ইউটিলিটি ব্যবহারের জন্য, আপনার ডোমেন নাম শংসাপত্রের নামটিতে যুক্ত করুন এবং /etc/httpd/conf/sites-av উপলভ্য/phpsrvmon-ssl.conf সংশোধন করুন ফাইল, পুরানো এসএসএল শংসাপত্র এবং কী পাথ এবং নতুনগুলির সাথে নামগুলি প্রতিস্থাপন করুন।

পদক্ষেপ 2: পিএইচপি কনফিগারেশন সম্পাদনা করুন

৮. কিছু ইনস্টলেশন ত্রুটি এড়াতে, এই পিএইচপি সার্ভার মনিটর যখন সিস্টেমের প্রয়োজনীয়তা ফাইলটি যাচাই করে নীচের পরিবর্তনগুলি করে তখন নিক্ষেপ করবে।

$ sudo nano /etc/php/php.ini

যদি এনগিনেক্স/অ্যাপাচি ডকুমেন্ট রুটের পাথটি পরিবর্তন করা হয়েছে (ডিফল্টরূপে একটি /srv/http/) থাকে তবে [সিআরটিএল + ডাব্লু] ওপেন_বাসেডির সনাক্ত করতে ব্যবহার করুন ": " কোলনের সাথে উপসর্গ করে নতুন পথটি যুক্ত করুন এবং সংযুক্ত করুন - এই ক্ষেত্রে নীচের উদাহরণে দেখতে নতুন পথটি /srv/www/ - হিসাবে দেখাবে।

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

পিএইচপি পিডিও, মাইএসকিলি এবং কার্ল এক্সটেনশানগুলিকে অস্বস্তিকর করে অনুসন্ধান করুন এবং সক্ষম করুন (তাদের সামনে থেকে অর্ধিকোলন সরান)।

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

টাইমজোনটি সনাক্ত করুন এবং এই পৃষ্ঠাটি ব্যবহার হিসাবে আপনার স্থানীয় সময় সেট করুন।

date.timezone = Continent/City

9. সমস্ত পরিবর্তনগুলি করার পরে পরিবর্তনগুলি প্রয়োগ করতে আপনার পরিষেবাদি পুনরায় চালু করুন।

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

পদক্ষেপ 3: পিএইচপি সার্ভার মনিটর মাইএসকিউএল ডেটাবেস তৈরি করুন

১০. পিএইচপি সার্ভার মনিটরের তথ্য সংরক্ষণের জন্য প্রয়োজনীয় ডাটাবেস তৈরি করতে, মাইএসকিউএল/মারিয়াডিবি ডাটাবেসে লগইন করুন এবং নিম্নলিখিত কমান্ডগুলি ব্যবহার করে একটি নতুন ডাটাবেস তৈরি করুন (আপনার পছন্দসই শংসাপত্রের সাথে ডাটাবেস, ব্যবহারকারী এবং পাসওয়ার্ড প্রতিস্থাপন করুন)।

mysql -u root -p

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

আপনার সিস্টেমে পিএইচপিএমইএডমিন ইনস্টল থাকলে আপনি তার ওয়েব ইন্টারফেস থেকে মাইএসকিউএল/মারিয়াডিবি অ্যাক্সেস করে পিএইচপি সার্ভার মনিটর ডেটাবেস তৈরি করতে পারেন।

পদক্ষেপ 4: পিএইচপি সার্ভার মনিটর ইনস্টল করুন

১১. পিএইচপি সার্ভার মনিটরের সরঞ্জামটি ডাউনলোড করার আগে, নিশ্চিত হয়ে নিন যে আপনি উইজেট কমান্ডটি ইনস্টল করেছেন।

$ sudo pacman -S wget

১২. সর্বশেষতম পিএইচপি সার্ভার মনিটরের সংস্করণটি ধরতে নীচের লিঙ্কটিতে যান এবং টার.gz সংরক্ষণাগার ফাইলটি ডাউনলোড করুন বা নীচে প্রদত্ত অফিসিয়াল গিট ডাউনলোড লিঙ্কটি ব্যবহার করুন।

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

বিকল্পভাবে, আপনি নিম্নলিখিত উইজেট কমান্ডটি ব্যবহার করে সরাসরি ডাউনলোড করতে পারেন।

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

১৩. সর্বশেষতম সংস্করণটি ডাউনলোড করার পরে, ট্য কমান্ডের সাহায্যে এটিকে বের করুন এবং নিম্নলিখিত কমান্ডগুলি ব্যবহার করে সমস্ত নিষ্কাশিত সামগ্রী ওয়েব সার্ভার ডকুমেন্ট রুট পথে অনুলিপি করুন।

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

14. তারপরে একটি ব্রাউজার খুলুন এবং আপনার ডোমেন নাম নেভিগেট করুন (আপনি যদি এই টিউটোরিয়ালে উপস্থাপন করা হিসাবে ভার্চুয়াল হোস্টগুলি ব্যবহার করেন, অন্যথায় আপনার সার্ভারের আইপি ঠিকানা ব্যবহার করুন) এবং অভিবাদন পৃষ্ঠায় লেটস গো বোতামটি চাপুন।

15. পরবর্তী স্ক্রিনে আপনার মাইএসকিউএল ডাটাবেস তথ্য লিখুন এবং কনফিগারেশন সংরক্ষণ করুন তে চাপুন।

16. আপনি যদি কোনও ত্রুটি পান যা বলে যে আপনার কনফিগারেশন ফাইলটি লিখিত হতে পারে না তবে লিখিত কনফিং.এফপি ফাইল তৈরি করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন এবং আমি কনফিগারেশনটি সংরক্ষণ করেছি

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

17. কনফিগারেশন সংরক্ষণের পরে আপনার শংসাপত্রগুলি বেছে নেওয়ার জন্য পিএইচপি সার্ভার মনিটরের জন্য প্রশাসনিক ব্যবহারকারী তৈরি করুন এবং ইনস্টল করুন বোতামটিতে চাপুন।

18. ইনস্টলেশন প্রক্রিয়াটি আপনার মনিটরে যান বোতামটি সম্পূর্ণ হিট হওয়ার পরে আপনাকে লগইন পৃষ্ঠায় পুনঃনির্দেশিত করা হবে। আপনার শংসাপত্রগুলির সাথে লগইন করুন এবং আপনাকে ডিফল্ট পিএইচপি সার্ভার মনিটর পৃষ্ঠায় অনুরোধ জানানো হবে। পিএইচপি সার্ভার মনিটরের config.php ফাইলে পরিবর্তনগুলিও ফিরিয়ে দিন।

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

১৯. নিরীক্ষণের জন্য একটি নতুন ওয়েবসাইট যুক্ত করতে সার্ভার -> নতুন যুক্ত করুন এ যান, আপনার সার্ভার সেটিংসের সাথে প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন এবং সংরক্ষণ করুন বোতামটিতে চাপুন ।

20. সমস্ত সার্ভার এবং পরিষেবাদিতে নজরদারি প্রক্রিয়া শুরু করতে আপডেট বোতামটি চাপুন এবং আপনাকে ডিফল্ট হোম পৃষ্ঠাতে আপনাকে পুনঃনির্দেশিত করা হবে যেখানে আপনাকে আপনার ওয়েবসাইট/পরিষেবাগুলির স্থিতির সাথে উপস্থাপন করা হবে।

21. পিএইচপি সার্ভার মনিটরের জন্য নিয়মিত সময় বিরতিতে আপনার সার্ভার/পরিষেবাদির স্থিতিটি স্বয়ংক্রিয়ভাবে পরীক্ষা করতে আপনাকে আপনার সিস্টেমে ক্রোন কাজের শিডিয়ুলার ইনস্টল করতে হবে এবং ক্রোন ফাইলে একটি মনিটরিং সময়কাল এন্ট্রি যুক্ত করতে হবে।

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

22. ক্রোন ফাইলে একটি নতুন এন্ট্রি যুক্ত করতে যা প্রতি 5 মিনিটে আপনার ওয়েবসাইট পরীক্ষা করে sudo crontab commande কমান্ড ব্যবহার করুন, বা আরও ভাল /var/spool/এ থাকা রুট ক্রোন ফাইলটি ম্যানুয়ালি সম্পাদনা করুন ক্রোন/ ডিরেক্টরিটি আপনার পিএইচপি সার্ভার মনিটরের ইনস্টলেশন ডিরেক্টরিটি মেলে পাথ সামঞ্জস্য করে। সমস্ত ক্রন্টব এন্ট্রি তালিকা করতে sudo crontab -l কমান্ড লাইনটি ব্যবহার করুন।

$ sudo nano /var/spool/cron/root

নিম্নলিখিত এন্ট্রি যুক্ত করুন - সময়কাল এবং তদনুসারে ইনস্টলেশন পথ সমন্বয় করুন

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

উপসংহার

যদিও পিএইচপি সার্ভার মনিটর অন্যান্য মনিটরিং পরিষেবাগুলির মতো নাগিওস , ক্যাকটি বা জাবিবিক্স এর মতো জটিলতায় বৃদ্ধি পায় না, তবে এটি উত্সটিতে খুব হালকা হতে থাকে s আপনার নজরদারি করা ওয়েবসাইটগুলি এবং পরিষেবাদি প্রযুক্তিগত সমস্যার মুখোমুখি হয় বা নিচে চলে আসে সে ক্ষেত্রে একটি বিশাল এসএমএস গেটওয়ে তালিকার মাধ্যমে ইমেল বা টেক্সট এসএমএস প্রেরণকে কনফিগার করে মনিটরিং প্ল্যাটফর্ম হিসাবে কাজটি পূরণ করতে পারে fulfill

হোমপেজ : পিএইচপি সার্ভার মনিটর