Fuatilia Rasilimali za Seva kwa Collectd-web na Apache CGI katika Linux


Mafunzo haya yatajadili jinsi unavyoweza kusakinisha na kuendesha kiolesura cha Collectd-web, ambacho ni zana ya mbele ya ufuatiliaji wa wavuti kwa Collectd daemon, kwa kushirikiana na kiolesura cha Apache CGI ili kutoa matokeo ya picha za html ili kufuatilia visanduku vya Linux.

Mwishoni mwa makala, pia, tutawasilisha jinsi unavyoweza kulinda kiolesura cha Collectd-wavuti kwa kutumia .hpasswd utaratibu wa Uthibitishaji wa Apache.

Sharti la kifungu hiki ni, lazima uwe na Collectd and Collectd-Web iliyosakinishwa kwenye mfumo wako wa Linux. Ili kusakinisha vifurushi hivi, lazima ufuate Hatua #1 na #2 kutoka kwa nakala iliyotangulia ya mfululizo huu katika:

  1. Sakinisha Wavuti Uliokusanywa na Uliokusanywa katika Linux

Fuata tu hatua mbili kutoka kwa kiungo hapo juu:

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

Mara tu vitu hivi viwili vinavyohitajika kukamilika kwa mafanikio, unaweza kuendelea na maagizo zaidi katika nakala hii ili kusanidi Collectd-web na Apache CGI.

Hatua ya 1: Kusakinisha Apache Web Server

1. Kwa kudhani kuwa tayari umesakinisha seva ya wavuti ya Apache kwenye mfumo wako, ikiwa sivyo unaweza kusakinisha kwa kutumia amri ifuatayo kulingana na usambazaji wako wa Linux.

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

2. Baada ya Apache kusakinishwa, badilisha saraka kuwa mzizi wa hati ya seva yako ya wavuti (ambayo iko chini ya /var/www/html/ au /var/www njia ya mfumo na utengeneze mradi wa Collectd-web Github kwa kutoa amri zilizo hapa chini:

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

Pia, fanya hati ifuatayo ya Collectd-web itekelezwe kwa kutoa amri ifuatayo:

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

Hatua ya 2: Washa Apache CGI (hati.cgi) kwa Seva Default

3. Ili Apache iendeshe hati za CGI zilizo chini ya seva pangishi chaguo-msingi ya HTML Collectd-web cgi-bin saraka, unahitaji kuwezesha kiolesura cha Apache CGI kwa hati za Bash (pamoja na kiendelezi cha .cgi) kwa kubadilisha seva pangishi chaguomsingi inayopatikana. na kuongeza kizuizi cha taarifa hapa chini.

Fungua kwanza faili ya usanidi chaguo-msingi ya Apache ili kuhaririwa na kihariri cha nano:

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

Wakati faili imefunguliwa kwa kuhaririwa ongeza kizuizi kifuatacho cha maagizo chini ya maagizo ya Hati Mizizi kama inavyoonyeshwa kwenye picha hapa chini:

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

Baada ya kumaliza kuhariri faili, ifunge kwa CTRL + o na uondoke kihariri cha nano (CTRL+x), kisha uwashe moduli ya Apache CGI na uanze tena seva ili kutekeleza mabadiliko yote yaliyofanywa hadi sasa kwa kutoa amri hapa chini:

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

4. Ili kuwezesha kiolesura cha Apache CGI kwa CentOS/RHEL, fungua faili ya usanidi ya Apache ya httpd.conf na uongeze mistari ifuatayo chini ya faili:

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

Ongeza dondoo ifuatayo kwa faili ya httpd.conf.

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

Ili kutumia mabadiliko, anzisha tena daemon ya httpd kwa kutoa amri ifuatayo:

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

Hatua ya 3: Vinjari Kiolesura cha Wavuti kilichokusanywa

5. Ili kutembelea kiolesura cha Collectd-wavuti na kuibua takwimu kuhusu mashine yako iliyokusanywa kufikia sasa, fungua kivinjari na uende kwenye mashine yako Anwani ya IP/collectd-web/ URI kwa kutumia itifaki ya HTTP.

http://192.168.1.211/collect-web/

Hatua ya 4: Nenosiri Linda URL ya Wavuti iliyokusanywa kwa kutumia Uthibitishaji wa Apache

6. Iwapo ungependa kuzuia ufikiaji wa kiolesura cha Collectd-web kwa kuilinda kwa kutumia utaratibu wa Uthibitishaji wa Apache (.htpasswd), ambao unahitaji wageni kuingiza jina la mtumiaji na nenosiri ili kufikia rasilimali ya wavuti.

Ili kufanya hivyo, unahitaji kusakinisha kifurushi cha apache2-utils na kuunda seti ya vitambulisho vya uthibitishaji wa ndani. Ili kufikia lengo hili, toa kwanza amri ifuatayo ya kusakinisha kifurushi cha apache2-utils:

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

7. Kisha, toa jina la mtumiaji na nenosiri ambalo litahifadhiwa kwenye faili iliyofichwa ya ndani ya .htpass iliyo chini ya njia chaguomsingi ya Apache ya Collectd-web kwa kutoa amri iliyo hapa chini:

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

Jaribu kulinda faili hii kwa kukabidhi ruhusa zifuatazo:

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

8. Katika hatua inayofuata, baada ya kutengeneza faili ya .htpass, fungua seva pangishi chaguo-msingi ya Apache ili kuhaririwa na uamuru seva kutumia uthibitishaji wa msingi wa htpasswd wa upande wa seva kwa kuongeza kizuizi kifuatacho kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini:

<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. Hatua ya mwisho ili kuakisi mabadiliko ni kuanzisha upya seva ya Apache kwa kutoa amri iliyo hapa chini na kutembelea ukurasa wa Coollectd-Web URL kama ilivyoelezwa hapo juu.

Dirisha ibukizi linapaswa kuonekana kwenye ukurasa wa wavuti kuomba vitambulisho vyako vya uthibitishaji. Tumia jina la mtumiaji na nenosiri lililoundwa mapema ili kufikia kiolesura cha Wavuti kilichokusanywa.

# 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