Fylgstu með netþjónaauðlindum með Collectd-web og Apache CGI í Linux


Þessi kennsla mun fjalla um hvernig þú getur sett upp og keyrt Collectd-vefviðmót, sem er framhlið vefvöktunartæki fyrir Collectd púkinn, í tengslum við Apache CGI viðmót til að framleiða grafíska html úttak til að fylgjast með Linux kassa.

Í lok greinarinnar munum við einnig kynna hvernig þú getur verndað Collectd-vefviðmótið með því að nota .hpasswd Apache auðkenningarkerfi.

Krafan í þessari grein er að þú verður að hafa Collectd og Collectd-Web uppsett á Linux kerfinu þínu. Til að setja upp þessa pakka verður þú að fylgja skrefum #1 og #2 frá fyrri grein þessarar seríu á:

  1. Settu upp Collectd og Collectd-Web í Linux

Fylgdu aðeins eftirfarandi tveimur skrefum frá hlekknum hér að ofan:

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

Þegar þessum tveimur nauðsynlegu hlutum hefur verið lokið með góðum árangri geturðu haldið áfram frekari leiðbeiningum í þessari grein til að stilla Collectd-web með Apache CGI.

Skref 1: Uppsetning Apache vefþjóns

1. Miðað við að þú hafir þegar sett upp Apache vefþjón á kerfinu þínu, ef ekki geturðu sett upp með eftirfarandi skipun í samræmi við Linux dreifingu þína.

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

2. Eftir að Apache hefur verið sett upp skaltu breyta möppunni í sjálfgefna skjalarót á vefþjóninum þínum (sem er staðsett undir /var/www/html/ eða /var/www kerfisslóð og klónaðu Collectd-web Github verkefnið með því að gefa út skipanirnar hér að neðan:

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

Gerðu einnig eftirfarandi Collectd-web script keyranlegt með því að gefa út eftirfarandi skipun:

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

Skref 2: Virkjaðu Apache CGI (.cgi forskriftir) fyrir sjálfgefinn gestgjafa

3. Til þess að Apache geti keyrt CGI forskriftirnar sem staðsettar eru undir sjálfgefna gestgjafa HTML Collectd-web cgi-bin skránni þarftu að virkja Apache CGI viðmót fyrir Bash forskriftir (með .cgi ending) með því að breyta sjálfgefna gestgjafanum sem er tiltækur vefsvæði. og bætir við yfirlýsingarreitnum hér að neðan.

Opnaðu fyrst Apache sjálfgefna hýsilstillingarskrá til að breyta með nano ritstjóra:

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

Á meðan skráin er opnuð til að breyta bættu við eftirfarandi tilskipunarreit fyrir neðan Document Root tilskipunina eins og sýnt er á myndinni hér að neðan:

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

Eftir að þú hefur lokið við að breyta skránni skaltu loka henni með CTRL + o og hætta nano ritlinum (CTRL+x), virkja síðan Apache CGI mát og endurræsa þjóninn til að beita öllum breytingunum sem gerðar hafa verið hingað til með því að gefa út skipanirnar hér að neðan:

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

4. Til að virkja Apache CGI tengi fyrir CentOS/RHEL, opnaðu httpd.conf Apache stillingarskrá og bættu eftirfarandi línum við neðst í skránni:

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

Bættu eftirfarandi útdrætti við httpd.conf skrána.

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

Til að beita breytingum skaltu endurræsa httpd púkann með því að gefa út eftirfarandi skipun:

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

Skref 3: Skoðaðu Collectd-vefviðmót

5. Til að heimsækja Collectd-vefviðmótið og sjá fyrir þér tölfræði um vélina þína sem hefur verið safnað hingað til skaltu opna vafra og fletta að IP-tölu vélarinnar þinnar/collectd-web/ URI staðsetningu með því að nota HTTP samskiptareglur.

http://192.168.1.211/collect-web/

Skref 4: Lykilorðsvernd Collectd-vefslóð með Apache Authentication

6. Ef þú vilt takmarka aðgang að Collectd-vefviðmótinu með því að vernda það með Apache Authentication kerfi (.htpasswd), sem krefst þess að gestir slá inn notandanafn og lykilorð til að fá aðgang að vefforriti.

Til að gera það þarftu að setja upp apache2-utils pakkann og búa til sett af skilríkjum fyrir staðbundna auðkenningu. Til að ná þessu markmiði skaltu fyrst gefa út eftirfarandi skipun til að setja upp apache2-utils pakkann:

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

7. Næst skaltu búa til notandanafn og lykilorð sem verður geymt á falinni staðbundinni .htpass skrá sem staðsett er undir Apache sjálfgefna hýsil Collectd-vefslóð með því að gefa út skipunina hér að neðan:

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

Reyndu að vernda þessa skrá með því að úthluta eftirfarandi heimildum:

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

8. Í næsta skrefi, eftir að þú hefur búið til .htpass skrá, opnaðu Apache sjálfgefna hýsil til að breyta og leiðbeina þjóninum um að nota htpasswd grunn auðkenningu á miðlara með því að bæta við eftirfarandi tilskipunarblokk eins og sýnt er á skjámyndinni hér að neðan:

<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. Síðasta skrefið til að endurspegla breytingar er að endurræsa Apache þjóninn með því að gefa út skipunina hér að neðan og fara á Coollectd-vefslóðina eins og lýst er hér að ofan.

Sprettigluggi ætti að birtast á vefsíðunni þar sem óskað er eftir auðkenningarskilríkjum þínum. Notaðu notandanafnið og lykilorðið sem búið var til áður til að fá aðgang að Collectd vefviðmóti.

# 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