המדריך הזה ידון באופן בו ניתן להתקין ולהפעיל את ממשק הרשת Collectd-web, שהוא כלי ניטור רשת חזיתי עבור דמון Collectd, בשילוב עם ממשק Apache CGI כדי לייצר פלטים html גרפיים לצורך ניטור של קופסאות Linux.

לסיום המאמר נציג גם כיצד ניתן להגן על ממשק Collectd-web באמצעות שימוש במנגנון אימות Apache .hpasswd.
דרישות
הדרישה של מאמר זה היא, עליך להפעיל את Collectd ואת Collectd-Web על המערכת שלך. כדי להתקין את החבילות אלו, עליך לעקוב אחר השלבים #1 ו־#2 מהמאמר הקודם בסדרה זו בכתובת:
רק עקוב אחר שני השלבים הבאים מהקישור לעיל:
Step 1: Install Collectd Service Step 2: Install Collectd-Web and Dependencies
לאחר שהשלבים הנדרשים הושלמו בהצלחה, תוכל להמשיך להוראות נוספות במאמר זה לקביעת הגדרות Collectd-web עם Apache CGI.
שלב 1: התקנת שרת הרשת Apache
1. בהנחה שכבר התקנת שרת הרשת Apache על המערכת שלך, אם לא עשית זאת תוכל להתקין באמצעות הפקודה הבאה לפי ההפצה של Linux שלך.
# apt-get install apache2 [On Debian based Systems] # yum install httpd [On RedHat based Systems]
2. לאחר התקנת Apache, שנה את התיקייה לשורש המסמך של השרת האינטרנט המוגדר כברירת מחדל (שנמצאת מתחת לנתיב המערכת /var/www/html/ או /var/www ושכפול את פרויקט ה-Collectd-web Github על ידי הנפקת הפקודות הבאות:
# cd /var/www/html # git clone https://github.com/httpdss/collectd-web.git
כמו כן, הפוך את סקריפט ה-Collectd-web הבא להיות ניתן לביצוע על ידי הפקת הפקודה הבאה:
# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
שלב 2: הפעל את Apache CGI (.cgi scripts) עבור Default Host
3. כדי ש-Apache יפעיל את סקריפטי ה-CGI הממוקמים בתיקיית cgi-bin של Collectd-web ב-HTML של Default Host, עליך לאפשר באופן פשוט את ממשק ה-CGI של Apache עבור סקריפטים של Bash (עם סיומת .cgi) על ידי שינוי בפועל המארח המוגדר כברירת מחדל והוספת הבלוק הבא של הצהרות.
במערכות Debian
פתח תחילה את קובץ התצורה של המארח המוגדר כברירת מחדל של Apache לעריכה בעזרת העורך nano:
# nano /etc/apache2/sites-available/000-default.conf
כאשר הקובץ פתוח לעריכה, הוסף את הבלוק ההוראות הבא למטה לפקודת השורש המסמך כפי שמוצג בתמונה למטה:
<Directory /var/www/html/collectd-web/cgi-bin> Options Indexes ExecCGI AllowOverride All AddHandler cgi-script .cgi Require all granted </Directory>

לאחר שסיימת לערוך את הקובץ, סגור אותו בעזרת CTRL + o וצא מהעורך nano (CTRL+x), לאחר מכן הפעל את מודול ה-CGI של Apache ואתחל את השרת כדי ליישם את כל השינויים שבוצעו עד כה על ידי הנפקת הפקודות הבאות:
# a2enmod cgi cgid # service apache2 restart OR # systemctl restart apache2.service [For systemd init scripts]

במערכות RedHat
4. כדי לאפשר את ממשק ה-CGI של Apache עבור CentOS/RHEL, פתח את קובץ התצורה של Apache httpd.conf והוסף את השורות הבאות בתחתית הקובץ:
# nano /etc/httpd/conf/httpd.conf
הוסף את הקטע הבא לקובץ httpd.conf.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin" Options FollowSymLinks ExecCGI AddHandler cgi-script .cgi .pl
כדי להחיל את השינויים, אנא אתחל את הדמון httpd על ידי הרצת הפקודה הבאה:
# service httpd restart OR # systemctl restart httpd [For systemd init scripts]
שלב 3: גלה את ממשק האינטרנט של Collectd-web
5. כדי לבקר בממשק של Collectd-web ולהציג סטטיסטיקות על המחשב שלך שנאספו עד כה, פתח דפדפן ונווט לכתובת ה-URI של המחשב שלך כתובת ה-IP/collectd-web/ באמצעות פרוטוקול HTTP.
http://192.168.1.211/collect-web/

שלב 4: הגן על סיסמת Collectd-web URL באמצעות אימות של אפאצ'י
6. במקרה שברצונך להגביל גישה לממשק של Collectd-web על ידי הגנה עליו באמצעות מנגנון אימות של אפאצ'י (.htpasswd), שמחייב את המבקרים להזין שם משתמש וסיסמה כדי לגשת למשאב אינטרנטי.
על מנת לעשות זאת, עליך להתקין את חבילת apache2-utils וליצור קבוצת אימות מקומית. כדי להשיג מטרה זו, הרץ תחילה את הפקודה הבאה כדי להתקין את חבילת apache2-utils:
# apt-get install apache2-utils [On Debian based Systems] # yum install httpd-tools [On RedHat based Systems]
7. לאחר מכן, צור שם משתמש וסיסמה שיבוצעו בקובץ מוסתר .htpass הנמצא בנתיב המקורי של אפאצ'י Collectd-web על ידי הרצת הפקודה הבאה:
# htpasswd -c /var/www/html/collectd-web/.htpass your_username
נסה להגן על קובץ זה על ידי הקצאת ההרשאות הבאות:
# chmod 700 /var/www/html/collectd-web/.htpass # chown www-data /var/www/html/collectd-web/.htpass
8. בשלב הבא, לאחר שיצרת את קובץ .htpass, פתח את מארח הברירת מחדל של Apache לעריכה והורה לשרת להשתמש באימות בסיסי של htpasswd בצד השרת על ידי הוספת בלוק הוראות הבא כפי שמוצג בתמונת המסך למטה:
<Directory /var/www/html/collectd-web > AuthType Basic AuthName "Collectd Restricted Page" AuthBasicProvider file AuthUserFile /var/www/html/collectd-web/.htpass Require valid-user </Directory>

9. השלב האחרון כדי לשקף את השינויים הוא לאתחל את שרת Apache על ידי נתינת הפקודה הבאה ולבקר בדף ה-URL של Coollectd-web כפי שתואר לעיל.
A pop-up should appear on the web page requesting for your authentication credentials. Use the username and password created earlier to access Collectd web interface.
# service apache2 restart [On Debian based Systems] # service httpd restart [On RedHat based Systems] OR ---------------- For systemd init scripts ---------------- # systemctl restart apache2.service # systemctl restart http.service


Source:
https://www.tecmint.com/monitor-linux-server-resources-with-collectd-web-and-apache-cgi/