FTP server na Debian-u

svibanj 30th, 2008 No Comments

Do sada ste se sigurno susreli sa FTP protokolom. To su sve one “stranice” (stranice pod navodnicima jer to ustvari nisu stranice nego lista direktorija na FTP serveru) kojima adresa počinje sa “ftp://” umjesto sa “http://”. Takvi serveri služe kako bi korisnici uploadali datoteke na njih i tako ih učinili dostupnima sebi i svima ostalima (naravno, ako ne zaštite lozinkom svoj polazni direktorij). Ono što neki ne znaju jest kako je ustvari lako napraviti jedan FTP server za po doma. Već sam napisao kako napraviti kućni Linux server ili kako za malo novaca kupiti jedan VPS server pa ukoliko nemate računalo na koje bi instalirali FTP server, počnite od jedne od tih tema.

Dakle, pretpostavimo da imate računalo kojem se može pristupiti preko Interneta (ili lokalne mreže ukoliiko ćete FTP server koristiti samo za lokalnu mrežu) i na kojem je instalirana Debian (ili Ubuntu) distribucija Linuxa. Prvi korak je sama instalacija FTP servera:

apt-get install proftpd

Pomoću ove naredbe instalirati ćemo jedan od popularnijih FTP servera - ProFTPD. Tijekom instalacije pojavit će se prozor u kojem vas pita da li hoćete standalone (samostalnu) instalaciju ili instalaciju preko inetd servera. Odaberite standalone instalaciju. Nakon završetka instalacije malo ćemo se pozabaviti konfiguracijskom datotekom.

vim /etc/proftpd/proftpd.conf

Većinu postavki možete ostaviti kakve su i po defaultu, a promijenite slijedeće:

# Da bi korisnicima onemogućili pristup datotekama izvan njihovog home direktorija
DefaultRoot ~

# Da bi sakrili verziju servera
IdentLookups off
ServerIdent on “Debian FTP server.”

# Naziv servera
ServerName “Naziv servera”

Na dnu konfiguracijske datoteke postoji cijeli blok koji je zakomentiran, a tiče se anonimnih korisnika. Ukoliko želite dozvoliti anonimnim korisnicima pregledavanje sadržaja, otkomentirajte cijeli blok.

I to je to. Imate instaliran i funkcionalan FTP server. Ukoliko će veliki broj korisnika imati svoj korisnički račun, pretražite na Google-u pojam “ProFTPD Virtual Users” jer po defaultu svi sistemski korisnici mogu zapisivati datoteke u svoj home direktorij. Dodavanje i brisanje korisnika radi se tako da se dodaju ili brišu sistemski korisnici.

Ukoliko održavate neki server na kojem se vrti Debian ili neka od distribucija temeljenih na Debianu (Kubuntu, Ubuntu i slično) ili ste jednostavno vlasnik računala sa takvih operativnim sustavom, sigurno često radite nadogradnju sustava sa novim verzijama instaliranih paketa (ukoliko ne radite, trebali biste :-) ). Obično je dovoljno u shell (komandnu liniju) upisati naredbe

debian:~# apt-get update
debian:~# apt-get upgrade

i instalacija novih verzija će se izvršiti automatski (pod uvjetom da postoje nove verzije paketa). No, ponekad se to ne dogodi nego se pojavi poruka ‘The following changes have been kept back’. To se događa zbog toga što su se promijenile ovisnosti (eng. dependencies) paketa koji su instalirani na računalu (ili serveru) i to na taj način da novi paket mora biti instaliran kako bi se napravio upgrade.

Na primjer, na mojem serveru mi se nedavno pojavila poruka:

debian:~# apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
The following packages have been kept back:
  openssh-client openssh-server
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

To znači da paketi openssh-client i openssh-server ne mogu biti samo nadograđeni na novu verziju već je potrebno instalirati nove pakete. Jednostavno rješenje je naredba apt-get dist-upgrade.

root@sun:~# apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following NEW packages will be installed:
  openssh-client openssh-server
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 3697kB of archives.
After unpacking 1860kB of additional disk space will be used.
Do you want to continue? [Y/n]

Na taj način instalirat će se nove verzije svih paketa kojima je potreban upgrade i sve nove ovisnosti koje su potrebne kako bi se nadogradnja mogla izvršiti.

Nedavno sam imao potrebu na jednom serveru postaviti nekoliko Internet stranica. Možda neki (malo manje upućeni) misle da na Internetu vrijedi “1 site = 1 server” no to nije tako. Vrlo često se kod manje zahtjevnih site-ova (koji nemaju previše pageview-ova dnevno) koristi jedan server za nekoliko Internet stranica. Ovdje ću opisati kako na jednostavan način na jedan Apache2 server smjestiti 3 Internet stranice (za primjer ću koristiti domene www.prva.com, www.druga.com i www.treca.hr).

Dakle, imate server na kojem je instaliran Apache i to u verziji 2.x. Ako malo bolje pogledate u direktorij /etc/apache2, vidjet ćete slijedeće:

  • apache2.conf datoteku - u njoj se nalazi veći dio konfiguracije Apache web servera
  • conf.d direktorij - sve datoteke koje se nalaze u njemu Apache smatra konfiguracijskima i pokušati će ih pročitati kod pokretanja
  • httpd.conf - datoteka ovog naziva je u verziji 1.x sadržavala konfiguraciju koja je sad prebačena u apache2.conf. Budući da u njoj vjerojatno nema ništa, a Apache ju po defaultu čita kod pokretanja, možete ju koristiti za vlastitu konfiguraciju Apache-a
  • mods-available direktorij - u njemu se nalaze konfiguracijske datoteke modula koji su dostupni za instalaciju (neki su možda već i instalirani)
  • mods-enabled direktorij - sadrži soft linkove na konfiguracijske datoteke modula, a ti linkovi se stvaraju automatski kad se modul instalira
  • ports.conf datoteka - popis portova na kojima Apache sluša
  • sites-available direktorij - u njemu se nalaze konfiguracijske datoteke za svaku web stranicu koja je dostupna Apache-u
  • sites-enabled direktorij - sadrži soft linkove na konfiguraciju svake instalirane web stranice

Kreiranje direktorija za svaku stranicu

Prvo ćemo kreirati jedan direktorij u koji ćemo smjestiti sve Internet stranice koje ćemo imati na serveru. Taj direktorij možete kreirati bilo gdje, samo što korisnik pod kojim je pokrenut Apache servis (na nekim distribucijama to je www-data, a na drugima je httpd) mora imati prava za čitanje iz tog direktorija. Ja ću direktorij kreirati u home direktoriju.

mkdir /home/www

Nakon toga kreirajte direktorije za svaku stranicu koju ćete imati, a u svakom direktoriju stranice napravite dodatne direktorije htdocs, logs i cgi-bin.

mkdir /home/www/www.prva.com
mkdir /home/www/www.prva.com/htdocs
mkdir /home/www/www.prva.com/logs
mkdir /home/www/www.prva.com/cgi-bin
mkdir /home/www/www.druga.com
mkdir /home/www/www.druga.com/htdocs
mkdir /home/www/www.druga.com/logs
mkdir /home/www/www.druga.com/cgi-bin
mkdir /home/www/www.treca.com
mkdir /home/www/www.treca.com/htdocs
mkdir /home/www/www.treca.com/logs
mkdir /home/www/www.treca.com/cgi-bin

Naravno, ukoliko ćete imati isti sadržaj za sve stranice (npr. ukoliko imate isti naziv domene, ali različite vršne domene - www.stranica.com, www.stranica.net, www.stranica.org…) nema smisla kreirati različite direktorije nego treba koristiti soft linkove.

Konfiguracija

Nakon što smo kreirali direktorije za svaku web stranicu, moramo u Apache konfiguraciji omogućiti korištenje virtualnih hostova. Najjednostavnije je u direktoriju /etc/apache2/conf.d napraviti datoteku virtual.conf i u nju upisati slijedeće:

NameVirtualHost *

Kao što sam već rekao, Apache prilikom pokretana čita sve datoteke u direktoriju conf.d pa će pročitati i datoteku virtual.conf.

Nakon toga, u direktoriju /etc/apache2/sites-available ćemo kreirati konfiguracijsku datoteku za svaku Internet stranicu. Dakle, u datoteku /etc/apache2/sites-available/www.prva.com upišite slijedeće:

#  Prva.com (/etc/apache2/sites-available/www.prva.com)
<VirtualHost *>
ServerAdmin webmaster@prva.com
ServerName  www.prva.com
ServerAlias prva.com, *.prva.com

# Indexes + Directory Root.
DirectoryIndex index.html, index.php
DocumentRoot /home/www/www.prva.com/htdocs/

# CGI Directory
ScriptAlias /cgi-bin/ /home/www/www.prva.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>

# Logfiles
ErrorLog  /home/www/www.prva.com/logs/error.log
CustomLog /home/www/www.prva.com/logs/access.log combined
</VirtualHost>

Nakon toga u istom direktoriju kreirajte još i datoteke www.druga.com te www.treca.com. U njih možete staviti istu konfiguraciju kao i u www.prva.com, samo napravite logične promjene (npr. umjesto Server name www.prva.com upišite Server name www.druga.com te Server name www.treca.com).

Naravno, u svaku od datoteka možete dodati i neki proizvoljni konfiguracijski redak koji će se odnositi samo na tu web stranicu.

Instaliranje internet stranica na serveru

Iako sam ovo poglavlje nazvao instaliranje internet stranica, to je ustvari dozvola korištenja stranice Apache-u.

Da ponovimo - sada imamo 3 stranice koje se još ne koriste jer Apache ne vidi virtualne hostove koje smo definirali. To je zato što se njihova konfiguracija još ne nalazi u direktoriju sites-enabled već samo u sites-available. Pomoću slijedećih naredbi ćemo Apache-u dozvoliti korištenje stranica:

a2ensite www.prva.com
a2ensite www.druga.com
a2ensite www.treca.com

Ukoliko iz nekog razloga želimo privremeno zabraniti korištenje neke stranice Apache-u, to ćemo napraviti sa naredbom a2dissite:

a2dissite www.druga.com

Nakon što smo sve napravili slijedi ponovno pokretanje Apache servera i to je to.

/etc/init.d/apache2 reload

Korisni linkovi

Još jedna zgodna stvar kod Apache-a je što možete imati mnogo Internet stranica sa istom konfiguracijom. Dobar članak o tome možete pronaći ovdje.

U ovom postu ću poći od pretpostavke da budući da ste ovdje, sigurno znate koje su prednosti “pravog” web servera sa root pristupom u odnosu na “obični” hosting Internet stranica - možete instalirati programske pakete koji su vam potrebni bez gnjavaže oko supporta od strane hosting tvrtke, možete smjestiti više web stranica na jednom serveru… Uglavnom, dosta je prednosti ali ima i jedan nedostatak - uglavnom ste sami odgovorni ako server padne zbog pogrešne konfiguracije. No to vas ne bi trebalo brinuti ukoliko znate nešto o konfiguraciji web servera.

Ukoliko ste se susretali sa smještanjem Internet stranica na web serveru, onda sigurno znate i koliko su skupi tzv. dedicated serveri. Budući da se kod njih radi o kompletnom serveru koji je rezerviran isključivo za kupca, takve usluge imaju i odgovarajuću, dosta visoku cijenu.

VPS - virtualni privatni server

Usluga virtualnog privatnog servera je način da se root pristup serveru ponudi korisnicima po osjetno nižoj cijeni - kvaka je u tome što kod VPS-a ne dobijete pravi server u najam već se pomoću virtualizacijskog softvera jedan server podijeli na više virtualnih servera od kojih je svaki zasebna cjelina i ne utječu jedan na drugoga.

Koliko je meni poznato, u Hrvatskoj ne postoji tvrtka koja pruža ovakvu vrstu usluge, ali nema razloga zašto ne biste nekoj tvrtki iz Amerike platili za ovakvu uslugu. Jedna od boljih i jeftinijih je VPSLink, tvrtka koja nudi nekoliko vrsti virtualnih privatnih servera koji dolaze sa predinstaliranim operativnim sustavom Windows ili Linux (postoji nekoliko različitih distribucija među kojima su i Debian i Ubuntu). Budući da je za svaki VPS pod Windows operativnim sustavom potrebno platiti licencu Microsoftu, takve usluge su nešto skuplje od Linux baziranih VPS-ove.

Kod većine tvrtki koje nude uslugu VPS-a možete dobiti LAMP server - web server sa predinstaliranim Linux OS-om, Apache web serverom, MySQL bazom podataka i PHP-om. Na ovaj način možete dobiti server koji je spreman za hosting Internet stranica bez prethodnog konfiguriranja. Ipak, za bilo kakav napredniji način korištenja VPS-a (npr. za smještanje više stranica na jedan server) ipak je potrebno znati konfigurirati Apache jer smještanje jedne Internet stranice na VPS nema smisla - jeftinije i jednostavnije je uzeti običan hosting.

Prednosti i mane

Već sam naveo glavnu prednost ovakve usluge - relativno jeftin način dobivanja root pristupa web serveru. Razlog jeftinije usluge je što VPS server obično ima manje radne memorije, manji kapacitet diska no za manje zahtjevne korisnike to je i više nego dovoljno. Naravno, tvrtke nude različita ograničenja kod VPS servera pa tako tvrtka VPSLink u ponudi ima diskovne kapacitete od 2.5 GB do 160 GB, mjesečni bandwith od 100 GB do 5.000 GB, količinu memorije od 128 MB do 4096 MB… Dakle, za svakoga ima ponešto. Nekima će biti zanimljivo da neke tvrtke dozvoljavaju i preprodaju hostinga pa tako možete kupiti najjači VPS hosting plan i preprodavati pojedinačnim korisnicima.

Centreon sučeljeVećina sistem administratora ima zadatak brinuti se o jednom ili više servera. To zna biti vrlo stresan posao jer korisnici (s pravom) očekuju da server bude uvijek dostupan. Najveći problem je kad vas korisnik nazove i kaže da je neki server nedostupan jer onda očekuje da administrator zamahne čarobnim štapićem i da sredi stvar. To, naravno, često nije moguće pa korisnici postanu nervozni i stalno zapitkivaju u čemu je problem.

No, takvi događaji mogu se spriječiti. Na Internetu postoji mnogo open source rješenja za nadgledanje rada servera i uređaja na mreži (eng. network monitoring), a među popularnijima je Nagios. To je sustav koji na jednom glavnom serveru i prati stanje ostalih servera. Osim praćenja dostupnosti servera i njegovih servisa (SMTP, POP3, Apache…), Nagios sustav uz dodatak posebnog NRPE plugina instaliranog na udaljenom serveru može pratiti i količinu slobodne memorije, zauzeće procesora, količinu load-a i slično.

Ovdje ću opisati instalaciju Nagios sustava sa Centreon sučeljem. Konfiguraciju i dodavanje servera za praćenje neću opisivati jer je to individualna stvar svakog korisnika pa je najbolje da sve o konfiguraciji Nagiosa i Centreona pročitate u njihovoj dokumentaciji (Nagios dokumentacija; Centreon dokumentacija).

Prije instalacije samog sustava, postoji nekoliko predzahtjeva. Neke pakete ste možda već instalirali, ali za svaki slučaj upišite svaki redak kako se traži. Na taj način biti ćete sigurni da imate sve. Ukoliko je paket već instaliran, automatski će biti preskočen:

  1. Instalirajte pakete potrebne za kompajliranje:
    apt-get install build-essential
  2. Instalirajte sudo, Apache server, MySQL server i PHP:
    apt-get install sudo apache2 mysql-server php5
  3. Instalirajte MySQL ekstenziju za PHP (php5-mysql), PEAR, SNMP, Posix i GD module za PHP:
    apt-get install php5-mysql php-pear php5-snmp posixtestsuite php5-gd
  4. apt-get install rrdtool
  5. apt-get install snmp snmpd libnet-snmp-perl
  6. apt-get install nmap
  7. apt-get install libgd-gd2-perl libnet-snmp-perl librrds-perl
  8. Prije instalacije PEAR modula treba napraviti upgrade PEAR-a (broj najnovije verzije provjerite na http://pear.php.net):
    pear upgrade PEAR-<najnovija.verzija.pear>

    Nakon toga instalirati slijedeće:

    pear install -o -f –alldeps DB DB_DataObject DB_DataObject_FormBuilder MDB2 Date Numbers_Roman Numbers_Words HTML_Common HTML_QuickForm HTML_QuickForm_advmultiselect HTML_Table Auth_SASL HTTP Image_Canvas Image_Color Image_Graph Image_GraphViz Mail Mail_Mime Net_SMTP Net_Socket Net_Traceroute Net_Ping Validate XML_RPC SOAP

Ukoliko je instalacija svih predzahtjeva prošla bez problema, krećemo sa instalacijom Nagios sustava:

  1. Dodavanje korisnika i grupe korisnika “nagios”:
    adduser nagios
  2. Kreiranje grupe “nagcmd” u kojoj će se nalaziti korisnici nagios i www-data (korisnik pod kojim je pokrenut Apache):
    addgruop nagcmd
  3. Dodavanje korisnika nagios i www-data u grupu nagcmd:
    usermod -G nagcmd nagios
    usermod -G nagcmd www-data
  4. Kreiranje direktorija za Nagios sustav i postavljanje vlasništva nad tim direktorijem korisniku i grupi nagios:
    mkdir /usr/local/nagios
    chown nagios:nagios /usr/local/nagios
  5. Otvorite stranicu http://www.nagios.org/download/ i “skinite” najnoviju verziju Nagios sustava (trenutno je to Nagios 3.0).
  6. Otpakirajte .tar.gz datoteku i prebacite se u direktorij u koji ste ju otpakirali. Nakon toga pokrenite konfiguracijsku skriptu:
    cd nagios-3.0rc3
    ./configure -with-nagios-user=nagios -with-nagios-group=nagios -with-command-group=nagcmd
  7. Kad to završi, trebali biste dobiti razne informacije o tome kako će Nagios sustav biti instaliran:
    *** Configuration summary for nagios 3.0rc3 02-26-2008 ***:
    General Options:
    -------------------------
            Nagios executable:  nagios
            Nagios user/group:  nagios,nagios
           Command user/group:  nagios,nagcmd
                Embedded Perl:  no
                 Event Broker:  yes
            Install ${prefix}:  /usr/local/nagios
                    Lock file:  ${prefix}/var/nagios.lock
       Check result directory:  ${prefix}/var/spool/checkresults
               Init directory:  /etc/init.d
      Apache conf.d directory:  /etc/apache2/conf.d
                 Mail program:  /usr/bin/mail
                      Host OS:  linux-gnu
    
    Web Interface Options:
    ------------------------
                     HTML URL:  http://localhost/nagios/
                     CGI URL:  http://localhost/nagios/cgi-bin/
     Traceroute (used by WAP):  /usr/sbin/tracerouteReview the options above for accuracy.  If they look okay,
    
     type 'make all' to compile the main program and CGIs.
  8. Nakon toga učinite slijedeće:
    1. Iskompajlirajte Nagios i CGI skripte: make all
    2. Instalirajte Nagios i HTML datoteke: make install
    3. Instalirajte inicijalizacijsku skriptu koja će omogućiti da se Nagios pokrene kod pokretanja servera: make install-init
    4. Instalirajte i konfigurirajte dozvole za direktorij sa naredbama (Commands) koji služi za vanjske naredbe: make install-commandmode
    5. Ako želite instalirati primjere konfiguracijskih datoteka, upišite: make install-config

Idući korak je instalacija Nagios Pluginova:

  1. Sa stranice http://www.nagios.org/download/ “skinite” najnoviju verziju Nagios pluginova, otpakirajte ju te se prebacite u novootpakirani direktorij:
    wget http://dfn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
    tar -zxvf nagios-plugins-1.4.11.tar.gz cd nagios-plugis-1.44.11
  2. Pokrenite konfiguracijsku skriptu:
    ./configure
  3. Na kraju kompajlirajte i instalirajte defaultne pluginove:
    make && make install

Nakon instalacije Nagios sustava i Nagios pluginova, slijedi instalacija grafičkog sučelja. Nećemo instalirati Nagiosovo sučelje jer ćemo koristiti po meni bolji i ljepši Centreon:

  1. Prvo “skinite” najnoviju verziju Centreon sučelja, otpakirajte ju i prebacite se u novootpakirani direktorij:
    wget http://download.oreon-project.org/index.php?id=73
    tar -zxvf centreon-1.4.2.3.tar.gz
    cd centreon-1.4.2.3
  2. Pokrenite instalacijsku skriptu (obavezno kao root korisnik) koja će vas voditi kroz instalacijsku proceduru:
    ./install.sh
    
    ###############################################################################
    #                            Centreon (www.centreon.com)                      #
    #                            Thanks for using Centreon                        #
    #                                                                             #
    #                                   v 1.4.2.3                                 #
    #                                                                             #
    #                             infos@oreon-project.org                         #
    #                                                                             #
    #                     Make sure you have installed and configured             #
    #                                   sudo - sed                                #
    #                          php - apache - rrdtool - mysql                     #
    #                                                                             #
    #                                                                             #
    ###############################################################################
    #                                 The Team Centreon                           #
    ###############################################################################
    
     WARNING : Setup will delete all previous informations in your Centreon DATABASE.
    
    Are you sure to continue ?
    [y/n], default to [n]:y
    
    Where is installed Nagios ?
    default to [/usr/local/nagios]:/usr/local/nagios
    
    Where is your nagios etc directory ?
    default to [/usr/local/nagios/etc]:/usr/local/nagios/etc
    Path /usr/local/nagios/etc                                 OK
    
    Where is your nagios var directory ?
    default to [/usr/local/nagios/var]:/usr/local/nagios/var
    Path /usr/local/nagios/var                                 OK
    
    Where is your nagios plugins (libexec) directory ?
    default to [/usr/local/nagios/libexec]:/usr/local/nagios/libexec
    Path /usr/local/nagios/libexec                             OK 
    Where is your nagios bin directory?
    default to [/usr/local/nagios/bin]:/usr/local/nagios/bin
    Path /usr/local/nagios/bin                                 OK
    
    Where is your nagios image directory ?
    default to [/usr/local/nagios/share/images]:/usr/local/nagios/share/images
    Path /usr/local/nagios/share/images                        OK
    
    Where do I install centreon ?
    default to [/usr/local/centreon]:/usr/local/centreon
    Directory /usr/local/centreon does not exits.              CRITICAL
    
    Do you want me to create this directory [/usr/local/centreon]?[Y/n]y
    Path /usr/local/centreon                                   OK
    
    Where is sudo configuration file?
    default to [/etc/sudoers]:/etc/sudoers
    File /etc/sudoers                                          OK
    
    Where is installed RRD perl modules [RRDs.pm] ?
    Just put directory, not full path.
    default to [/usr/local/rrdtool/lib/perl]:/usr/lib/perl5
    File /usr/lib/perl5                                        OK
    
    Where is rrdtool binary ?
    default to [/usr/bin/rrdtool]:/usr/bin/rrdtool
    /usr/bin/rrdtool                                           OK
    
    Where is mail binary ?
    default to [/usr/bin/mail]:/usr/bin/mail
    /usr/bin/mail                                              OK
    
    Where is PEAR Path ?
    default to [/usr/share/pear]:/usr/share/php
    PEAR Path /usr/share/php                                   OK
    
    ————————————————————————
                               User Management
    ————————————————————————
    
    Finding Apache group :                                     www-data
    Finding Apache user :                                      www-data
    Finding Nagios group :                                     nagios
    Finding nagios group ‘nagios’ in /etc/group                YES
    Finding Nagios user :                                      nagios
    Finding nagios user ‘nagios’ in /etc/passwd                YES
    
    ————————————————————————
                                  Other Stuff
    ————————————————————————
    
    TrueType directory created                                 OK
    TrueType verdana installed                                 OK
    Finding PEAR Path : /usr/share/php                         OK
    PEAR Font directory created                                OK
    PEAR Font installed                                        OK
    
    ————————————————————————
                            Configure Apache server
    ————————————————————————
    
    Create ‘/etc/apache2/conf.d/oreon.conf’                    OK
    Configuring Apache                                         OK
    User www-data added to nagios group                        OK
    
    ————————————————————————
                                  Start Centreon Installation
    ————————————————————————
    
    Centreon Directory already exists                          PASSED
    Copy ‘filesGeneration’                                     OK
    Copy ‘filesUpload’                                         OK
    Copy ‘GPL_LIB’                                             OK
    Copy ‘log’                                                 OK
    Copy ‘www’                                                 OK
    Copy ‘cron’                                                OK
    Copy ‘ODS’                                                 OK
    Copy ‘ODS_SRC_ETC’                                         OK
    Copy ‘doc’                                                 OK
    
    ————————————————————————
                       Start Plugins Centreon Installation
    ————————————————————————
    
    /usr/local/nagios/libexec already exists                   PASSED
    
    Preparing Oreon Plugins…
      -> centreon.conf                                         OK
      -> centreon.pm                                           OK
      -> check_centreon_dummy                                  OK
      -> check_centreon_MS_multiple_services                   OK
      -> check_centreon_nt                                     OK
      -> check_centreon_ping                                   OK
      -> check_centreon_snmp_cpu                               OK
      -> check_centreon_snmp_loadaverage                       OK
      -> check_centreon_snmp_multiple_process                  OK
      -> check_centreon_snmp_packetErrors                      OK
      -> check_centreon_snmp_process                           OK
      -> check_centreon_snmp_process_detailed                  OK
      -> check_centreon_snmp_remote_storage                    OK
      -> check_centreon_snmp_TcpConn                           OK
      -> check_centreon_snmp_traffic                           OK
      -> check_centreon_snmp_uptime                            OK
      -> check_centreon_snmp_value                             OK
      -> check_meta_service                                    OK
      -> check_snmp_cpfw.pl                                    OK
      -> check_snmp_load.pl                                    OK
      -> check_snmp_mem.pl                                     OK
      -> check_snmp_process.pl                                 OK
      -> check_snmp_processus_loaded.pl                        OK
      -> check_snmp_script_result.pl                           OK
      -> check_snmp_storage.pl                                 OK
      -> check_snmp_win.pl                                     OK
      -> process-service-perfdata                              OK
      -> submit_host_check_result                              OK
      -> submit_service_check_result                           OK
    
    Do you want to install Centreon Plugins ?
    
    [y/n], default to [y]:y
    Installing Centreon Plugins on ‘/usr/local/nagios/libexec’ OK
    
    ————————————————————————
                         Start Traps Handler Installation
    ————————————————————————
    
    Preparing Oreon Plugins…
    -> fill_trapDB
    -> genSnmpttConfFile
    -> trapHandler
    
    Do you want to install Centreon Traps Plugins ?
    
    [y/n], default to [y]:y
    Installing Centreon Traps Plugins on
    /usr/local/nagios/libexec/traps created                    OK
    
    Where is your SNMP configuration file?
    default to [/etc/snmp/]:/etc/snmp
    
    Moving snmptrapd.conf to /etc/snmp                         OK
    /etc/snmpcentreon_traps created                            OK
    Moving snmptt.ini to /etc/snmpcentreon_traps/              OK
    Moving snmp.conf to /etc/snmp                              OK
    Moving snmptt to /usr/sbin/                                OK
    Moving snmpttconvertmib to /usr/sbin/                      OK
    /usr/local/nagios/libexec/traps/’                          OK
    
    Finding Centreon Plugins configuration file ‘centreon.conf’OK
    You already seem to have installed the plugins Centreon.
    Do you want overwrite this file ? You must regenerate this one from Centreon interface.
    [y/n], default to [n]:n
    /usr/local/centreon/filesGeneration/nagiosCFG already existPASSED
    /usr/local/centreon/filesUpload/nagiosCFG already exists   PASSED
    
    ————————————————————————
                           Start ODS Installation
    ————————————————————————
    
    Checking ODS data folder :
    Creating Centreon Directory ‘/var/lib/ods’                 OK
    Checking ODS database folder :
    Creating Centreon Directory ‘/var/lib/ods/database/’       OK
    Checking ODS log folder :
    Creating Centreon Directory ‘/var/log/ods/’                OK
    Replace ODS Macro                                          OK
    Install ODS Binary                                         OK
    Set ODS properties                                         OK
    
    ————————————————————————
                        Replace Macro In ODS cron script
    ————————————————————————
    
    in /usr/local/centreon/cron/inventory_update.php           OK
    in /usr/local/centreon/cron/reporting/ArchiveLogInDB.php   OK
    in /usr/local/centreon/cron/parsing_status.pl              OK
    in /usr/local/centreon/cron/parsing_log.pl                 OK
    
    ————————————————————————
                           Start Centreon Cron Configuration
    ————————————————————————
    
    Specify user do you use for Centreon cron
    Default to [nagios] nagios
    no crontab for nagios
    You old crontab is backup on /tmp/crontab_nagios.c13601 file
    
    ————————————————————————
                                Configure Sudo
    ————————————————————————
    
    Finding nagios init script :                               /etc/init.d/nagios
    Configuring Sudo                                           OK
    
    ————————————————————————
                              Centreon Post Install
    ————————————————————————
    
    Finding mail binary : /usr/bin/mail                        OK
    Finding rrdtool binary : /usr/bin/rrdtool                  OK
    Create /usr/local/centreon/www/install/installoreon.conf.phOK
    Create /etc/oreon.conf                                     OK
    Configuring Oreon post-install                             OK
    
    ###############################################################################
    #      Go to the URL : http://your-server/oreon/                              #
    #                   or http://your-server/centreon/  to finish the setup      #
    #                                                                             #
    #                    Report bugs at bugs@oreon-project.org                    #
    #                                                                             #
    #                           Thanks for using Centreon.                        #
    #                             ———————–                         #
    #                        Contact : infos@oreon-project.org                    #
    #                            http://www.centreon.com                          #
    ###############################################################################

Nakon instalacije Centreon sučelja, nastavljamo sa konfiguracijom parametara i baze:

  1. Ulogirajte se u Centreon sučelje na serveru: http://<server>/centreon i kad se otvori, kliknite na Start kako bi započeli konfiguraciju.
  2. Da bi koristili sučelje, morate prihvatiti licencne uvjete. Označite I accept i kliknite na Next.
  3. Na trećem koraku pregledajte jesu li sve opcije u redu i ako jesu, kliknite Next.
  4. Na četvrtom koraku sam naišao na jedan mali problemčić. Kod komponente LDAP pisalo je upozorenje Warning: ldap.so not loaded in php.ini. Ukoliko vam se to dogodi, otvorite konzolu i instalirajte LDAP ekstenziju za PHP:
    apt-get install php5-ldap

    Nakon toga pomoću nekog konzolnog editora teksta (npr. vim) otvorite php.ini datoteku:

    vim /etc/php5/apache2/php.ini

    U datoteci pronađite primjere kako učitati ekstenziju (ako koristite vim, upišite “/extension=mysql.so”, bez navodnika da pronađete primjer učitavanja ekstinzije za MySQL bazu) i ispod toga upišite:

    extension=ldap.so

    Još preostaje samo restart Apache servera i nakon toga bi sve trebalo biti OK (nakon restarta u Centreon sučelju kliknite na Back pa ponovo na Next i ne bi smjelo biti upozorenja):

    /etc/init.d/apache2 restart

    Nakon što se uvjerite da je sve u redu, opet kliknite na Next da bi došli na 5. korak.

  5. Na petom koraku provjerava se instalacija PEAR modula. Provjerite da li za svaku PEAR ekstenziju piše OK i kliknite Next.
  6. Na ovom koraku podešava se MySQL baza. Upišite lozinku za root korisnika baze, naziv baze koju će Centreon sustav koristiti (najbolje centreon), lozinku za tu bazu (morate ju upisati dva puta) i opciju MySQL client version postavite na >=4.1 - PASSWORD(). Klinite na Next.
  7. Na sedmom koraku provjerite da li je sve u redu (zelenim slovima mora pisati OK i verzija MySQL baze) i ako je, kliknite Next.
  8. Ovjde podešavate postavke administratorskog korisničkog računa ta Centreon sučelje. Možete koristiti svoje podatke ili ove koje sam ja naveo:
    Administrator login for Oreon: admin
    Administrator password for Oreon: <upišite svoju lozinku>
    Confirm password: <ponovo upišite istu lozinku>
    Administrator firstname for Oreon: <upišite administratorovo ime>
    Administrator lastname for Oreon: <upišite administratorovo prezime>
    Administrator Email for Oreon: <upišite e-mail administratora>
    Administrator language for Oreon: <odaberite "en">

    Nakon toga kliknite na Next.

  9. Za Enable LDAP Authentication? možete odabrati No. Kliknite Next.
  10. Ako je u popisu kofiguracijskih datoteka sve OK, klinite Next.
  11. Na 11. koraku podešava se MySQL baza. Ukoliko za sve piše OK, kliknite Next.
  12. Ovo je posljednji korak. Sve smo uspješno instalirali pa klinite na Click here to complete your install.

Sada upišite svoje korisničko ime i lozinku koje ste odredili u 8. koraku i kliknite Login pa ćete ući u sustav za nadzor.

Prije nego što upišete prvi server, predlažem dodavanje novog vremenskog perioda za slanje obavijesti o stanju servera i servisa. Budući da to ne možemo napraviti u Centreon sustavu, otvorite konzolu, spojite se na server na kojem ste instalirali Nagios i Centreon te upišite mysql -u root -p kako bi se spojili na MySQL. Nakon toga morate upisati lozinku za root korisnika za MySQL. Kad ste se uspješno spojili na MySQL, upišite slijedeće (pretpostavit ću da ste bazu nazvali centreon kao i ja):

use centreon;
INSERT INTO `timeperiod` ( `tp_id` , `tp_name` , `tp_alias` , `tp_sunday` , `tp_monday` , `tp_tuesday` , `tp_wednesday` , `tp_thursday` , `tp_friday` , `tp_saturday` ) VALUES ( '5', 'Daily', 'Only at daytime', '10:00-21:00', '08:00-22:00', '08:00-22:00', '08:00-22:00', '08:00-22:00', '08:00-22:00', '10:00-22:00' );

Ovime ste dodali novi vremenski period za slanje obavijesti pod imenom “Daily”. Na taj način ćete se osigurati da vam obavijesti neće dolaziti u gluho doba noći i probuditi vas. Naravno, to je samo opcija i još uvijek u postavkama svog korisničkog imena možete odabrati drugačije vrijeme slanja obavijesti jer za neke servere ćete možda htjeti da vam se obavijesti šalju u svako doba.

Čestitam! Uspješno ste instalirati Nagios sustav za nadgledanje servera i Centreon sučelje za konfiguraciju. Ukoliko imate kakvih pitanja, slobodno napišite u komentarima.