Nadzirajte strežniške vire s pomočjo Collectd-web in Apache CGI v Linuxu


Ta vadnica bo razpravljala o tem, kako lahko namestite in zaženete spletni vmesnik Collectd-web, ki je vmesnik spletnega orodja za spremljanje demona Collectd, v povezavi z vmesnikom Apache CGI za izdelavo grafičnih izhodov html za spremljanje Linuxovih oken.

Na koncu članka bomo predstavili tudi, kako lahko zaščitite spletni vmesnik Collectd z uporabo mehanizma .hpasswd Apache Authentication.

Zahteva tega članka je, da morate imeti v sistemu Linux nameščen sistem Collectd in Collectd-Web. Če želite namestiti te pakete, sledite korakom št. 1 in št. 2 iz prejšnjega članka te serije na naslovu:

  1. Namestite Collectd in Collectd-Web v Linux

Samo sledite naslednjim korakom iz zgornje povezave:

Step 1: Install Collectd Service 
Step 2: Install Collectd-Web and Dependencies 

Ko sta ti dve zahtevani stvari uspešno zaključeni, lahko nadaljujete z nadaljnjimi navodili v tem članku za konfiguriranje Collectd-web z Apache CGI.

1. korak: Namestitev spletnega strežnika Apache

1. Ob predpostavki, da ste v svoj sistem že namestili spletni strežnik Apache, v nasprotnem primeru lahko namestite z naslednjim ukazom glede na vašo distribucijo Linuxa.

# apt-get install apache2	[On Debian based Systems]
# yum install httpd		[On RedHat based Systems]

2. Po namestitvi Apache spremenite imenik v privzeti koren dokumenta spletnega strežnika (ki se nahaja pod/var/www/html/ali/var/www sistemska pot in klonirajte projekt Collectd-web Github z izdajo spodnjih ukazov:

# cd /var/www/html
# git clone https://github.com/httpdss/collectd-web.git

Prav tako naredite izvršljiv naslednji skript Collectd-web, tako da izdate naslednji ukaz:

# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi

2. korak: Omogočite Apache CGI (skripte .cgi) za privzetega gostitelja

3. Če želite, da Apache zažene skripte CGI, ki se nahajajo v privzetem imeniku HTML Collectd-web gostitelja cgi-bin, morate izrecno omogočiti vmesnik Apache CGI za skripte Bash (s pripono .cgi) s spreminjanjem privzetega gostitelja, ki je na voljo za spletna mesta. in dodamo spodnji blok stavkov.

Najprej odprite privzeto konfiguracijsko datoteko gostitelja Apache za urejanje z urejevalnikom nano:

# nano /etc/apache2/sites-available/000-default.conf

Medtem ko je datoteka odprta za urejanje, dodajte naslednji blok z navodili pod direktivo Koren dokumenta, kot je prikazano na spodnji sliki:

<Directory /var/www/html/collectd-web/cgi-bin>
                Options Indexes ExecCGI
                AllowOverride All
                AddHandler cgi-script .cgi
                Require all granted
</Directory>

Ko končate z urejanjem datoteke, jo zaprite s tipko CTRL + o in zapustite urejevalnik nano (CTRL + x), nato omogočite modul Apache CGI in znova zaženite strežnik, da uporabite vse do zdaj narejene spremembe z izdajo spodnjih ukazov:

# a2enmod cgi cgid
# service apache2 restart
OR
# systemctl restart apache2.service     [For systemd init scripts]

4. Če želite omogočiti vmesnik Apache CGI za CentOS/RHEL, odprite httpd.conf konfiguracijsko datoteko Apache in dodajte naslednje vrstice na dnu datoteke:

# nano /etc/httpd/conf/httpd.conf

V datoteko httpd.conf dodajte naslednji odlomek.

ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin"
Options FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl

Če želite uveljaviti spremembe, znova zaženite demon httpd tako, da izdate naslednji ukaz:

# service httpd restart
OR
# systemctl restart httpd        [For systemd init scripts]

3. korak: Brskajte po spletnem vmesniku Collectd-web

5. Če želite obiskati spletni vmesnik Collectd-Web in vizualizirati do zdaj zbrane statistične podatke o vašem računalniku, odprite brskalnik in po protokolu HTTP pojdite do IP naslova naprave/collectd-web/URI.

http://192.168.1.211/collect-web/

4. korak: Zaščitite geslo zbranega spletnega naslova z uporabo overjanja Apache

6. V primeru, da želite omejiti dostop do spletnega vmesnika Collectd tako, da ga zaščitite z uporabo mehanizma Apache Authentication (.htpasswd), ki zahteva, da obiskovalci vnesejo uporabniško ime in geslo za dostop do spletnega vira.

Če želite to narediti, morate namestiti paket apache2-utils in ustvariti nabor poverilnic za lokalno overjanje. Za dosego tega cilja najprej izdajte naslednji ukaz za namestitev paketa apache2-utils:

# apt-get install apache2-utils	        [On Debian based Systems]
# yum install httpd-tools		[On RedHat based Systems]

7. Nato ustvarite uporabniško ime in geslo, ki se bosta shranili v skrito lokalno datoteko .htpass, ki se nahaja pod privzetim gostiteljem Apache Collectd-web path z izdajo spodnjega ukaza:

# htpasswd -c /var/www/html/collectd-web/.htpass  your_username

Poskusite zaščititi to datoteko tako, da dodelite naslednja dovoljenja:

# chmod 700 /var/www/html/collectd-web/.htpass
# chown www-data /var/www/html/collectd-web/.htpass

8. V naslednjem koraku, ko ustvarite datoteko .htpass, odprite privzeti gostitelj Apache za urejanje in naročite strežniku, naj uporabi osnovno preverjanje pristnosti na strani strežnika htpasswd, tako da dodate naslednji blok z direktivami, kot je prikazano na spodnjem posnetku zaslona:

<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. Zadnji korak, ki odraža spremembe, je ponovni zagon strežnika Apache z izdajo spodnjega ukaza in obisk spletne strani Coollectd-web URL, kot je opisano zgoraj.

Na spletni strani se mora pojaviti pojavno okno, ki zahteva vaše poverilnice. Za dostop do spletnega vmesnika Collectd uporabite uporabniško ime in geslo, ustvarjeno prej.

# 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