Immonitorja r-Riżorsi tas-Server b'Colld-web u Apache CGI fil-Linux


Dan it-tutorja se jiddiskuti kif tista 'tinstalla u tħaddem l-interface Collectd-web, li hija għodda ta' monitoraġġ tal-web front-end għal Collectd daemon, flimkien mal-interface Apache CGI sabiex tipproduċi outputs html grafiċi sabiex tissorvelja kaxxi Linux.

Fl-aħħar ta 'l-artikolu aħna se, ukoll, nippreżentaw kif inti tista' tipproteġi l-interface Collected-web billi tuża .hpasswd Apache Awtentikazzjoni mekkaniżmu.

Ir-rekwiżit ta 'dan l-artikolu huwa, irid ikollok Collectd u Collectd-Web installati fis-sistema Linux tiegħek. Biex tinstalla dawn il-pakketti, trid issegwi l-Passi #1 u #2 mill-artiklu preċedenti ta’ din is-serje fuq:

  1. Installa Collectd u Collectd-Web fil-Linux

Segwi biss iż-żewġ passi li ġejjin mill-link t'hawn fuq:

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

Ladarba dawn iż-żewġ affarijiet meħtieġa tlestew b'suċċess, tista 'tkompli struzzjonijiet ulterjuri f'dan l-artikolu biex tikkonfigura Collectd-web b'Apache CGI.

Pass 1: Installazzjoni ta 'Apache Web Server

1. Jekk wieħed jassumi li diġà installajt is-server tal-web Apache fis-sistema tiegħek, jekk le tista 'tinstalla billi tuża l-kmand li ġej skont id-distribuzzjoni tal-Linux tiegħek.

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

2. Wara li installat Apache, ibdel id-direttorju għall-għerq tad-dokument tal-web server default tiegħek (li jinsab taħt il-mogħdija tas-sistema /var/www/html/ jew /var/www u kklona l-proġett Collectd-web Github billi toħroġ il-kmandi hawn taħt:

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

Ukoll, agħmel l-iskrittura Collectd-web li ġejja eżekutibbli billi toħroġ il-kmand li ġej:

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

Pass 2: Ippermetti Apache CGI (.cgi scripts) għal Default Host

3. Sabiex Apache iħaddem l-iskripts CGI li jinsabu taħt id-direttorju default HTML Collectd-web cgi-bin, għandek bżonn espliċitament tattiva l-interface Apache CGI għal skripts Bash (b'estensjoni .cgi) billi tbiddel il-host default disponibbli fis-siti u żżid il-blokk ta 'dikjarazzjonijiet hawn taħt.

L-ewwel iftaħ il-fajl tal-konfigurazzjoni tal-host default Apache għall-editjar bin-nano editur:

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

Waqt li l-fajl jinfetaħ għall-editjar żid il-blokk tad-direttiva li ġej taħt id-direttiva tal-Għerq tad-Dokument kif muri fuq l-immaġni hawn taħt:

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

Wara li tkun lest l-editjar tal-fajl, agħlaqha b'CTRL + o u oħroġ nano editur (CTRL + x), imbagħad ippermetti l-modulu Apache CGI u erġa 'ibda s-server sabiex tapplika l-bidliet kollha li saru s'issa billi toħroġ il-kmandi ta' hawn taħt:

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

4. Biex tippermetti l-interface Apache CGI għal CentOS/RHEL, iftaħ il-fajl tal-konfigurazzjoni httpd.conf Apache u żid il-linji li ġejjin fil-qiegħ tal-fajl:

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

Żid is-silta li ġejja mal-fajl httpd.conf.

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

Sabiex tapplika l-bidliet, ibda mill-ġdid httpd daemon billi toħroġ il-kmand li ġej:

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

Pass 3: Ibbrawżja Collectd-web Interface

5. Sabiex iżżur l-interface tal-Collected-web u Ħares statistika dwar il-magna tiegħek miġbura s'issa, iftaħ browser u naviga għall-Indirizz IP tal-magna tiegħek/collectd-web/ URI post billi tuża l-protokoll HTTP.

http://192.168.1.211/collect-web/

Pass 4: Ipproteġi l-password URL Collected-web billi tuża l-Awtentikazzjoni Apache

6. Fil-każ li trid tillimita l-aċċess għall-interface Collectd-web billi tipproteġiha billi tuża mekkaniżmu ta 'Awtentikazzjoni Apache (.htpasswd), li jeħtieġ li l-viżitaturi jdaħħlu username u password sabiex ikollhom aċċess għal riżors tal-web.

Biex tagħmel dan, trid tinstalla l-pakkett apache2-utils u toħloq sett ta 'kredenzjali għall-awtentikazzjoni lokali. Biex tikseb dan l-għan, l-ewwel ħarġet il-kmand li ġej biex tinstalla l-pakkett apache2-utils:

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

7. Sussegwentement, iġġenera username u password li se jinħażnu fuq fajl .htpass lokali moħbi li jinsab taħt Apache default host Collectd-web path billi toħroġ il-kmand hawn taħt:

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

Ipprova tipproteġi dan il-fajl billi tassenja l-permessi li ġejjin:

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

8. Fil-pass li jmiss, wara li tkun ġġenerat fajl .htpass, iftaħ Apache default host għall-editjar u ordna lis-server biex juża l-awtentikazzjoni bażika min-naħa tas-server htpasswd billi żżid il-blokk tad-direttiva li ġej kif muri fuq il-screenshot hawn taħt:

<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. L-aħħar pass sabiex tirrifletti l-bidliet huwa li terġa 'tibda s-server Apache billi toħroġ il-kmand hawn taħt u żur il-paġna tal-URL Coollectd-web kif deskritt hawn fuq.

Għandha tidher pop-up fuq il-paġna tal-web li titlob il-kredenzjali tal-awtentikazzjoni tiegħek. Uża l-isem tal-utent u l-password maħluqa qabel biex taċċessa l-interface tal-web Collectd.

# 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