KompilaceApache

Kompilace Apache

Pro potřeby tohoto návodu předpokládám, že jste přihlášení přes Putty (nebo jiného SSH klienta) k serveru 4iz110.vse.cz, pod svým uživatelským jménem a ve svém domovském adresáři.


Zjištění přiděleného čísla portu

Každý student má přiděleno číslo portu, které smí pro svůj webový server využívat (tj. webová prezentace studenta bude po zprovoznění serveru k dispozici např. na URL http://4iz110.vse.cz:40001). Toto číslo najdete v souboru "port.txt" ve svém domovském adresáři. Přečíst si jej můžete třeba příkazem:

cat port.txt

Stažení a rozbalení zdrojového kódu Apache

Stažení zdrojových kódů Apache je možné provést přímo z místního FTP serveru, pomocí konzolového ftp klienta. Jako uživatelské jméno při přihlášení napište "anonymous", na hesle nezáleží. FTP klienta spustíte příkazem:

ftp localhost

Pomocí příkazů "dir" a "get" získejte příslušný archív se zdrojovým kódem Apache. Poté FTP klienta ukončete (příkaz "exit"). Více o FTP viz cvičení:

http://4iz110.vse.cz:41004/4iz110/cv4/cv4.html

Archív se zdrojovým kódem je třeba po stažení do domovského adresáře rozbalit, příkazem:

tar xvf httpd-2.2.14.tar.gz

Kompilace Apache

Po rozbalení archívu se zdrojovým kódem se přepněte do rozbaleného adresáře:

cd httpd-2.2.14

Kompilaci a instalaci provedete následujícími příkazy:

    ./configure --prefix=$HOME/apache
    make
    make install

Mějte na paměti, že unixové systémy rozlišují velká a malá písmena, takže proměnná `$HOME` je úplně něco jiného než proměnná `$home` - zatímco proměnná `$HOME` obsahuje cestu k vašemu domovskému adresáři, proměnná `$home` je prázdná (pokud ji explicitně nepřiřadíte nějakou hodnotu).

Konfigurace Apache

Po úspěšné kompilaci Apache se přepněte zpět do svého domovského adresáře (zapsáním "cd" bez parametrů se přepnete do domovského adresáře):

cd

Následuje nutná úprava konfigurace Apache (přiřazení správného čísla portu). K tomu můžete využít jakýkoliv editor. Těch je celá řada, "nano", "pico", "mcedit", atd. Pro editaci v editoru "mcedit" byste zapsali:

mcedit apache/conf/httpd.conf

V tomto souboru je třeba volbu "Listen 80" upravit tak, aby číslo portu odpovídalo číslu portu, které vám bylo přiděleno (viz dříve). Pokud by vám byl přidělen port 42000, měla by řádka po editaci vypadat takto:

Listen 42000

Spuštění Apache

Webový server pak spustíte příkazem:

~/apache/bin/apachectl -k start

Práce s Apachem

Server zastavíte příkazem:

~/apache/bin/apachectl -k stop

Server můžete restartovat příkazem:

~/apache/bin/apachectl -k restart

Zobrazení webové prezentace

K webové prezentaci se dostanete, pokud v URL do prohlížeče zadáte název serveru (4iz110.vse.cz), dvojtečku a číslo vašeho portu, tj. třeba:

http://4iz110-v1.vse.cz:42000/

Pokud jste vše nakonfigurovali správně a Apache spustili, měli byste po zdání této URL v prohlížeči vidět stránku s textem "It works!".

Jak umístit na server vlastní webovou prezentaci, respektive semestrální práci, naleznete v Prezentace.

Problémy se zobrazením (SSL PROTOCOL ERROR)

Tyto problémy jsou způsobené HSTS hlavičkami, které poté, co zobrazíte webovou stránku 4iz110.vse.cz, istruují váš prohlížeč, aby od té doby po dobu nejméně 6 měsíců přistupoval k serveru 4iz110.vse.cz v šifrovaném HTTPS režimu. Vaše zkompilované servery Apache však SSL nepoužívají, a proto to nefunguje. Řešením je použít pro přístup k vaší webové prezentaci některou z alternativních domén serveru 4iz110:

http://4iz110-v1.vse.cz:42000/ http://4iz110-v2.vse.cz:42000/ http://4iz110-v3.vse.cz:42000/ http://4iz110-v4.vse.cz:42000/

Samozřejmě číslo portu si změňte na číslo vám přiděleného portu.

Úklid

Po instalaci je vhodné z důvodu kapacity adresář se zdrojáky smazat (adresář není pro provoz Apache není nutný). Stejně tak je vhodné smazat archív se zdrojáky. K tomu nám poslouží následující příkazy. Před jejich zadáním se ujistěte, že jste je zapsali správně, abyste předešli nechtěnému smazání něčeho, co smazat nechcete:

    rm -rf $HOME/httpd-2.2.14
    rm $HOME/httpd-2.2.14.tar.gz

Problémy při kompilaci

Pokud při kompilaci dojde k nějakým problémům, třeba zadáte špatně volbu --prefix, můžete celý proces zopakovat. Nejprve je ovšem vhodné "uklidit" po předchozí kompilaci. Pokud se tedy budete nacházet v adresáři s rozbaleným zdrojovým kódem Apache (obvykle ~/httpd-2.2.14), zdejte příkaz:

make clean

A následně zopakujte kompilaci (začněte spuštěním programu configure - viz výše).

Problémy při spouštění serveru

Apache si stěžuje, že nemůže najít httpd.conf v /apache/htdocs/httpd.conf

Tento problém je obvykle způsoben tím, že jste provedli ./configure --prefix $home/apache místo ./configure --prefix $HOME/apache, poté jste provedli make, při make install jste narazili na problém a opakovali znovu ./configure se správnými parametry. V tomto případě je ale třeba provést nejprve make clean, jak je naznačeno výše, a teprve poté opakovat postup počínaje ./configure --prefix $HOME/apache, make a make install.

Řešení známých problémů

Řešení známých problémů naleznete ve ApacheFAQ.

Poslední úprava stránky: 2019-12-09 11:36