FAQ Podpora otázky a odpovede

Otázka a odpoveď

282
Súčasná prevádzka serverov Firebird 2.1 a Firebird 1.5 na jednom počítači

282 - Súčasná prevádzka serverov Firebird 2.1 a Firebird 1.5 na jednom počítači

Tagy: K/S
Tagy:
K/S
Dátum upravy: 28.08. 2008

Na rozdiel od starších verzií serveru Firebird je verzia 2.1 už vybavená možnosťami, ktoré zjednodušujú jej prevádzku na jednom počítači súčasne so staršími verziami Firebirdu. Jedná sa predovšetkým o schopnosť pomenovať názov služby pod ktorou server beží, čo dovoľuje súčasnú prevádzku viacerých verzií súčasne. Staršie verzie Firebirdu používali pevne daný názov "Firebird Server - DefaultInstance" pre službu serveru a "Firebird Guardian - DefaultInstance" pre názov jej kontrolnej služby.

Príklad postupu inštalácie serveru Firebird 2.1 na počítači, na ktorom už beží starší server Firebird 1.5:

  1. Dočasne zastavte službu súčasného serveru Firebird. Môžete to urobiť buď v ovládacom paneli Firebird server manager kliknutím na tlačítko Stop, alebo v zozname služieb Windows (Ovládací panel - Výkon a údržba - Nástroje pre správu - Služby) výberom položky Firebird server a kliknutím na tlačítko Zastaviť.
  2. Spustite inštaláciu serveru Firebird 2.1 z inštalačného programu MRP-K/S a na otázku ponúkajúcu odinštalovanie serveru 1.5 odpovedzte kliknutím na voľbu Nie. Počas inštalácie serveru sa následne zobrazí dialógové okno s upozornením, že na počítači bola detekovná staršia verzia serveru Firebird alebo Interbase, a že nový server bude síce nainštalovaný, ale nebude nakonfigurovaný a spustený. Otázku v okne na zastavenie inštalácie stornujte tlačítkom Nie.
  3. V adresári novo nainštalovaného serveru (obvykle \Program Files\Firebird\Firebird_2_1) otvorte textový konfiguračný súbor firebird.conf a nájdete v ňom položku RemoteServicePort. Tento riadok určuje na akom porte TCP protokolu bude služba Firebirdu očakávať spojenie. Číslo portu musí byť iné než aké používa pôvodná inštalácia serveru Firebird. Východzie číslo portu býva 3050, tu ho teda zmeňte napr. na 3051 alebo ľubovoľné iné neobsadené číslo portu. Riadok nezabudnite odkomentovať, tj. zmazať na ňom úvodný znak #.
  4. Prepnite se do podadresára serveru bin a spustite v konzolovom okne nasledujúce príkazy, ktoré nainštalují službu serveru a zaistia, aby sa spustila automaticky po každom reštarte počítača. Vysvetlenie parametrov môžete nájsť v súboroch README.instsvc.txt a install_windows_manually.txt v podadresári doc serveru. Ako názov služby je tu zvolený MrpksServer, môžete však zvolit ľubovoľný iný názov služby:

    instsvc install -auto -superserver -guardian -name MrpksServer
    instsvc start -name MrpksServer


  5. Teraz môžete znovu spustiť staršiu verziu Firebirdu zastavenú v bode 1. V konzolovom okne potom môžete overiť, že obidva servery Firebird bežia každý na svojom čísle portu príkazom netstat -a:

    netstat -a
    Aktívne pripojenie
    Proto Miestna adresa Cudzia adresa Stav
    ...      
    TCP novakjan:3050 novakjan:0 NASLOUCHÁNÍ
    TCP novakjan:3051 novakjan:0 NASLOUCHÁNÍ
    ...      

    Miesto čísla portu 3050 môže byť vo výpise prípadne uvedený názov gds_db.

  6. Pokiaľ budete chcieť k tomuto serveru pristupovať aj z iných počítačov v sieti, nezabudnite ho pridať do výnimiek brány windows (Ovládací panel - Centrum zabezpečenia - Brána firewall systému Windows - Výnimky, kliknite na Pridať program a nalistujte v inštalačnom adresári Firebirdu 2.1 súbor fbserver.exe).
  7. V prihlasovacom dialógu programu MRP-K/S zvoľte umiestnenie serveru Na inom počítači a za jeho IP adresou uveďte lomítko nasledované číslom portu zvolené v bode 3 pre Firebird 2.1, teda napr.:

    localhost/3051

Poznámka: Pred odinštalováním serveru Firebird 2.1 nakonfigurovaného podľa tohoto návodu je najprv nutné zo systému nasledovne odstrániť jeho služby (MrpksServer je názov služby zvolený v bode 4):

instsvc stop -name MrpksServer
instsvc remove -name MrpksServer

Poznámka: Pokiaľ Firebird inštalujete priamo s použitím jeho inštalačného programu mimo inštaláciu MRP-K/S, venujte pozornosť reťazcovej premennej DefaultInstance vo vetve registra HKLM\SOFTWARE\Firebird Project\FirebirdServer\Instances. Táto premenná určuje adresár, v ktorom beží východzia inštancia serveru Firebird. Firebird 2.1 síce túto hodnotu zapisuje len ako informáciu pre ďalšie aplikácie a sám sa ňou neriadi, ale starší Firebird 1.5 podľa tejto premennej určuje svoj východzí adresár, v kterom hľadá konfiguračné súbory, log súbor atď. Prepísaním premennej počas inštalácie Firebirdu 2.1 tak dôjde k situácii, že Firebird 1.5 začne svoj konfiguračný súbor hľadať v adresári novo nainštalovaného Firebirdu 2.1, použije z neho rovnaké nastavenie vrátane TCP portu prideleného druhému serveru, a tým pádom jeden zo serverov prestane fungovať. V týchto prípadoch je teda nutné overiť, či zápis v registri smeruje na adresár Firebirdu 1.5. Inštalačný program MRP-K/S toto zaisťuje automaticky.