Pratite resurse poslužitelja s Collectd-web i Apache CGI u Linuxu


Ovaj vodič govori o tome kako možete instalirati i pokrenuti sučelje Collectd-web, koje je prednji alat za nadzor weba za demon Collectd, u kombinaciji s Apache CGI sučelje za izradu grafičkih html izlaza za praćenje Linux okvira.

Na kraju članka ćemo, također, predstaviti kako možete zaštititi Collectd-web sučelje koristeći .hpasswd Apache Authentication mehanizam.

Zahtjevi

Zahtjev ovog članka je da morate imati Collectd i Collectd-Web instalirane na vašem Linux sustavu. Da biste instalirali ove pakete, morate slijediti korake #1 i #2 iz prethodnog članka ove serije na:

  1. Instalirajte Collectd i Collectd-Web u Linuxu

Slijedite samo sljedeća dva koraka s gornje veze:


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

Nakon što su ove dvije potrebne stvari uspješno dovršene, možete nastaviti s daljnjim uputama u ovom članku za konfiguriranje Collectd-weba s Apache CGI.

Korak 1: Instalacija Apache web poslužitelja

1. Pod pretpostavkom da ste već instalirali Apache web poslužitelj na vašem sustavu, ako niste, možete ga instalirati pomoću sljedeće naredbe u skladu s vašom Linux distribucijom.


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

2. Nakon što instalirate Apache, promijenite direktorij u korijen dokumenta vašeg zadanog web poslužitelja (koji se nalazi pod /var/www/html/ ili /var/www put sustava i klonirajte projekt Collectd-web Github izdavanjem naredbi u nastavku:


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

Također, učinite sljedeću skriptu Collectd-web izvršnom izdavanjem sljedeće naredbe:


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

Korak 2: Omogućite Apache CGI (.cgi skripte) za zadano računalo

3. Kako bi Apache mogao pokretati CGI skripte koje se nalaze ispod zadanog host HTML Collectd-web cgi-bin direktorija, morate izričito omogućiti Apache CGI sučelje za Bash skripte (s .cgi proširenje) mijenjanjem zadanog hosta dostupnih web-mjesta i dodavanjem bloka izjava u nastavku.

Na Debian sustavima

Prvo otvorite konfiguracijsku datoteku Apache zadanog hosta za uređivanje s nano uređivačem:


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

Dok je datoteka otvorena za uređivanje, dodajte sljedeći blok direktiva ispod direktive Korijen dokumenta kao što je ilustrirano na slici ispod:


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

Nakon što završite s uređivanjem datoteke, zatvorite je pomoću CTRL + o i izađite iz nano uređivača (CTRL+x), zatim omogućite Apache CGI modul i ponovno pokrenite poslužitelj redom da biste primijenili sve do sada napravljene promjene izdavanjem naredbi u nastavku:


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

Na RedHat sustavima

4. Da biste omogućili Apache CGI sučelje za CentOS/RHEL, otvorite httpd.conf Apache konfiguracijsku datoteku i dodajte sljedeće retke na dno datoteke:


nano /etc/httpd/conf/httpd.conf

Dodajte sljedeći izvadak u datoteku httpd.conf.


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

Kako biste primijenili promjene, ponovno pokrenite httpd demon izdavanjem sljedeće naredbe:


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

Korak 3: Pregledajte sučelje Collectd-web

5. Kako biste posjetili Collectd-web sučelje i vizualizirali do sada prikupljene statistike o vašem računalu, otvorite preglednik i dođite do svog računala IP adresa/collectd- web/ URI lokacija pomoću HTTP protokola.


http://192.168.1.211/collect-web/

Korak 4: Zaštitite Collectd-web URL lozinkom pomoću Apache autentifikacije

6. U slučaju da želite ograničiti pristup sučelju Collectd-web tako da ga zaštitite pomoću mehanizma provjere autentičnosti Apache (.htpasswd), koji zahtijeva posjetitelje za unos korisničkog imena i lozinke za pristup web resursu.

Da biste to učinili, trebate instalirati paket apache2-utils i stvoriti skup vjerodajnica za lokalnu autentifikaciju. Da biste postigli ovaj cilj, prvo izdajte sljedeću naredbu za instaliranje paketa apache2-utils:


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

7. Zatim generirajte korisničko ime i lozinku koji će biti pohranjeni u skrivenoj lokalnoj .htpass datoteci koja se nalazi pod Apache zadanim hostom Collectd-web put izdavanjem naredbe ispod:


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

Pokušajte zaštititi ovu datoteku dodjeljivanjem sljedećih dozvola:


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

8. U sljedećem koraku, nakon što ste generirali .htpass datoteku, otvorite Apache default host za uređivanje i uputite poslužitelj da koristi htpasswd basic autentifikaciju na strani poslužitelja dodavanjem sljedećeg bloka direktiva kao što je ilustrirano na slici ispod:


<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. Posljednji korak za odraz promjena je ponovno pokretanje Apache poslužitelja izdavanjem donje naredbe i posjet URL stranici Coollectd-web kao opisano iznad.

Na web stranici bi se trebao pojaviti skočni prozor sa zahtjevom za vaše vjerodajnice za provjeru autentičnosti. Za pristup web sučelju Collectd koristite korisničko ime i lozinku kreiranu ranije.


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