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:
- 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