Přesun grafů do RAMDISKU

Největší zátěží pro disky, na kterých je systém instalován, je generování grafů, které se provádí každých 5 minut. V podstatě na každého klienta se generují minimálně 2 grafy a na každý router se generuje minimálně 5 grafů v závislosti na počtu interfaců. Grafy jsou na disku uloženy v binární formě a zabírají kolem 500 KB. V praxi se tedy pracuje s velkým množstvím malých souborů, do kterých se každých 5 minut zapisuje informace o přenesených datech a naměřených hodnotách. Pro větší množství grafů jsou vhodné SAS disky, protože SAS disky jsou výrazně rychlejší při práci s malými soubory než SATA disky. Pokud se pracuje s malými soubory, tak jsou SAS disky několikanásobně rychlejší než SATA. V podstatě jde o IOPS, které jsou disky schopné poskytnout systému. V praxi se uvádí, že SATA disk má kolem 100 IOPS a SAS kolem 150-180 IOPS ( podle toho jestli se jedná o 10k nebo 15k disky ). Celkový počet IOPS je možné zvýšit pouze počtem disků v RAIDU nebo instalací SSD disků pro grafování systému. IOPS je limitujícím faktorem při práci s grafy. Pokud je počet IOPS nedostatečný, tak se zvyšuje latence systému a v některých případech se stránky načítají pomalu, protože systém čeká na zápisy a na čtení z disku. V tomto případě nepomůže přidání RAM nebo instalace výkonnějšího CPU. Pomůže pouze instalace více disků ( nebo náhrada například rychlejších SAS 15k disků za pomalejší SATA ).

  • Nově je možné přesunout generování grafů do RAMDISKu. Ramdisk je vlastně část paměti, která se chová jako klasický disk. Přístupové doby jsou však několikanásobně rychlejší než u klasického disku, protože se pracuje pouze v paměti RAM. Pokud jsou grafy provozované v RAMDISKu, tak dojde k VÝRAZNÉMU snížení IOPS a zátěže disku, což je nejvíce patrné při větších instalacích ( 1000 klientů a více ). V těchto případech doporučujeme provést přesun grafů do RAMDISKu.
  • K práci s RAMDISKEM slouží utilita

/usr/local/script/ispadmin/rrd_ramdisk.pl

  • Při spuštění bez parametrů se zobrazí nápověda.
  • Použití:
    • /usr/local/script/ispadmin/rrd_ramdisk.pl initialize - Initialize RAMDISK
    • /usr/local/script/ispadmin/rrd_ramdisk.pl destroy - Destroy RAMDISK pernamently
    • /usr/local/script/ispadmin/rrd_ramdisk.pl start [force] - Start RAMDISK
    • /usr/local/script/ispadmin/rrd_ramdisk.pl stop - Stop RAMDISK
    • /usr/local/script/ispadmin/rrd_ramdisk.pl save [force] - Save RAMDISK data to backup
    • /usr/local/script/ispadmin/rrd_ramdisk.pl check - Check RAMDISK usage
    • /usr/local/script/ispadmin/rrd_ramdisk.pl set - Set RAMDISK in MByte
    • /usr/local/script/ispadmin/rrd_ramdisk.pl restore [backup.file] - Restore RAMDISK from last backup.file
  • Jednotlivé parametry jsou:
    • initialize - provede inicializaci RAMDISKu a přesun dat z disku do RAMDISKU
    • destroy - provede odinstalaci RAMDISKu a přesun dat zpět na disk
    • start - provede automaticky start při bootování systému S volbou [force] nastartuje ramdisk, i když velikost obnovené zálohy je menší o víc jak 5% než předcházející hodnota velikosti ramdisku, nebo pokud se obnovení ramdisku nezdařilo po rebootu serveru, a potřebujete ramdisk nastartovat z konzole.
    • stop - provede automatické zálohování dat z RAMDISKU na pevný disk a zastavení chodu RAMDISKU. !!! Důrazně doporučujeme při každém restartu/vypnutí systému !!!
    • save - provede zálohování dat z RAMDISKU na pevný disk - provádí se automaticky jednou denně, vytváří se 10 záloh zpětně (včetně 2 měsíčních záloh, které se vytváří k 28. v měsíci), které lze pak zpětně obnovit.
      (zálohuje do adresare /usr/local/script/ispadmin/rrd_data_backup/. Volba [force] povolí udělat zálohu ramdisku, jejíž velikost bude menší než předchozí velikost Ramdisku - např. pokud záměrně vymažete z adresářů více souborů s grafy. Kontroluje se velikost o 5% rozdílu oproti původnímu.)
    • check - provede kontrolu využití RAMDISKU a v případě potřeby provede automaticky zvětšení RAMDISKU
    • set - Zadáním velikosti v MB docílíte zvětšení ramdisku na požadovanou velikost.
    • restore - Zadáním názvu backup souboru z adresáře záloh pro rrd ramdisk může obnovit denní zálohu rrd dat. Pokud nezadáte název souboru, systém obnoví poslední známou zálohu z tohoto adresáře. Obnovu můžete použít ve všech situacích, kdy dojde ke ztrátě dat, nebo jsou data neúplná. Podmínkou je pouze inicializovaný ramdisk.
  • Pro instalaci RAMDISKU je potřeba spustit:

/usr/local/script/ispadmin/rrd_ramdisk.pl initialize

  • Tímto se provede inicializace a vše potřebné. Následně, při rebootu systému, se opět RAMDISK instaluje a přesunou se do něj data.
  • Je potřeba si uvědomit, že data v RAMDISKU jsou uložena v paměti RAM a v případě výpadku serveru ( odpojení napájení ) jsou všechna data ztracena. Pokud se provede korektní reboot systému, tak se data automaticky odzálohují na pevný disk a při bootu se opět data ze zálohy přesunou do RAMDISKU. Systém také provádí automatické zálohování dat na pevný disk 1x za den. Pokud tedy dojde k výpadku napájení, tak jsou ztracena data maximálně 1 den zpět.
  • Pro vytvoření RAMDISku je samozřejmě potřeba mít dostatečné množství RAM. Maximální použitelné množství RAM pro RAMDISK je 25%. Výpočet potřebného množství RAM se vypočítá dynamicky podle obsazeného místa na disku ( většinou 512M - 4GB ). Pokud při výpočtu vychází obsazené množství RAM větší než 25%, tak se RAMDISK nevytvoří a je potřeba do serveru přidat fyzickou paměť RAM. Pokud je RAMDISK zaplněn z 80%, systém se snaží automaticky disk zvětšit (pokud má dostatek celkové RAM paměti). Pokud se mu to nepovede, můžete zvětšení RAMDISKU provést ručně volbou set.

Nastavení / změna IP adresy

 

A) Dočasné nastavení IP adresy (do restartu Linuxu).
Stačí zadat pouze následující dva příkazy pro nastavení IP a masky a nastavení výchozí brány:

 

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 # nastavení IP adresy a masky
route add default gw 192.168.1.12 # nastavení výchozí brány

 

B) Trvalé nastavení IP adresy.
V těchto třech souborech upravte stávající IP adresu na Vámi požadovanou:

 

nano /etc/rc.local
nano /etc/hosts
nano /etc/apache2/httpd.conf
reboot -f # příkaz pro restart systému

Cache-only DNS server

Nastavení caching-only je po instalaci již přednastaveno. Stačí udávat IP ISPadmin jako DNS server a ten pak sám kontaktuje DNS servery v Internetu.
V souboru /etc/bind/named.conf.options doplňte 0.0.0.0/0; (popř. doplňte konkrétní sítě, pro které má být server DNS cache). Doporučujeme spíše vyjmenovat konkrétní sítě, pro které chcete ISPadmin využívat jako DNS server. Pokud totiž dovolíte používání ISPadmin jako DNS serveru pro všechny (0.0.0.0/0), bude jeho služeb potenciálně moci využívat kdokoliv (toto je poté možno zneužít k DDOS útokům).

nano /etc/bind/named.conf.options

allow-query { 192.168.0.0/16; 10.0.0.0/8; 127.0.0.1; 0.0.0.0/0; };

Následně restart bind

/etc/init.d/bind9 restart

Pokud je ISPadmin umístěn ve vnitřní síti, musí být na hraničním routeru povoleny odchozí porty 53/TCP a 53/UDP.

nano /etc/resolv.conf

nameserver 127.0.0.1

nameserver IP_DNS_pouzivaneho_serveru

Zde mají být nastaveny DNS servery z Internetu. Pokud budou Vaši zákazníci používat jako DNS server přímo ISPadmina, systém bude fungovat jako Cache a dotazy DNS budou překládat zde uvedené servery. Pokud nevíte IP name serveru, nastavte IP Google name serveru 8.8.8.8.

Poštovní server Postfix


SMTP server je defaultně nastaven tak, že je možné odesílat poštu pouze z localhostu, takže server klidně můžete dát na veřejnou IP adresu, aniž by kdokoliv (spameři) měl přes něj možnost odesílat poštu. ISPadmin tedy neposílá poštu ven (jen lokálně).
Konfigurace poštovního serveru se provádí v souboru /etc/postfix/main.cf:

 

nano /etc/postfix/main.cf

 

myhostname = jméno, pod kterým se Váš server bude navenek identifikovat, mělo by být shodné s reverzním DNS
mydestination = jednotlivé domény, které bude server akceptovat
relayhost = nadřazený SMTP server
mynetworks = sítě, ze kterých bude postfix přijímat emaily bez autentifikace k dalšímu zpracování (relay, local, atd.)


Restart služby postfix je nutné provést po každé změně v konfiguračním souboru:


/etc/init.d/postfix restart

Pro nastavení rozesílání emailů prostřednictvím externího SMTP serveru je nutné zadat IP adresu tohoto serveru do konfigurace SMTP služby Postfix na ISPadminu. Postfix neumožňuje ověření, takže musí mít ISPadmin povoleno posílat poštu bez ověření na nadřazený SMTP server.
V konfiguračním souboru /etc/postfix/main.cf poštovního serveru postfix upravte položku relayhost:


relayhost = SMTP_SERVER # IP adresa nadřazeného poštovního serveru

 

Po úpravě je potřeba službu restartovat:


/etc/init.d/postfix restart

 

Od této chvíle budou všechny emaily vytvořené v ISPadmin přeposílány do Internetu přes nadřazený SMTP server.

Jako první věc otestujte příkazem telnet, zdali cílový poštovní server poslouchá tam, kde má poslouchat. Tedy je-li služba vůbec dostupná. Může se stát, že je server nedostupný z důvodu neprůchodnosti přes firewall, kolize doménových jmen apod.
Toto jsou nejčastější příčiny problémů s odesíláním/přijímáním emailů.


telnet postovni_server 25

 

Výpis v konzoli při dostupnosti serveru:

admin.ispadmin.cz:~# telnet demo.ispadmin.eu 25
Trying 95.173.193.36...
Connected to demo.ispadmin.eu.


Výpis v konzoli při nedostupnosti serveru: - pravděpodobně nějaký firewall po cestě blokuje port 25, přes který chodí pošta.
 
admin.ispadmin.cz:~# telnet posta.pokus.cz 25
Trying 81.2.194.128...
telnet: Unable to connect to remote host: Connection timed out


Pokud je tedy SMTP server dostupný, dalším krokem je kontrola logu poštovního serveru. Dle záznamů v logu poté můžete identifikovat konkrétní problém a provést nápravu. Následujícími příkazy si můžete zobrazit log služby postfix nebo přímo emailovou frontu:

Z tohoto výpisu můžete vyčíst, že je špatně nebo vůbec nastaven A záznam v DNS serveru - Host or domain name not found.


tail /var/log/mail.log
admin.ispadmin.cz:~# tail /var/log/mail.log
Apr 1 11:18:01 admin postfix/pickup[11262]: 3AF4961C850: uid=0 from=
Apr 1 11:18:01 admin postfix/cleanup[12439]: 3AF4961C850: message-id=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>
Apr 1 11:18:01 admin postfix/qmgr[2225]: 3AF4961C850: from=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>, size=610, nrcpt=1 (queue active)
Apr 1 11:18:01 admin postfix/smtp[12441]: 3AF4961C850: to=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>, orig_to=, relay=none, delay=0.01,
delays=0.01/0/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=admin.ispadmin.cz type=A: Host not
found)
Apr 1 11:18:01 admin postfix/cleanup[12439]: 3C4D961C858: message-id=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>
Apr 1 11:18:01 admin postfix/bounce[11699]: 3AF4961C850: sender non-delivery notification: 3C4D961C858
Apr 1 11:18:01 admin postfix/qmgr[2225]: 3C4D961C858: from=<>, size=2552, nrcpt=1 (queue active)
Apr 1 11:18:01 admin postfix/qmgr[2225]: 3AF4961C850: removed
Apr 1 11:18:01 admin postfix/smtp[12441]: 3C4D961C858: to=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=5.4.4,
status=bounced (Host or domain name not found. Name service error for name=admin.ispadmin.cz type=A: Host not found)
Apr 1 11:18:01 admin postfix/qmgr[2225]: 3C4D961C858: removed

 

Kontrola fronty příkazem


mailq
Mail queue is empty

 

nebo příkazem


postqueue -p
Mail queue is empty

 

Frontu můžete vymazat příkazem


postsuper -d ALL

Pokud správně nepracuje překlad doménových jmen, nemůže fungovat ani posílání pošty. Pokud v logu poštovního serveru naleznete tento záznam, bude potřeba správně nastavit překlad doménových jmen.


tail -f /var/log/mail.log

 

Mar 4 10:25:46 admin postfix/error[19238]: A10D08A487A: to=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>, orig_to=, relay=none, delay=30,
delays=29/0.26/0/0.06, dsn=4.4.3, status=deferred (delivery temporarily suspended:
Host or domain name not found. Name service error for name=admin.ispadmin.cz type=MX: Host not found, try again)


Správný překlad DNS si můžete ověřit následujícím příkazem. Pokud se na dotaz pomocí jména poštovního serveru DNS server neozve, ale na IP ano, je problém právě zde.

 

telnet posta.pokus.cz 25
Trying 81.2.194.128...
 
Proveďte úpravu konfiguračního souboru:

nano /etc/resolv.conf
 
options single-request
nameserver 8.8.8.8
nameserver IP_DNS_pouzivaneho_serveru

Nakonec restart služby:

/etc/init.d/bind9 restart

Systém DNS neposkytuje pouze mechanismus překladu doménových názvů na IP adresy, ale také naopak překlad IP adres na doménová jména. Toho se dnes využívá zejména při doručování elektronické pošty, kdy si mailserver, který přijímá od klienta zprávu, nejprve přeloží IP adresu klienta na název (čímž se může přibližně dozvědět, o koho se jedná) a poté si získaný název zpětně přeloží na IP adresu. Pokud mu skutečná a získaná IP adresa nesouhlasí, může považovat zdroj zprávy za nedůvěryhodný a odmítnout ho.
PTR záznamy jsou důležité zejména v oblasti pošty, jelikož některé poštovní servery předpokládají a vyžadují to, aby byl nastaven PTR záznam. Pokud PTR záznam není nastaven, pošta může být odmítnuta, klasifikována jako spam nebo se zvýší skóre nástrojů typu spamassassin.
PTR záznamy obvykle nastavujete u svého ISP, který Vám buď deleguje danou DNS větev na Váš vlastní DNS server, nebo vám nastaví PTR záznamy na svém.

Pro správné předávání pošty je nutné mít v pořádku MX záznamy na svém poštovním serveru, jinak Vám pošta docházet nemusí.
Zjištění existujícího MX záznamu:

 

# nslookup
> set q=mx
> net-service.cz
net-service.cz MX preference = 10, mail exchanger = sentinel.net-service.cz

 

Pokud reverzní záznam nefunguje, zobrazí se upozornění "Neautorizovaná odpověď"

Pokud Vám ze sítě neodcházejí emaily a jste si jisti nastavením nadřazeného serveru, projděte také tyto ID v Nastavení Systémové nastavení Obecné, jestli máte obě položky vyplněny v pořádku.

 

  • smtp_restriction - Blokovat SMTP port 25. Systém ISPadmin umožňuje blokování odchozí pošty protokolem SMTP na portu 25 globálně pro celou Vaši síť. Toto nastavení je vhodné používat jako obranu před odesíláním spamu ze zavirovaných klientských počítačů, kdy Vám hrozí zařazení na světové blacklisty, nadřazený poskytovatel Vás dokonce může nechat odpojit.
  • smtp_trust_servers - Povolené SMTP servery v síti. Přidejte důvěryhodné SMTP servery na seznam povolených. Tyto servery nebudou omezovány při odesílání pošty. Jako první záznam by se měl objevit Váš hlavní poštovní server. Další adresy obvykle bývají firemní poštovní servery Vašich zákazníků.

Konfigurace POSTFIXu, který v ISPadmin i LK slouží jako SMTP server, nevyžaduje ověření, protože pro řízení přístupu je použita metoda "POP before SMTP".
Aby si tedy mohl uživatel korektně odeslat poštu, musí se předtím přihlásit na POP3 účet (takto se chovají poštovní klienti jako Outlook a podobně). Jinak SMTP server přebírá poštu pouze z localhostu, proto ani na veřejné adrese není problém se spamem. V konfiguračním souboru lze také nastavit, pro které podsítě se nebude SMTP ověřovat, a tak jej vaši zákazníci mohou používat jako SMTP server bez ověření. V opačném případě lze v konfiguraci poštovního serveru nastavit nadřazený SMTP server, přes který budou odcházet veškeré emaily vytvořené v ISPadminu.

Zálohování systému

 

ISPadmin disponuje funkcí automatického zálohování dat. Zálohy lze ukládat jak lokálně (SW/HW RAID), tak i na vzdálené uložiště (FTP, NFS, CIFS). Lokální zálohy je vhodné ukládat na jiný než systémový oddíl. Pokud by došlo k zaplnění systémového disku zálohami, mohlo by dojít k poškození systému.

 

Nastavení zálohování

Provádí se v Nastavení Systémové nastavení Zálohování.

 

Šifrování záloh systému a routerů

icon info2 Šifrování záloh routerů je po instalaci vypnuté a volitelně se dá nastavit spuštěním externího scriptu z konzole linuxu pod právy root.

Heslo můžete nastavit/změnit prostřednictvím tohoto scriptu:

/usr/local/script/ispadmin/ispadmin_backup_crypt.pl

Pokud nastavíte jako heslo hodnotu -1, tak se šifrování vypne a v budoucích zálohách se již šifrování provádět nebude.
V průběhu nastavení/změny hesla budete dotázáni na zadání emailové adresy. Na tento email poté dorazí zpráva o změně hesla do záloh a bude obsahovat jak staré tak i nově nastavené heslo. Tento email buď nemažte nebo si jeho obsah vytiskněte a někam pečlivě uložte, protože při obnovení dat ze zálohy bude heslo potřeba. Není jiná možnost jej získat nebo obnovit! Před změnou šifrování zkontrolujte funkčnost odesílaní emailů ze systému. V případě selhání odesílání nebude na váš email doručena zpráva s novým a starým heslem k zálohám.

 

Zálohy systému a routerů

Možnost vytvořit zálohu a již vytvořené zálohy jsou dostupné v Ostatní Zálohy

Ruční záloha systému

Okamžitou zálohu systému ISPadmin je možné v příkazové řádce spustit příkazem

ispadmin_backup backup all

V tomto případě se opět provede kompletní záloha systému do adresáře /data/backup/incremental/. Celá záloha obvykle trvá mezi 10 až 30 minutami v závislosti na počtu klientů respektive na množství zálohovaných dat. Pokud máte třeba 8 GB zálohy a navíc hodně zatížený server, může to trvat i déle. Je však potřeba počítat s tím, že se může po tuto dobu projevit zpomalení webového rozhraní.

Příkazem ispadmin_backup zobrazíte nápovědu k zálohovacímu a obnovovacímu scriptu.

ispadmin_backup

+ - - - - - - - - - - - - - - - - - - - - [ ispadmin_backup ] - - - - - - - - - - - - - - - - - - - - - +

This script can help you to backup and recover of ISPamin backup easy way. Well, you can run script this way:

ispadmin_backup [help] [debug] [source-path=SRC-PATH] [path=PATH] MODE SCOPE [BID]

[PATH] Path to the ISPadmin's restore directory. Absolute or relative path can be used.
       Default path is root / !!.
[SRC-PATH] Path to the ISPadmin's source directory for recovery or Backup directory. Absolute path can be used.
           Default path is ISPadmin backup directory /data/backup/incremental/
[MODE] Determine function of script:
backup   - backup system
restore  - restore system from [PATH]

[SCOPE]
all      - recover or backup all files important parts of the ISPamin (auto mode for db, etc, data)
etc      - recover or backup files in /etc
db       - backup the binary MySQL database (only ispadmin,system,mysql db)  and  backup all dump database to  /db_dump
         - recovery the binary MySQL database (only ispadmin,system,mysql db)
db_dump  - recovery all dump databases
graph    - recover or backup graph data in ISPadmin (RRD files)
scripts  - recover or backup scripts of ISPadmin (/usr/local/script/ispadmin)
ispadmin - recover or backup ISPadmin data (/data/support)

[BID] Determine incremental level. If is not given, last backup will be executed as default.

First argument is required ( or backup all ) or second one is optional.
If recover MODE is not given, full recover will be executed as default!

And finaly, a simple example of usage:
   ispadmin_backup restore scripts 401
   ispadmin_backup path=/backup/graph/ restore all
   ispadmin_backup backup
   ispadmin_backup source-path=/home/toor/backup/ backup
 

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (c) NET service solution, s.r.o.  - +

 

  • Standardní záloha celého systému ISPadmin do defaultního adresáře /data/backup/incremental/

Po spuštění zálohy budete ještě dotázáni, zda opravdu chcete zálohu udělat:

ispadmin_backup backup all

Are you sure want to do the backup  - ALL to /data/backup/incremental/ !!?  [y/n]:

Zobrazení souborů zálohy:

ls -la /data/backup/incremental/

total 9
drwxr-xr-x 9 virtual virtual 1024 Mar 20 12:45 .
drwxr-xr-x 4 virtual root    1024 Mar 20 10:27 ..
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 db
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 db_dump
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 db_dump_last
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 etc
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 graph
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 ispadmin
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 scripts

 

  • Záloha celého systému ISPadmin do uživatelského adresáře např. /new/backup

ispadmin_backup source-path=/new/backup backup all

Are you sure want to do the backup  - ALL to /data/backup/incremental/ !!?  [y/n]:

Zobrazení souborů zálohy

ls -la /new/backup/

total 9
drwxr-xr-x 9 virtual root    1024 Mar 27 10:02 .
drwxr-xr-x 3 root    root    1024 Mar 27 10:02 ..
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 db
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 db_dump
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 db_dump_last
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 etc
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 graph
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 ispadmin
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 scripts

 

  • Záloha jen části systému (systém záloh je rozdělen do jednotlivých sekcí - jsou povolené tyto volby)

ispadmin - systém ISPadmin (/data/support/ispadmin)
ispadmin_backup backup ispadmin

scripts - záloha skriptů ISPadmin
ispadmin_backup backup scripts

graph - záloha všech klientských grafů prováděných na konci dne, které jsou uloženy jako statické obrázky. (/data/support/ispadmin/client_images/)
ispadmin_backup backup graph

etc - záloha celého config adresáře linuxu
ispadmin_backup backup etc

db - záloha binárních DB - tabulky ispadmin, system, mysql
    - záloha všech dumpovaných databází mysql do adr. ./db_dump
    - vytvořen adresář ./db_dump_last/, kde jsou uloženy tyto aktuální dumpované soubory z poslední zálohy
ispadmin_backup backup db

alert icon Před jakýmkoliv obnovováním si vždy zazálohujte aktuální data.
icon info2 Důležité adresáře jsou /data/support, /usr/local/script/ispadmin, /var/lib/mysql a /etc


Z adresáře se zálohami /data/backup/incremental/ do /. Dojde k přepsání dat systému!!! Používejte tedy jen v případě, že máte data systému ISPadmin poškozená a chcete je nahradit daty ze zálohy.

alert icon Pokud obnovujete kompletní data na nový server s jinou verzi operačního systému Debian, nelze tento typ obnovy doporučit, jelikož dochází k obnově systémových konfiguračních adresářů v /etc a s rozdílnou verzí OS mohou tyto soubory mít jiný formát a syntaxi. Proto doporučujeme v těchto případech použít obnovu dílčích části viz níže. (bez obnovy /etc a následně obnovit adresář /etc do jiného místa v systému a provést manuální konfiguraci systémových nastavení - apache, hosts, dns, ..... ).


Pokud máte zálohy šifrované, budete ještě dotázáni na heslo do záloh a následně se Vás program ještě jednou zeptá, zda chcete obnovu dat opravdu udělat.

ispadmin_backup source-path=/data/backup/incremental/ path=/ restore all

Type Postcode password : Vaše_heslo_do_záloh

Restore script started.

Recover will destroy actual data on the server! Do backup before the recovery is a good idea.
Are you sure want to do the restore  - from /data/backup/incremental/ directory to /  !!?  [y/n]:

Tímto způsobem si můžete obnovit data z poslední full zálohy včetně incrementů od poslední full zálohy (pokud jsou nastaveny).

alert icon Předpokladem pro správné obnovení dat je přítomnost a funkčnost všech predcházejících zalohovacích dat. Nestačí mít nakopírovaný jen poslední "5.den" zálohy s číselnou identifikaci. (např. Ispadmin_scripts.5.tar.gz)

 Z uživatelova adresáře se zálohami /data/backup/incremental/ do /. Dojde k přepsání dat systému!!! Používejte tedy jen v případě, že máte data systému ISPadmin poškozená a chcete je nahradit daty ze zálohy.
Příklad: Dnes je 30.3.2012 a Vy chcete obnovit data z 27.3.2012.
Postup: Je potřeba zjistil číslo zálohy, která se udělala 27.3.2012. To zjistíte pomocí příkazu:

ls -la /data/backup/incremental/ispadmin/

total 188712
drwxr-xr-x 2 virtual virtual     2048 Mar 29 07:51 .
drwxr-xr-x 9 virtual virtual     1024 Mar 27 10:55 ..
-rw-r--r-- 1 virtual root       13697 Mar 29 07:46 backup2l_ispadmin.conf
-rw-r--r-- 1 virtual root         390 Mar 26 10:55 Ispadmin_ispadmin.1.check
-rw-r--r-- 1 virtual root         107 Mar 26 10:55 Ispadmin_ispadmin.1.error.gz
-rw-r--r-- 1 virtual root      106410 Mar 26 10:55 Ispadmin_ispadmin.1.list.gz
lrwxrwxrwx 1 virtual root          27 Mar 26 10:55 Ispadmin_ispadmin.1.new.gz -> Ispadmin_ispadmin.1.list.gz
-rw-r--r-- 1 virtual root          51 Mar 26 10:55 Ispadmin_ispadmin.1.obsolete.gz
-rw-r--r-- 1 virtual root         440 Mar 26 10:55 Ispadmin_ispadmin.1.skipped.gz
-rw-r--r-- 1 virtual root    64043583 Mar 26 10:55 Ispadmin_ispadmin.1.tar.gz
-rw-r--r-- 1 virtual root         390 Mar 27 13:15 Ispadmin_ispadmin.2.check
-rw-r--r-- 1 virtual root         107 Mar 27 13:15 Ispadmin_ispadmin.2.error.gz
-rw-r--r-- 1 virtual root      106139 Mar 27 13:15 Ispadmin_ispadmin.2.list.gz
lrwxrwxrwx 1 virtual root          27 Mar 27 13:15 Ispadmin_ispadmin.2.new.gz -> Ispadmin_ispadmin.2.list.gz
-rw-r--r-- 1 virtual root          51 Mar 27 13:15 Ispadmin_ispadmin.2.obsolete.gz
-rw-r--r-- 1 virtual root         436 Mar 27 13:15 Ispadmin_ispadmin.2.skipped.gz
-rw-r--r-- 1 virtual root    64043616 Mar 27 13:15 Ispadmin_ispadmin.2.tar.gz
-rw-r--r-- 1 virtual root         390 Mar 29 07:47 Ispadmin_ispadmin.3.check
-rw-r--r-- 1 virtual root         107 Mar 29 07:47 Ispadmin_ispadmin.3.error.gz
-rw-r--r-- 1 virtual root      106139 Mar 29 07:46 Ispadmin_ispadmin.3.list.gz
lrwxrwxrwx 1 virtual root          27 Mar 29 07:47 Ispadmin_ispadmin.3.new.gz -> Ispadmin_ispadmin.3.list.gz
-rw-r--r-- 1 virtual root          51 Mar 29 07:46 Ispadmin_ispadmin.3.obsolete.gz
-rw-r--r-- 1 virtual root         436 Mar 29 07:46 Ispadmin_ispadmin.3.skipped.gz
-rw-r--r-- 1 virtual root    64043616 Mar 29 07:47 Ispadmin_ispadmin.3.tar.gz

Nyní již víme, že data, která chceme obnovit ze dne 27.3.2012, mají číslo 2. Můžeme tedy přistoupit k samotné obnově. Napíšeme příkaz pro obnovu a na jeho konec dopíšeme zjištěné číslo zálohy. Tím zajistíme, že nebude obnovena poslední záloha z 29.3.2012, nýbrž bude obnovena záloha z 27.3.2012.
Pokud máte zálohy šifrované, budete ještě dotázáni na heslo do záloh a následně se Vás program ještě jednou zeptá, zda chcete obnovu dat opravdu udělat.

ispadmin_backup source-path=/data/backup/incremental/ path=/ restore all 2

Type Postcode password : Vaše_heslo_do_záloh

Restore script started.

Recover will destroy actual data on the server! Do backup before the recovery is a good idea.
Are you sure want to do the restore  - from /data/backup/incremental/ directory to /  !!?  [y/n]:

Tímto způsobem si můžete obnovit data z jakékoliv full zálohy či jakýchkoliv incrementů včetně předcházející full zálohy (pokud jsou nastaveny).

alert icon To vše za předpokladu, že všechny zálohy v patřičných sekcích (ispadmin,scripts,graph,db,etc) budou mít stejné číslo u odpovídajícího dne obnovy. V opačném případě se obnoví data ze dne příslušného danému číslu zálohy. Obnova databáze se provádí ze zálohy db_dump formou importu zálohovaného dump souboru jednotlivých databází.

Stejně jako u zálohy jednotlivých částí systému, jsou u obnovy tyto volby:

ispadmin - systém ISPadmin (/data/support/ispadmin)
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore ispadmin all

scripts - skripty ISPadmin
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore scripts all

graph - klientské grafy
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore graph all

etc - config adresář linuxu
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore etc all

db - databáze
Příklad: Dejme tomu, že se Vám poškodila vlivem tvrdého restartu či vlivem vypnutí elektřiny databáze ISPadmin. Dnes je 30.3.2012 a Vy víte, že pravděpodobně k poškození databáze došlo někdy po 27.3.2012, protože v této době byl výpadek proudu a server neběžel.
Potřebujete tedy obnovit databázi ze dne 27.3.2012.
Máte v zásadě 3 možnosti:

  • Obnova celého systému ISPadmin

Viz Klasická obnova, popř. Obnova starší zálohy

  • Obnova poslední textové zálohy databáze

Můžete obnovit poslední textovou či binární zálohu pomocí příkazu ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db_dump all

Popř. můžete obnovit konkrétní starší zálohu - zjištění čísla zálohy viz Obnova starší zálohy, poté použijte příkaz ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db_dump all 2, kde číslo 2 reprezentuje číslo zálohy. Obnovovací script se Vás u každé databáze zeptá, jestli ji chcete opravdu obnovit (Enter).

  • Obnova poslední binární zálohy databáze

Můžete obnovit poslední textovou či binární zálohu pomocí příkazu ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db all

Popř. můžete obnovit konkrétní starší zálohu - zjištění čísla zálohy viz Obnova starší zálohy, poté použijte příkaz ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db all 2, kde číslo 2 reprezentuje číslo zálohy. Obnovovací script se Vás u každé databáze zeptá, jestli ji chcete opravdu obnovit (Enter).

Tuto volbu využijete zejména tehdy, chcete-li si projít data ze zálohy a něco si v nich zjistit (třeba jestli v této záloze nějaký soubor je, či jestli tam chybí, a bude zřejmě až ve starších zálohách atp.)

ispadmin_backup restore all

Type Postcode password : Vaše_heslo_do_záloh

Restore script started.

Recover will destroy actual data on the server! Do backup before the recovery is a good idea.
Are you sure want to do the restore  - from /data/backup/incremental/ directory to /backup/  !!?  [y/n]:

Zobrazení obsahu adresáře /backup

ls -la /backup
total 6
drwxr-xr-x  6 root root 1024 Mar 27 11:00 .
drwxr-xr-x 33 root root 1024 Mar 27 10:53 ..
drwxr-xr-x  4 root root 1024 Mar 27 11:00 data
drwxr-xr-x  4 root root 1024 Mar 27 11:00 etc
drwxr-xr-x  3 root root 1024 Mar 27 11:00 restore_mysql_dump
drwxr-xr-x  3 root root 1024 Mar 27 11:00 usr

alert icon Po vytvoření nového adresaře (např. /old_server/) musíte do toho adresáře nakopírovat kompletní adresářovou strukturu záloh z FTP serveru. Tj. pokud potřebujete obnovit z FTP zálohu číslo 3, musíte nakopírovat i všechny předcházející zálohy 1 i 2.

Následně můžete provést obnovu podobně jako výše příkazem ispadmin_backup source-path=/old_server/ path=/restore/  restore all    pokud budete chtit obnovit do adresáře restore, nebo ispadmin_backup source-path=/baa/ path=/ restore all  do ostré verze.

alert icon V obou případech dojde k obnovení ostré databáze zálohovanými daty.

I v těchto případech se můžete omezit na obnovu určitých sekcí (ispadmin, etc, graph, scripts), např. ispadmin_backup source-path=/baa/ path=/restore/ restore ispadmin all  (případně přidat číslo zálohy z /old_server/)

 

Související články:

 

Migrace systému

alert icon Informace obsažené v tomto manuálu se týkají pouze migrace systému ISPadmin. Netýkají se tedy migrace jakéhokoli jiného produktu.

 

Příprava nového serveru

 

Stáhněte si aktuální ISO a postupujte dle návodu na instalaci systému ISPadmin.

1. Vypnutí služeb na starém i novém serveru


Na obou serverech je nutné vypnout služby Apache, Cron a Nagios, aby se neprováděly žádné změny dat v systému a databázi. Zároveň se tím zamezí přihlašování uživatelů.

 

/etc/init.d/apache2 stop
/etc/init.d/cron stop
/etc/init.d/nagios stop

 

2. Export databáze na starém serveru


Vytvoření adresáře pro export

 

mkdir /data/backup/export

 

Zjištění hesla k databázi


cat /data/support/ispadmin/config/config.php | grep PASS | cut -f 3

 

Export databáze ISPadmin, budete potřebovat heslo z předchozího příkazu

 

mysqldump --add-drop-table --quote-names ispadmin -u ispadmin -p > /data/backup/export/ispadmin.sql

 

3. Kopírování dat na nový server

 

Na novém serveru přejmenujte následující složky a vytvoříme složku pro export. Získáme tak zálohu originálních souborů z čisté instalace.


mv /data/support/ispadmin/ /data/support/ispadmin_orig/
mv /usr/local/script/ispadmin/ /usr/local/script/ispadmin_orig/
mkdir /data/backup/export/

 

Povolte IP starého serveru

 

iptables -I INPUT -p tcp -s ip-stary-server --dport 22 -j ACCEPT

 

Doporučení: Pokud chcete ušetřit čas a přenášená data, doporučujeme promazat grafy přenesených dat klientů z předchozích let. Nachází se ve složce /data/support/ispadmin/client_images/ a jsou roztříděny dle roků. Ideální stav je ponechat například aktuální rok a zbytek odmazat (pokud je nepotřebujete).


Kopírování dat ze starého na nový server. Na starém serveru proveďte:

 

rsync -av /data/support/ispadmin/ root@ip-novy-server:/data/support/ispadmin/
rsync -av /usr/local/script/ispadmin/ root@ip-novy-server:/usr/local/script/ispadmin/
rsync -av /etc/ root@ip-novy-server:/data/backup/export/etc/
scp /data/backup/export/ispadmin.sql root@ip-novy-server:/data/backup/export/

 

4. Import databáze

 

alert icon  Na novém serveru musí běžet rsync daemon! Pokud neběží, spusťte ho pomocí service rsync start, popř. doinstalujte pomocí  apt-get install rsync.

Na novém serveru importujeme dump databáze. Výchozí heslo po čisté instalaci je isp123.

 

mysql ispadmin -u ispadmin -p < /data/backup/export/ispadmin.sql

 

5. Kontrola nastavení na novém serveru

 

Databáze

 

Zjistíme heslo do DB, které se přeneslo ze starého serveru.

 

cat /data/support/ispadmin/config/config.php | grep PASS | cut -f 3

 

Změníme heslo do DB, aby odpovídalo zjištěnému heslu.

 

/usr/local/script/ispadmin/ispadmin_change_pass.pl ispadmin ispadmin heslo_do_DB

 

Změníme root heslo do DB na jiné, klidně náhodné, ale někam si ho poznačte.

 

/usr/local/script/ispadmin/ispadmin_change_pass.pl mysql_root ispadmin nove-heslo

 

Zjistíme secret z /etc/nagios3/apache2.conf

 

cat /etc/nagios3/apache2.conf | grep cgi-bin | cut -f 3 -d'/' | head -1

 

Secret doplňte do /data/support/ispadmin/config/config.php

 

nano /data/support/ispadmin/config/config.php
NAGIOS_SECRET = zjisteny_secret

 

Pokud máte zakoupen i rozšiřující modul RADIUS, je potřeba udělat po migraci následující:

Zjistit aktuální heslo do databáze příkazem:

cat /data/support/ispadmin/config/config.php |grep DBPASS

Zapsat zjištěné heslo do mysql do /etc/freeradius/sql.conf místo defaultního hesla isp123.

nano /etc/freeradius/sql.conf


# Connection info:
server = "localhost"
login = "ispadmin"
password = "isp123"

Editovat soubor /usr/share/freeradius/dictionary

nano /usr/share/freeradius/dictionary

Pokud v souboru nenajdete „$INCLUDE dictionary.mikrotik“, doplňte ho na konec souboru.

Restartujte Radius

/etc/init.d/freeradius restart

 

6. Update na stabilní verzi

 

Pokud máte platnou podporu a doposud nemáte poslední verzi, proveďte aktualizaci.

 

ispadmin_update stable

 

Pokud update nefunguje a objeví se následující zpráva:

 

HTTP request sent, awaiting response... 404 Not Found
2017-02-21 13:09:30 ERROR 404: Not Found.
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now

 

použijte tento příkaz:

 

cp -av /usr/local/script/ispadmin_orig/ispadmin_update* /usr/local/script/ispadmin/

 

Pokud daný příkaz nepomůže, postupujte prosím dle návodu, který naleznete zde.

 

7. Zapnutí služeb

 

/etc/init.d/apache2 start
/etc/init.d/cron start
/etc/init.d/nagios start

 

8. Dokončení individuální konfigurace

 

Ve složce /data/backup/export/etc/ máte přeneseny všechny důležité konfigurační soubory jako httpd.conf, hostname, hosts, rc.local. Ty dle potřeby můžete překopírovat do /etc, a tím obnovíte konfiguraci např. web serveru Apache starého serveru. Které soubory použít a které ne závisí na tom, zda nový server přeadresujete na stejné IP adresy, zda chcete, aby měl stejný hostname atd.

 

Update Linuxu

 

Z důvodu kompatibility a dostupnosti budoucích vývojových verzí systému ISPadmin je nezbytné aktualizovat operační systém Debian Linux na nejnovější verzi. Na této stránce najdete postup, jak update vyřešit.

 

Nejprve je nutné zjistit, jakou verzi Linuxu v současné době máte. K tomu slouží příkaz níže.

 

cat /etc/debian_version

 

Jsou čtyři možné situace, které mohou nastat v závislosti na tom, co Vám výše uvedený příkaz vypíše:

 

1) 7.x Aktuální verze ISPadmin prostředí, není nutné provádět žádné změny. Systémová podpora ze strany Debianu je vypsána až do května 2018.

2) 6.x.x Pokud Vám příkaz vypíše verzi 6, můžete systém dále provozovat, avšak systémové aktualizace Debianu 6 končí v únoru 2016. To mimo jiné znamená, že po tomto datu nebudou opravovány nalezené bezpečnostní chyby a o bezpečnost systému bude třeba se starat svépomocí. Pokud byste chtěli přejít na vyšší verzi, doporučujeme provést migraci systému, nikoliv upgrade distribuce.

3) 5.0.x (x znamená číslo od 0 do 10) V tomto případě stačí pouze postupovat dle níže uvedeného návodu update debian 5 na debian 6.

4) 4.0 Pokud Vám příkaz cat /etc/debian_version vypíše verzi Debian Linuxu 4.0, není možné Linux lehce bezproblémově updatovat, aniž by vznikly v systému potíže, a je nutné provést reinstalaci z nového instalačního DVD, které je dostupné na http://download.ispadmin.eu a následně udělat migraci dat. Migraci si buď můžete nechat provést naší technickou podporou, nebo můžete migraci provést sami a postupovat dle návodu pro migraci.

 

Update Debian 5 na Debian 6

 

1) Do /etc/apt/sources.list dát zdroje viz. níže

 

nano /etc/apt/sources.list

 

deb http://ftp.cz.debian.org/debian/ squeeze main non-free
deb-src http://ftp.cz.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main contrib
deb-src http://security.debian.org/ squeeze/updates main contrib
deb http://packages.dotdeb.org squeeze all

 

2) Příprava na update Linuxu

 

apt-get update
gpg --keyserver keys.gnupg.net --recv-key E9C74FEEA2098A6E
gpg -a --export E9C74FEEA2098A6E | apt-key add -
apt-get update

 

3) Upgrade z Linuxu 5 Lenny na Linux 6 Squeeze

 

DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confdef" --force-yes -fuy dist-upgrade

 

4) Stažení potřebných utilit pro update Apache a Nagiosu a jejich aplikování

 

wget http://update.ispadmin.eu/migration/php.ini-cli -O /etc/php5/cli/php.ini
wget http://update.ispadmin.eu/migration/php.ini-apache -O /etc/php5/apache2/php.ini
wget http://update.ispadmin.eu/migration/nagios-etc.tgz -O /root/nagios-etc.tgz
wget http://update.ispadmin.eu/migration/nagios-htdocs.tgz -O /root/nagios-htdocs.tgz

 

rm -rf /usr/share/nagios3/htdocs/*
rm -rf /etc/nagios3/*
tar xvfz /root/nagios-etc.tgz -C /etc/nagios3/
tar xvfz /root/nagios-htdocs.tgz -C /usr/share/nagios3/htdocs/
rm /root/nagios-*

 

sed '/NAGIOS_SECRET/d' /data/support/ispadmin/config/config.php >/tmp/config.php
sed '/\?>/d' /tmp/config.php >/tmp/config2.php
mv /tmp/config2.php /data/support/ispadmin/config/config.php
echo "NAGIOS_SECRET = nagios3" >> /data/support/ispadmin/config/config.php
echo "?>" >> /data/support/ispadmin/config/config.php

 

sed 's/backup\//backup\/:\/usr\/share\/nagios3\/htdocs\//' /etc/apache2/httpd.conf >/tmp/httpd.conf
mv /tmp/httpd.conf /etc/apache2/httpd.conf

 

5) Restart Apache a Nagiosu

 

/etc/init.d/apache2 restart
/etc/init.d/nagios restart

 

6) Pokud je po updatu rozhozené kódování znaků ve webovém rozhraní, dopište do souboru /data/support/ispadmin/config/config.php a do souboru /data/support/ispadmin_support/config/config.php řádek MYSQL_CHARSET=latin1

 

nano /data/support/ispadmin/config/config.php

 

MYSQL_CHARSET=latin1

 

 

Vysoké hodnoty v grafu vytížení CPU serveru ISPadmin

Pro úspěšné zjištění problémů je vhodné spustit v linuxové konzoli příkaz htop. Pomocí něj můžete snadno poznat, zda je systém přetížen z důvodu nedostatečného výkonu CPU, malého množství RAM nebo zda procesy neuměrně dlouho čekají na I/O operace a systém je paralyzován pomalým harddiskem.

  • Nedostatečné množství RAM paměti
Problém Systém má malou RAM paměť, a proto musí pořád swapovat na harddisk, čímž rapidně klesá výkon serveru.
Řešení Přidejte RAM do serveru.
  • Pomalý harddisk
Problém V htop vydíte vysoké hodnoty v sekci load system a přitom v grafu vidíte, že systém má dostatek volné RAM a CPU jádra nejsou vytížena na 100%, jde s největší pravděpodobností o problém s nedostatečnou rychlostí zápisu/čtení ze systémového harddisku.
Řešení Vyměňte harddisk za SAS nebo SSD harddisk.
  • Nízký výkon CPU
Problém Procesor nezvládá běžné úlohy a běží stabilně na 100%.
Řešení Kupte jiný, výkonnější server.

Provoz ISPadmin za NAT

Pokud máte systém ISPadmin umístěn ve vnitřní síti a přejete si na něj přistupovat i z Internetu, nejjednodušší způsob je nastavit na veřejné IP adrese NAT 1:1 na vnitřní adresu ISPadmin.
icon info2 Tento postup však nedoporučujeme, protože jsou všechny porty a služby na serveru zranitelné DoS útokem, BruteForce, ap.
V jiném případě je nutné zajistit přesměrování vybraných portů na vnitřní adresu ISPadmin:

ssh TCP/22 (Port 22 nedoporučujeme mít otevřený, naopak si přemapujte jiný neočekávaný port (např. 24785 -> 22).
http TCP/80
https TCP/443

Vnitřní a vnější adresa na serveru ISPadmin

Typicky je systém připojen do sítě pouze jednou síťovou kartou. Může být použita jak veřejná IP, tak IP adresa z rozsahu vnitřní sítě. Pokud si však přejete oddělit přístup na/z Internetu a privátní sítě, můžete systém připojit přes dvě síťové karty. Na první bude veřejná IP (na firewallu ošetřen přístup pouze z vybraného počtu IP adres kvůli bezpečnosti) a druhá síťová karta bude připojena do vnitřní sítě (např. pro klientský portál).

Konfigurace se provádí z konzole linuxu editací souboru /etc/rc.local:

ifconfig eth1 192.168.168.100 netmask 255.255.255.0 route add default gw 192.168.168.1
ifconfig eth0 8.8.8.8 netmask 255.255.255.0 route add default gw 8.8.8.1

ISPadmin jako SMTP server

SMTP server je defaultně nastaven tak, že je možné odesílat poštu pouze z localhostu, takže serveru klidně můžete dát veřejnou IP adresu, aniž by kdokoliv měl přes něj možnost odesílat poštu (není open relay).

Update verze ISPadmin

Přechod na novou verzi systému je realizován pomocí příkazu, který je potřeba zadat z příkazové řádky (přihlašte se pomocí SSH):

ispadmin_update stable - update na nejnovější stable verzi

ispadmin_update beta - update na nejnovější beta verzi

Tímto se spustí aktualizační skript, který automaticky provede stažení a instalaci posledního vydaného update systému ISPadmin. Během update by neměli být v systému přihlášení žádní administrátoři, provádí se údržba databáze a restart webserveru. Update obvykle trvá jen několik minut podle množství klientů a výkonu serveru. Vždy je nutné vyčkat, než se update kompletně dokončí, jinak by se v systému mohly objevit chyby.

icon info2 Pokud napíšete jen příkaz ispadmin_update, zobrazí se nápověda.

ispadmin_update
ISP ADMIN UPDATER
(c) NET service solution, s.r.o.
Downloading version description....
Latest version:
ISP admin STABLE version: 4.17
ISP admin BETA version:
Which version are you going to install ?
Type for
STABLE VERSION ( 4.17 )
ispadmin_update stable
BETA VERSION ( - )
ispadmin_update beta
exiting.......
admin.ispadmin.cz:~#

Nelze ověřit stav technické podpory

 

Pokud nelze ověřit stav technické podpory, ve většině případu je na vině nefunkčnost DNS. ISPadmin má nastavené DNS servery v souboru /etc/resolv.conf. Zkontrolujte jejich dostupnost a funkčnost, v krajním případě můžete zkusit nastavit jiné DNS servery.

 

nano /etc/resolv.conf

 

Další možností může být špatný běh webového serveru. V tom případě by měl postačit jeho restart:

 

 /etc/init.d/apache2 restart

 

Třetím příkladem chyby je to, že ze serveru ISPadmin není možné kontaktovat náš server poskytující updaty na portu 80. V tom případě je nutné prověřit komunikaci na IP 95.173.193.60.

 

Zapomenuté heslo root účtu

 

Můžete použít dva postupy:

 

První postup

1. Vložte instalační DVD ISPadmin a vyčkejte, než se zobrazí příkazová řádka.

2. Připojte systémový disk a přepněte se do prostředí opravované instalace.

 

mount /dev/[hda1|sda1|md0] /hd
chroot /hd

 

3. Poté už proveďte klasicky změnu hesla, tzn. po zadání příkazu 2x zadat nové heslo.

 

passwd

 

4. Opuštění chroot prostředí a odpojení disku

 

exit
umount /hd

 

5. Vyjmout instalační DVD z mechaniky a restart serveru

 

eject
reboot -f

 

Druhý postup

Další možností je po připojení systémového oddílu upravit soubor /etc/shadow a /etc/passwd, tak aby bylo heslo roota prázdné.

Na svém počítači nastavíme bootovaní z optické mechaniky a nastartujeme Linux z life CD/DVD do grafického režimu. Po startu připojíme kořenový oddíl, ke kterému neznáme heslo uživatele root. Na tento oddíl se přesuneme a vyhledáme soubor:

 

/etc/passwd

 

V souboru passwd vyhledáme řádek:

 

root:x:0:0:root:/root:/bin/bash

 

V tomto řádku odstraníme písmeno x s tím, že řádek poté bude vypadat následovně:

 

root::0:0:root:/root:/bin/bash

 

Ostatní řádky necháme beze změny a soubor uložíme.

Další soubor, který budeme editovat je:

 

/etc/shadow

 

V souboru shadow vyhledáme řádek začínající slovem root

 

root:$2a$05$e7K5MayhjHODCvu6qFabq.H3QUucC0Osjas1SkbKnTlhacoW/mwFu:13528::::::

 

V tomto řádku odstraníme vše a ponecháme pouze:

 

root:::: "slovo root a čtyři dvojtečky"

 

Ostatní řádky necháme beze změny a soubor uložíme.

V tuto chvíli můžeme CD/DVD vyndat a restartovat systém. Poté nabootovat do systému, ke kterému jsme zapomněli heslo uživatele root. Přihlásíme se jako běžný uživatel, spustíme jakýkoliv terminálový program a zadáme

 

su

 

V tuto chvíli jsme přihlášeni jako uživatel root a můžeme zadat příkaz.

 

passwd

 

alert icon Pomocí tohoto příkazu nastavíme nové heslo uživatele root!

 

Systémové proměnné

Systémové proměnné se používají pro propisování položek jako jsou jméno klienta, adresa, tarify, cena, atd. ze systému do emailů, SMS, faktur, upomínek, smluv apod.
Tzn. při vytváření smlouvy klienta se veškeré použité proměnné nahradí skutečnými údaji konkrétního klienta. Tímto způsobem tedy můžete z jednoho vzoru vytvořit mnoho personalizovaných zpráv, emailů apod. Výsledný dokument můžete použít jako vzor pro určitou skupinu klientů nebo všechny klienty.

Systémové proměnné jsou rozděleny na kategorie, např. Klient, Internet, Odesílání faktur apod. a jejich seznam se neustále rozšiřuje, proto zde neuvádíme jejich úplný přehled. Ten naleznete vždy, když uvidíte dostupné tlačítko   Seznam systémových proměnných.

Nejčastější použití: Nastavení Smlouvy Vlastní vzory, Nastavení Ostatní Šablony mailů / Šablony SMS, Fakturace Nastavení Šablony Upomínky

Do systému si můžete libovolně přidávat doplňující systémové proměnné.

Textové editory

 

V dokumentaci je vždy zmíněn textový editor nano. Pokud Vám práce v tomto editoru působí potíže, můžete pro úpravu textových souborů využívat jednoduchý editor mcedit, který je součástí známého konzolového správce souborů mc - Midnight Commander

 

MCedit

mcedit /cesta/k/souboru

  • F2 - uložit změny v souboru
  • F10 - ukončit beze změn Y/N

 

Nano

nano /cesta/k/souboru

  • Ctrl + x poté y - uložit změny v souboru a ukončit
  • Ctrl + x poté n - ukončit beze změn

Správa běžících procesů

 

Pro lepší přehled a snazší práci při sledování běžících procesů doporučujeme používat program htop namísto klasického top.
Zde můžete lépe sledovat využití systémových prostředků, load, uptime a hlavně také hromadně ukončovat běžící procesy.
Bližší informace můžete nalézt například v článku htop top na druhou, na serveru root.cz.

 

Top scr Htop scr

Kontrola běhu služby

Pokud potřebujete zjistit, zda nějaký konkrétní proces běží, stačí napsat tento příkaz spolu s názvem služby:


ps ax | grep nazev_sluzby


Například chcete zjistit, zda běží služba Nagios.

 

ps ax | grep nagios
30500 ? SNsl 0:11 /usr/sbin/nagios3 -d /etc/nagios3/nagios.cfg


Z výstupu je patrné, že Nagios běží, a to s PID (Proces ID) 30500.

Databáze MySQL

 

Restart služby MySQL


/etc/init.d/mysqld restart

 

Zjištění hesla do databáze


cat /data/support/ispadmin/config/config.php | grep DBPASS

 

Oprava poškozené tabulky


Může se stát, že se při "tvrdém restartu" serveru poškodí některé soubory s tabulkami systémové databáze.
Při restartu databáze MySQL se potom zobrazuje chybová hláška o tom, že je poškozena nějaká určitá tabulka. Pokud se setkáte se zmíněnou chybovou hláškou, pro opravu poškozené tabulky databáze se přihlaste do prostředí příkazové řádky a postupujte následovně:


Nejprve je nutné zastavit databázi


/etc/init.d/mysql stop

 

Oprava poškozené tabulky


myisamchk -o -f /var/lib/mysql/ispadmin/CRASHED_TABLE.MYI

 

Příklad:

myisamchk -o -f /var/lib/mysql/ispadmin/accesslog.MYI
- recovering (with keycache) MyISAM-table '/var/lib/mysql/ispadmin/accesslog.MYI'
 
Nakonec databázi opět spusťte


/etc/init.d/mysql start

 

Druhou možností je oprava tabulek za běhu MySQL spuštěním příkazu

 

mysqlcheck -u ispadmin -p ispadmin

 

Poté budete vyzváni k zadání hesla do databáze a proběhne kompletní kontrola databáze ISPadmin, tedy i všech tabulek a jejich oprava v případě drobných chyb.

Opravu konkrétní databáze je možné provést příkazem

 

mysqlcheck -r -u ispadmin -p ispadmin nazev_tabulky

Nastavení timezone

Defaultně je po instalaci nastavena časová zóna "Europe/Prague". Pokud potřebujete časovou zónu změnit, postupujte takto:

Zadejte příkaz dpkg-reconfigure tzdata a vyberte správnou volbu např: Atlantic/Bermuda.

Dále ověříme správný čas pomocí příkazu date

date
Fri Jul 19 12:42:56 CEST 2013
 

Pokud je čas správný, je tím nastavení časové zóny v Linuxu hotové. Nyní je ještě potřeba změnit časovou zónu v PHP, aby i ve webovém rozhraní byl správný čas.
V souboru /etc/php5/apache2/php.ini a /etc/php5/cli/php.ini nastavíme v položce date.timezone správnou časovou zónu. Seznam dostupných zón naleznete zde: http://php.net/manual/en/timezones.php.


nano /etc/php5/apache2/php.ini


date.timezone = "America/Argentina/San_Juan"

 

Restartujeme apache.


service apache2 restart

Oprava poškozené tabulky databáze

900px Db table crashMůže nastat situace, že se při "tvrdém restartu" serveru nebo při výpadku elektřiny poškodí některé soubory s tabulkami systémové databáze (proto je dobré mít server připojen přes zdroj UPS). V důsledku toho se mohou rozpadat vazby mezi kontakty a jejich službami nebo vznikat jiné problémy.

Pokud se toto stane, objevují se v systému chybová hlášení upozorňující na poškozené tabulky.

Pokud se tedy při práci v systému setkáte se zmíněným chybovým hlášením, pro opravu poškozené tabulky databáze se přihlaste do prostředí příkazové řádky a postupujte následovně.

Z výpisu chyby na obrázku je patrné, že se jedná o poškozenou tabulku databáze: Table './ispadmin/visited_pages' is marked as crashed...
Použijte tedy název poškozené tabulky visited_pages v následujícím příkazu pro její opravu:

  • Nejprve zastavte databázi

/etc/init.d/mysql stop

  • Oprava

myisamchk -o /var/lib/mysql/ispadmin/poškozená_tabulka.MYI

Nakonec databázi opět spusťte

/etc/init.d/mysql start

Dle vzoru lze tedy většinu takto vzniklých chyb odstranit. Může se však stát, že je poškození neopravitelné a je potřeba obnovit data z poslední zálohy. Pro obnovu systémové databáze je potřeba kontaktovat technickou podporu nebo postupovat dle tohoto návodu.

V systému je funkce varovného hlášení, která upozorňuje administrátora na poškozenou tabulku hned po přihlášení, tak aby mohlo dojít k nápravě v co nejkratší době.

Je tedy potřeba těmto situacím předcházet a když nastane problém, řešit jej co nejdříve.

RAM disk a obnovení RRD dat ze zálohy

O RAM disku zde.

 

Zprovoznění RAM disku

Pokud dojde k pádu serveru nebo neočekávanému odpojení ramdisku, je možné zprovoznit ramdisk spuštěním scriptu z konzole ISPadmin:


/usr/local/script/ispadmin/rrd_ramdisk.pl start force

 

Tím se spustí zastavený ramdisk a obnoví se data z poslední zálohy. S volbou [force] dojde k obnově, i pokud obnovovaná data budou mít menší velikost než posledně známá.

 

Obnovení RRD dat ze zálohy

ISPadmin provádí pravidelně každý den zálohu těchto grafů uložených v ramdisku. Vytváří 10 záloh zpětně.

 

Pokud dojde k porušení dat a ISPadmin to zaznamená (změna velikosti dat oproti předcházející hodnotě o 5% nebo nepřipojený disk), můžete obnovit data do ramdisku, pokud je spuštěn, nebo do originálního adresáře s daty rrd:


/usr/local/script/ispadmin/rrd_ramdisk.pl restore -- systém obnoví data z poslední zálohy

 

icon info2 Pokud obnova ramdisk dat nevyřeší váš problém, zkuste se podívat na seznam záloh a zvolit tu, která má největší velikost. U takové zálohy je totiž největší pravděpodobnost, že obsahuje všechny grafy.

 

Pokud za restore zadáte název obnovované zálohy (bez úvodního adresáře, např. rrd_backup_2016_05_26_13_40_03.tgz), systém obnoví tuto zálohu.

 

Pokud budete potřebovat obnovit data ze systémových záloh ISPadmin, sekce script, postupujte dle návodu obnova dat ze zálohy scripts do adresáře a nakopírujte tuto zálohu do adresáře se zálohami pro rrd ( /usr/local/script/ispadmin/rrd_data_backup/) a pak postupujte dle návodu z tohoto odstavce.

 

Manuální zvětšení RAM disku

Obsazenost RAM disku se udržuje do velikosti 80%, pokud přesáhne tuto velikost, systém se pokusí automaticky zvětšit velikost RAM disku o 20%.
Velikost RAM disku můžete nastavit na Vámi definovanou hodnotu tímto příkazem:


/usr/local/script/ispadmin/rrd_ramdisk.pl set size_in_MB - Set size RamDisk to

Emaily nelze odeslat kvůli jejich velikosti


Zkontrolujte a upravte nastavení následujících parametrů:

 

  • upload_max_filesize a post_max_size v /etc/php5/apache2/php.ini
  • message_size_limit v /etc/postfix/main.cf

 

Pokud je nastavená maximální velikost překročena, systém bude hlásit chybu při odeslaní.

 

icon info2 Defaultně je maximální velikost emailu 10MB.

Certifikáty https

cert01

Toto je návod, jak vygenerovat a nastavit důvěryhodné certifikáty https na Vaší instalaci ISPadmin a zároveň klientský portál. Nezabezpečená stránka se pozná tak, že v adresním řádku je před URL/IP adresou ISPadmin napsáno https (někdy i přeškrtnuté, v závislosti na používaném prohlížeči a jeho nastavení).

Nejnovější instalace ISPadmin obsahuje utilitu certificate.pl, které pracuje s certifikační autoritou Let´s Encrypt.

Před spuštěním musíte mít vytvořené DNS záznamy k administračnímu rozhraní ISPadmin (např. ispadmin.vasefirma.cz) a klientskému portálu (např. portal.vasefirma.cz) a zároveň povoleny v zabezpečení porty 80 a 443 (NastaveníSyst. nastaveníZabezpečení, řádek Globálně HTTP 80/443 = icon check ok).

Utilitu spusťte příkazem:

 

/usr/local/script/ispadmin/certificate.pl

 

cert01

 

Poté, co Vás skript vyzve, vložte DNS záznam pro administrační rozhraní ISPadmin a poté pro klientský portál - potvrzujte Enter.

 

cert03

 

Zkontrolujte, zda vypsané IP adresy odpovídají IP adrese serveru. Pokud nesouhlasí se skutečným stavem, nastala by chyba u vytváření certifikátu. DNS záznamy je tedy zapotřebí opravit (ve skriptu tedy vyberte volbu ne - n) a skript spustit znovu.

 

cert04

 

Pokud mají DNS záznamy správnou IP adresu, certifikáty se správně vytvoří. V této fázi se Vás skript zeptá, jestli chcete vytvořené certifikáty nainstalovat na apache server. Pokud nemáte na apache serveru provedeny žádné změny (vlastní konfigurace), potvrďte y. Pokud chcete z jakýchkoliv důvodů certifikáty ručně nakopírovat, vidíte před sebou 3 umístění, kde se jednotlivé části nacházejí. Stiskněte tedy n a certifikáty si ručně nastavte v /etc/apache2/httpd.conf.

 

cert05

 

Pokud jste vybrali y, provedla se instalace certifikátů, zároveň byla provedena záloha konfigurace apache a restart apache serveru.

Nyní jsou certifikáty platné a v prohlížeči se zobrazí https. Certifikáty jsou každé 3 měsíce automaticky obnovovány.

 

cert06

 

Pokud se Vám při generování certifikátu objeví nějaká chyba, postupujte následovně:

 

1. Udělejte si zálohu souboru /etc/apache2/httpd.conf

 

cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.backup

 

2. Upravte daný soubor dle kódu níže. U řádků obsahujících ServerName vyplňte správně adresu pro administrační prostředí a pro Portál klienta.

 

options FollowSymLinks

## ISP Admin
<VirtualHost *:80>
  ServerName admin.domain.xy
  DocumentRoot "/data/support/ispadmin/"
  AddDefaultCharset UTF-8
  <Directory /data/support/ispadmin/>
    Options ExecCGI
    AllowOverride All
  </Directory>
  CustomLog /var/log/apache2/access_support_ispadmin.log combined
  AddType application/x-httpd-php .php .php3 .php4
  php_admin_value open_basedir "/data/support/:/tmp/:/data/:/usr/local/script/ispadmin/:/data/backup/"
  php_admin_value include_path ".:/usr/local/lib/php/:/tmp/:/data/support/:/usr/local/script/ispadmin/"
  php_admin_value disable_functions  "openlog, exec, passthru, proc_open, proc_close, shell_exec"
  php_admin_value display_errors "On"
  php_admin_value safe_mode "Off
  php_admin_value safe_mode_exec_dir "/usr/local/script/ispadmin/"
  php_admin_value safe_mode_allowed_env_vars none
  php_admin_value safe_mode_include_dir ".:/usr/local/lib/php/:/tmp/:/data/support/:/usr/local/script/ispadmin/"
  php_admin_value register_globals "On"
  php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript."
</VirtualHost>

## ISP Admin support
<VirtualHost *:80>
  ServerName clientportal.domain.xy
  DocumentRoot "/data/support/ispadmin/new/www/clientinterface/"
  AddDefaultCharset UTF-8
  <Directory /data/support/ispadmin/new/www/clientinterface/>
    Options ExecCGI
    AllowOverride All
  </Directory>
  CustomLog /var/log/apache2/access_support_ispadmin_support.log combined
  AddType application/x-httpd-php .php .php3 .php4
  php_admin_value open_basedir "/data/support/ispadmin/:/tmp/:/usr/local/script/ispadmin/"
  php_admin_value include_path ".:/usr/local/lib/php/"
  php_admin_value disable_functions  "openlog, exec, passthru, proc_open, proc_close, shell_exec"
  php_admin_value display_errors "On"
  php_admin_value safe_mode "Off"
  php_admin_value register_globals "On"
</VirtualHost>

 

Pokud se Vám zobrazí tato chyba 

 

Server error 500

 

je potřeba upravit konfigurační soubor /etc/php5/apache2/php.ini (viz následující obrázek) a následně restarovat apache (service apache2 restart).

 

session

 

Chyba "Allowed memory size of ... bytes exhausted ..."

Fatal error: Allowed memory size of ... bytes exhausted (tried to allocate ... bytes) in ... on line ...

 

Pokud se Vám někde objeví takováto chybová hláška, nastavte v položce memory_limit v konfiguračním souboru PHP (/etc/php5/apache2/php.ini) vyšší hodnotu.

 

Manuální update

Pokud systém při updatu hlásí ERROR 404: Not Found, bude nutné provést update manuálně:

 

cd /tmp

# pro verzi beta
wget http://www.ispadmin.cz/update/update_ispadmin_ion_beta_ZdeDoplnitHash.tgz

# pro verzi stable
wget http://www.ispadmin.cz/update/update_ispadmin_ion_ZdeDoplnitHash.tgz

tar zxfv StazenySoubor.tgz

cd ispadmin_update

./update.pl

KONTAKT

NET service solution, s.r.o.
Žerotínova 3056/81a
787 01 Šumperk
Česká republika