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.