Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

In general problemele din cPanel/WHM au mesaje de eroare destul de clare, mesaje care ne dau de inteles unde e problema si stim aproximativ ce trebuie sa cautam si sa modificam pentru a iesi din situatia existenta. Exista totusi situatii mai nefericite in care mesajele de eroare sunt vagi sau inexistente (ex. pagina alba, nu se incarca iconurile etc). In astfel de situatii cauza problemei trebuie cautata in alt loc. O metoda automata de rezolvare a oricarei probleme e, bineinteles, imposibil de creat. Totusi, urmand verificarile de mai jos cu siguranta veti rezolva 90% din problemele care aparent nu au niciun punct de pornire.

1. Verificarea logurilor

O eroare, oricat de vaga ar fi, odata ce a fost declansata trebuie sa lase cel putin un mesaj de eroare in loguri. cPanel isi tine logurile in directorul „/usr/local/cpanel/logs„. E probabil primul loc in care ar trebui sa cautam cauza problemei. Aici ne intereseaza trei fisiere si anume license_log, error_log si access_log.

Prima data trebuie sa verificam daca licenta cPanel a putut fi verificata. Pentru asta verificam ultimele linii din fisierul license_log:

[root@hosting /usr/local/cpanel/logs]# tail license_log 
Mon Aug 31 21:02:33 2009: License Update Request
Mon Aug 31 21:02:33 2009: Trying server 69.90.250.78
Mon Aug 31 21:02:33 2009: Server 69.90.250.78 on port 80 returned:
Key Accepted
Key Follows
Mon Aug 31 21:02:33 2009: Accepted license from server 69.90.250.78 on port 80
Mon Aug 31 21:02:33 2009: License update succeeded after trying 1 server
[root@hosting /usr/local/cpanel/logs]#

Daca licenta nu a putut fi verificata va aparea un mesaj de eroare care va descrie pe scurt motivul pentru care nu a putut fi verificata licenta. Inainte de a rezolva orice alta problema trebuie rezolvata problema licentei din doua motive. Primul motiv e faptul ca cPanel obisnuieste sa blocheze accesul la unele servicii, inclusiv panoul de control, daca licenta nu e activa. Al doilea motiv e suportul tehnic care vine cu licenta – daca nu se poate verifica licenta nu se poate deschide o cerere de suport.

Al doilea fisier care trebuie studiat este error_log. De obicei aici apar mesajele de eroare in clar si putem gasi solutia in functie de mesajul de eroare afisat. Trebuie avut in vedere ca, exact ca in cazul fisierului error_log din serverul web Apache, nu toate mesajele de eroare trebuie luate in considerare. Multe dintre ele sunt doar atentionari sau notificari. Un mesaj de eroare ar trebui sa arate cam asa:

warn [whostmgr] Destruction of Cpanel::NameServer::Conf::BIND object without cleanup: cache not updated, next load will be slow at /usr/local/cpanel/Cpanel/NameServer/Conf/BIND.pm line 532
        Cpanel::NameServer::Conf::BIND::DESTROY(Cpanel::NameServer::Conf::BIND=HASH(0x2cba428))
              called at /usr/local/cpanel/Whostmgr/ServiceSwitch.pm line 47
        eval {...} called at /usr/local/cpanel/Whostmgr/ServiceSwitch.pm line 47
        Whostmgr::ServiceSwitch::_getcfg_nameserver() called at /usr/local/cpanel/Whostmgr/ServiceSwitch.pm line 18
        Whostmgr::ServiceSwitch::getcfg('nameserver') called at whostmgr/bin/whostmgr.pl line 10552
        main::nameserverconfig() called at whostmgr/bin/whostmgr.pl line 867

Un mesaj de eroare din care putem deduce ca a fost o problema la cacheul DNS care nu s-a updatat iar urmatorul update va fi lent – daca problema in cauza are vreo legatura cu serverul DNS aici ar fi un punct bun de pornire pentru cautarea unei solutii.

Urmatorul fisier care trebuie studiat, daca din error_log nu am reusit sa luam suficiente informatii, este access_log. Motivul pentru care e bine sa studiem access_log e ca putem vedea ultimele cereri facute si daca il urmarim real-time (ex. cu ajutorul comenzii tail -f access_log) putem vedea care e ultima comanda catre cPanel care a fost rulata:

[root@hosting /usr/local/cpanel/logs]# tail -f access_log
45.67.89.101 - root [08/31/2009:23:26:36 -0000] "GET / HTTP/1.1"  0 "" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
45.67.89.101 - root [08/31/2009:23:26:37 -0000] "GET /scripts/command?PFILE=topframe.html HTTP/1.1"  0 "http://23.45.67.89:2086/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
45.67.89.101 - root [08/31/2009:23:26:37 -0000] "GET /scripts/command?PFILE=main HTTP/1.1"  0 "http://23.45.67.89:2086/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
45.67.89.101 - root [08/31/2009:23:26:37 -0000] "GET /scripts/command HTTP/1.1"  0 "http://23.45.67.89:2086/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
45.67.89.101 - root [08/31/2009:23:26:37 -0000] "GET /xml-api/loadavg HTTP/1.1" 200 0 "http://23.45.67.89:2086/scripts/command" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
45.67.89.101 - root [08/31/2009:23:26:50 -0000] "GET /scripts/dialog?dialog=cleandns HTTP/1.1"  0 "http://23.45.67.89:2086/scripts/command" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
45.67.89.101 - root [08/31/2009:23:26:53 -0000] "GET /cPanel_magic_revision_1181098741/images/button-bg-over.jpg HTTP/1.1" 200 0 "http://23.45.67.89:2086/cPanel_magic_revision_1231504520/themes/x/style_optimized.css" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
127.0.0.1 - - [08/31/2009:23:26:54 -0000] "POST /.__cpanel__service__check__./serviceauth HTTP/1.0" 200 0 "" ""
45.67.89.101 - root [08/31/2009:23:26:54 -0000] "GET /scripts/cleandns HTTP/1.1"  0 "http://23.45.67.89:2086/scripts/dialog?dialog=cleandns" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
45.67.89.101 - root [08/31/2009:23:26:57 -0000] "GET /xml-api/loadavg HTTP/1.1" 200 0 "http://23.45.67.89:2086/scripts/command" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
^C
[root@hosting /usr/local/cpanel/logs]#

In cazul nostru putem vedea ca ultima cerere a fost facuta catre /scripts/dialog?dialog=cleandns, deci daca exista o problema care se manifesta inclusiv la nivel de DNS avem un punct de pornire.

2. Verificarea modulelor Perl

Daca din ce am putut deduce mai sus nu am luat suficiente informatii pentru a identifica corect problema, inainte de a apela la un debuging serios sau la suportul tehnic cPanel, ar fi o idee buna sa verificam modulele Perl. Verificarea modulelor cu ajutorul utilitarului pus la dispozitie de cPanel presupune in acelasi timp verificarea dependintelor si recompilarea lor daca e cazul. Cum in mare parte sistemul de gestiune cPanel/WHM este facut in Perl, exista mari sanse ca odata cu verificarea starii modulelor Perl problema de care ne lovim sa se rezolve de la sine. Pentru verificarea modulelor vom folosi comanda /scripts/checkperlmodules:

[root@hosting ~]# /scripts/checkperlmodules 
Method: Perl Expect
Fetching CPAN mirrors...Fetching http://httpupdate.cpanel.net/pub/cpanmirror/MIRRORED.BY.bz2 (0)
            ....@69.72.212.11......connected......receiving...100%......Done
Done
Fetching CPAN timestamp...Fetching http://httpupdate.cpanel.net/pub/CPAN/MIRRORING.FROM (0)
            ....@69.72.212.11......connected......receiving...100%......Done
Done
Testing connection speed...(using fast method)
.........................................
Tie::DBI is up to date (1.02).
URI::URL is up to date (5.03).
perlmod--Install done
Using fast module check.....checked 111 modules in 6 second(s)
Tested 112, 112 ok, 0 failed.
Cpanel::FastMath: [INSTALLED=1] [VERSION=0.2]
Cpanel::POSIX::Tiny: [INSTALLED=1] [VERSION=0.7]
Cpanel::Cleanup: [INSTALLED=1] [VERSION=0.4]

3. Updatarea cPanel fortata

Daca pana aici nu s-a rezolvat problema am putea incerca o updatare cPanel fortata. Updatarea fortata se face in mod obisnuit diferenta facand-o parametrul „–force” care ii va spune scriptului ca indiferent de starea pachetelor, acestea trebuie dezinstalate si apoi instalate. Motivul pentru care acest pas e important in cadrul rezolvarii unei probleme este faptul ca odata cu updatarea fortata toate aplicatiile vor fi dezinstalate iar apoi reinstalate, proces in care vor fi verificate si reinstalate si dependintele acestora. Astfel daca problema noastra tine de o aplicatie folosita de cPanel care nu functioneaza in parametri normali datorita unei librarii corupte, problema se va rezolva de la sine dupa o updatare fortata. Updatarea se face in felul urmator:

[root@hosting ~]# /scripts/upcp --force
Updating /scripts...
Sync Source: http://httpupdate.cpanel.net/RELEASE-FREEBSD-amd64/scripts
Fetching http://httpupdate.cpanel.net/cpanelsync/RELEASE-FREEBSD-amd64/scripts/.cpanelsync.lock (0)....@69.72.212.11......connected......receiving......Done
Fetching http://httpupdate.cpanel.net/cpanelsync/RELEASE-FREEBSD-amd64/scripts/.cpanelsync.bz2 (1)....@69.72.212.11......connected......receiving...100%......Done
...Done
Checking for main ip changes......Done
Validating cPanel system users...Homedir: /usr/local/cpanel
...Done
Checking and Repairing System Package Setup......Done
Running Platform Specific Optimizations......Done
[root@hosting ~]#

4. Suport tehnic cPanel

Ultima optiune in cazul in care nu ii dati de cap este apelarea la suportul tehnic oferit de cPanel. Motivul pentru care am lasat suportul tehnic pe ultimul loc e ca de obicei rezolva problema rapid dar fara sa dea multe detalii. Pentru propria informare prefer sa vad ce pot face pentru a rezolva problema inainte de a apela la suportul tehnic, pentru ca data viitoare sa ma pot descurca singur 😉

cPanel

One Response so far.

  1. Laurentiu says:

    Multam fain! Cautam de mult un astfel de tutorial, mai ales ca sunt inca un novice in aceasta ‘lume’. Foarte util si il recomand.