Deze tutorial zal bespreken hoe je de Collectd-web interface kunt installeren en uitvoeren, wat een front-end web monitoring tool is voor de Collectd daemon, in combinatie met de Apache CGI interface om grafische html-uitvoer te produceren om Linux systemen te monitoren.

Aan het einde van het artikel zullen we ook presenteren hoe je de Collectd-web interface kunt beveiligen met behulp van het .hpasswd Apache Authenticatie mechanisme.
Vereisten
De vereiste voor dit artikel is dat je Collectd en Collectd-Web geïnstalleerd moet hebben op je Linux systeem. Om deze pakketten te installeren, moet je de stappen #1 en #2 volgen uit het vorige artikel van deze serie op:
Volg alleen de volgende twee stappen van de bovenstaande link:
Step 1: Install Collectd Service Step 2: Install Collectd-Web and Dependencies
Zodra deze twee vereiste zaken succesvol zijn afgerond, kun je verdergaan met de instructies in dit artikel om Collectd-web te configureren met Apache CGI.
Stap 1: Apache Web Server Installeren
1. Ga ervan uit dat je Apache webserver al hebt geïnstalleerd op je systeem, zo niet, dan kun je deze installeren met behulp van de volgende opdracht, afhankelijk van je Linux distributie.
# apt-get install apache2 [On Debian based Systems] # yum install httpd [On RedHat based Systems]
2. Nadat Apache is geïnstalleerd, wijzig de directory naar uw standaard webserver document root (die zich bevindt onder /var/www/html/ of /var/www systeempad en kloon het Collectd-web Github project door de onderstaande commando’s uit te voeren:
# cd /var/www/html # git clone https://github.com/httpdss/collectd-web.git
Ook, maak het volgende Collectd-web script uitvoerbaar door het volgende commando uit te voeren:
# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
Stap 2: Schakel Apache CGI (.cgi scripts) in voor Standaard Host
3. Om Apache de CGI scripts te laten uitvoeren die zich bevinden onder de standaard host HTML Collectd-web cgi-bin directory, moet u expliciet de Apache CGI-interface inschakelen voor Bash scripts (met .cgi extensie) door de sites-available standaard host te wijzigen en het onderstaande statementsblok toe te voegen.
Op Debian-systemen
Open eerst het Apache standaard host configuratiebestand voor bewerking met de nano editor:
# nano /etc/apache2/sites-available/000-default.conf
Terwijl het bestand geopend is voor bewerking, voeg het volgende directive blok toe onder de Document Root directive zoals geïllustreerd op de onderstaande afbeelding:
<Directory /var/www/html/collectd-web/cgi-bin> Options Indexes ExecCGI AllowOverride All AddHandler cgi-script .cgi Require all granted </Directory>

Nadat u klaar bent met het bewerken van het bestand, sluit het met CTRL + o en verlaat de nano editor (CTRL+x), schakel vervolgens de Apache CGI-module in en herstart de server om alle tot nu toe gemaakte wijzigingen toe te passen door de onderstaande commando’s uit te voeren:
# a2enmod cgi cgid # service apache2 restart OR # systemctl restart apache2.service [For systemd init scripts]

Op RedHat-systemen
4. Om de Apache CGI-interface in te schakelen voor CentOS/RHEL, open het httpd.conf Apache configuratiebestand en voeg de volgende regels toe onderaan het bestand:
# nano /etc/httpd/conf/httpd.conf
Voeg het volgende fragment toe aan het httpd.conf bestand.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin" Options FollowSymLinks ExecCGI AddHandler cgi-script .cgi .pl
Om wijzigingen toe te passen, herstart de httpd daemon door het volgende commando uit te voeren:
# service httpd restart OR # systemctl restart httpd [For systemd init scripts]
Stap 3: Blader door de Collectd-web Interface
5. Om de Collectd-web interface te bezoeken en statistieken over uw machine te visualiseren die tot nu toe zijn verzameld, opent u een browser en navigeert u naar de IP-adres/collectd-web/ URI-locatie van uw machine met behulp van het HTTP-protocol.
http://192.168.1.211/collect-web/

Stap 4: Beveilig de Collectd-web URL met Apache Authenticatie
6. Als u de toegang tot de Collectd-web interface wilt beperken door deze te beveiligen met het Apache Authenticatie mechanisme (.htpasswd), waarbij bezoekers een gebruikersnaam en wachtwoord moeten invoeren om toegang te krijgen tot een webresource.
Om dit te doen, moet u het apache2-utils pakket installeren en een set referenties maken voor lokale authenticatie. Om dit doel te bereiken, voert u eerst het volgende commando uit om het apache2-utils pakket te installeren:
# apt-get install apache2-utils [On Debian based Systems] # yum install httpd-tools [On RedHat based Systems]
7. Vervolgens genereert u een gebruikersnaam en wachtwoord die worden opgeslagen in een verborgen lokale .htpass bestand dat zich bevindt onder de Apache standaard host Collectd-web pad door het onderstaande commando uit te voeren:
# htpasswd -c /var/www/html/collectd-web/.htpass your_username
Probeer dit bestand te beveiligen door de volgende machtigingen toe te wijzen:
# chmod 700 /var/www/html/collectd-web/.htpass # chown www-data /var/www/html/collectd-web/.htpass
8. Op de volgende stap, nadat je het .htpass bestand hebt gegenereerd, open je de standaard Apache-host voor bewerking en geef je de server opdracht om basis server-side authenticatie met htpasswd te gebruiken door het volgende richtlijnblok toe te voegen zoals geïllustreerd op de onderstaande schermafbeelding:
<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. De laatste stap om de wijzigingen door te voeren is het herstarten van de Apache server door het onderstaande commando uit te voeren en de Coollectd-web URL-pagina te bezoeken zoals hierboven beschreven.
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/