Hlavní navigace

Instalace PHP4 a SSL na Apache 1.3.X

Lukáš Zapletal 21. 12. 2000

V následujícím článku si povíme něco málo o instalaci podpory SSL a PHP4 pro Apache ze zdrojových kódů. Modul PHP nakonfigurujeme podle našich potřeb, přidáme podporu pro tři nejpoužívanější free SQL servery a podporu Javy. V závěru se zmíníme o SSL certifikátech a certifikačních autoritách.

Nejjednodušší případ nastane, pokud na svém systému vůbec nemáte webový server. Pokud používáte systém Red Hat Linux, stačí nainstalovat Apache s podporou SSL. Jeho poslední aktuální verze v době psaní tohoto článku je 1.3.14 (mod_ssl 2.7.1) a je k mání jak pro 386 tak pro 686.

Pokud máte jiný systém, zkuste najít ten správný instalační balíček. Pro ostatní systémy nebo pokud máte již Apache nainstalován stačí stáhnout pouze DSO modul mod_ssl a doinstalovat jej. Když binárky pro váš systém nenajdete, musíte kompilovat.

Přesto že je kompilace o něco pracnější než instalace binárních balíků, získáte tím řadu výhod z nichž asi jedna z nejdůležitějších je, že pokud jste šťastnými majiteli některých rychlejších procesorů (např. Intel Pentium), tak vámi vytvořené programy budou optimalizovány právě pro ten váš (na některé platformy se binárky shánějí opravdu těžko). Je pravda, že takový webový server zkompilovaný pro 386ku a pro Pentium nebude nijak výrazně rychlejší, ale například u SSL modulu kde jsou již složité výpočty již nějaký ten výpočetní nárůst výkonu můžete sledovat.

Postup instalace je jednoduchý. Nejprve nainstalujeme OpenSSL a Apache (nejlépe s podporou DSO) a nakonec vlastní DSO moduly moc_php4 a mod_ssl. OpenSSL a Apache můžeme nainstalovat z binárek nebo ze zdrojových kódů (pokud budete přeci jenom Apache kompilovat, nezapomeňte přidat podporu DSO – dynamicky sdílených so knihoven). Pro ty, kteří budou SSL kompilovat ručně uvádím příklad konfigurace, kompilace a instalace krok za krokem. Kompilaci Apache zde uvádět nebudu, protože je to zdlouhavé a není na to ani čas ani místo. Místo toho postupujte podle dokumentace.

# extrahujeme stazene baliky (napr. do /usr/src)
$ gzip -d -c apache_1.3.x.tar.gz | tar xvf -
$ gzip -d -c mod_ssl-2.7.x-1.3.x.tar.gz | tar xvf -
$ gzip -d -c openssl-0.9.x.tar.gz | tar xvf -

# instalace OpenSSL
$ cd /usr/src/openssl-0.9.x
$ ./configure
$ make
$ make install

$ cd ../mod_ssl-2.7.x-1.3.x
$ ./configure --with-apxs
# Pokud mate apxs ci SSL na nejake jine ceste,
# musite ji zadat, napr.: --with-ssl=/usr/local/ssl
$ make
$ make install
$ make distclean

Modul SSL se právě nainstaloval do Apache (stejně tak jak když nainstalujete binárku z instalačního balíčku). Nyní přistoupíme k vlastní kompilaci PHP. Tuto část musí provést jak ti, kteří Apache kompilovali, tak ti, kteří použili binární distribuci. V následujícím příkladu připravíme PHP na přístup k databázím MySQL a PostgreSQL, ale vy si samozřejmě nakonfigurujete PHP dle vlastní libosti.

#extrakce baliku
$ gzip -d -c php-4.0.x.tar.gz | tar xvf -

# konfigurace a kompilace DSO modulu PHP4 (MySQL a PgSQL jako so moduly)
$ cd /usr/src/php-4.0.x
./configure
  --with-apxs --with-pgsql=shared
  --with-mysql=shared --with-xml --enable-debugger
  --with-gd --with-java=/java/jdk/ibm/1.3.0/
  --with-openssl --with-ldap --enable-track-vars
$ make
$ make install
$ cd ..

Rád bych se ještě podělil s mými poznatky o kompilaci podpory pro databázi Sybase (jejíž verze 11.0.9 byla vypuštěna zdarma). Databáze Sybase je vysoce kvalitní relační SQL databáze a je velmi vhodná pro rozsáhlé portály a jiné webové aplikace, kde jsou masivní updaty a inserty (a samozřejmě také selecty) na denním pořádku. Pokud budete chtít tuto databázi s PHP použít, musíte kompilovat s parametrem –with-sybase-ct=/cesta/k/sybase. V adresáři /cesta/k/sybase musíte mít nainstalovány klientské CT knihovny a hlavičkové soubory. A tady je kámen úrazu – ve verzi 10.x.x byly tyto knihovny dodávány přímo s vlastní databází. Pokud jste chtěli kompilovat PHP na stroji, kde Sybase neběží, mohli jste si překopírovat adresáře lib a include a všechno fungovalo. Ovšem při upgradu na verzi 11.0.9 jsem zjistil, že tyto knihovny v distribuci chybějí a musel jsem použít ty z „desítky“. Na webu Sybase.com jsem nemohl CT knihovny pro „jedenáctku“ najít. Pokud má někdo lepší řešení jak problém řešit, podělte se o něj s námi v diskuzním fóru.

SSL se konfiguruje jako každý jiný modul. Má mnoho parametrů, které jsou popsány v dokumentaci. Co nyní musíme vytvořit je certifikát, který musí být podepsán certifikační autoritou (Verisign, IKS GmbH, u nás například ICA…). Poplatky jsou různé – veliké firmy typu Verisign jsou sice poněkud dražší, ale za to jsou přímo podporovány (zabudovány) v nejrozšířenějších prohlížečích a uživatelé si nemusí certifikáty instalovat. Například u ICA stojí certifikát na půl roku pro celý www server tisíc korun. Můžete si také sami vytvořit vlastní certifikační autoritu a certifikát si podepsat sami. Vše se děje za pomoci příkazu openssh, jak je popsáno v dokumentaci. Dejte si ale pozor, server nemůže být sám sobě certifikační autoritou – musí to být jiná organizace nebo jiný server! Podepsání CSR žádosti jinak neprojde. Bližší informace můžete získat na stránkách ICA.CZ.

V příštím článku ještě přiinstalujeme JSP/Servlet engine Tomcat a trošku se seznámíme se Servlety a JSP (Java Server Pages) na Apachi. Přeji všem linuxákům šťastné a veselé Vánoce a Nový Rok!

Našli jste v článku chybu?

27. 12. 2000 8:05

Vladimir Jirasek (neregistrovaný)

Jenom bych chtěl dodat, že certifikát je možno si vydat i sám sobě - jedná o self-signed certifikát.

Přeji příjmený den a šťastný Nový rok.

VJ





22. 12. 2000 10:38

Petr Cech (neregistrovaný)

Neni co. Pokud libgd podporuje JPEG, tak staci pridat
do php4 module gd --with-gd a je to. ./configure od php4
vam rekne, co nalezl a co ne. Jinak samozrejme predpokladam, ze mate i vyvojove soubory pro GD a JPEG.

Petr Cech





Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky