Apache server
1°) Stažení a instalace
Účelem této příručky je instalace APACHE serveru. Zvolili jsme APACHE web server, protože je nejvíce používán. Navíc je zdarma a na stránkách výrobce
http://www.apache.org je dostupný zdrojový kód.
Pozor!! OVH systémy již nastavených APACHE server mají. Dostupné skripty naleznete na našem serveru:
- ftp://ftp.ovh.net/made-in-ovh/patch
1.1 Jděte a nalezněte zdroják na Internetu
Verze serveru APACHE, kterou se zde zabýváme je 1.3.4. Můžete ji nalézt na stránce
http://www.apache.org, kde musíte stáhnout soubor apache1.3.4.tar.gz
1.2 Rozbalte zdroják do dočasného adresáře
Před rozbalením staženého souboru, si vytvořte dočasný adresář příkazem:
mkdir adresar_jmeno
Dále rozbalte soubor následujícím příkazem:
tar zxvf nazev_souboru.tar.gz
Soubor je zabalen a tar. Můsíte rozbalit soubor do dočasného adresáře, který jsme před chvílí vytvořili.
1.3 Přečíst soubory, které umožňují instalaci APACHE
Soubory, které popisují instalaci Apache jsou zde:
install a všechny soubory zahrnuty v adresáři
htdocs/manual
V těchto souborech je mimo jiné napsáno, že minimální místo pro instalaci Apache je
12 MB a pro instalaci potřebujete
C ANSI compiler.
1.4 Kompilování web serveru
Pro kompilování Apache serveru musíte zadat následující příkaz:
./configure --prefix=PREFIX kde PREFIX odpovídá cestě k instalaci (Příklad: /usr/local/apache)
make
make install
PREFIX/sbin/apachectl start, což umožňuje start HTTPD daemon a poté zkontroluje, zda byla kompilace úspěšná.
PREFIX odpovídá také adresáři pro nastavení.
1.5 Úpravy souboru s nastavením
I když existují 2 aplikace pro nastavení APACHE serveru, zde vám popíšeme nastavení APACHE, kde se přepisuje přímo text v souborech obsažených v konfiguračním adresáři.
Konfigurační soubory jsou v adresáři
/etc/httpd/conf
Zde jsou 3 důležité soubory:
- access.conf: obsahuje instrukce umožňující správu přístupových práv na server
- srm.conf: obsahuje instrukce umožňující správu jmen a dosažitelných typů pro připojené uživatele z jejich webových prohlížečů.
- http.conf: obsahuje vlastní směrnice pro fungování serveru.
1.6 Spuštění web serveru
Následující příkaz spouští server:
apachectl start
Následujíći příkaz restartuje server:
apachectl retstart
1.7 Zastavení web serveru
Následující příkaz zastaví server:
apachectl stop
2°) Nastavení web serveru
2.1 Změna portu a uživatelských jmen
Pro následující části je nutné použít předem vytvořeného uživatele. Jestliže ho ještě nemáte vytvořeného, lze to udělat následujícím příkazem:
adduser
příklad:
pro vytvoření uživatele "uzivatel_1"
adduser -g users uzivatel_1
Pro změnu jména uživatele, který spustí web server (v našem případě uzivatel_1), musíte upravit soubor
http.conf. Najděte řádku, kde je uživatel uveden a přepište "uzivatel_1" na jiné jméno.
#User je uživatelské jméno, se kterým server přistupuje k prostředkům počítače.
User uzivatel_1
Pro změnu virtuálního portu, na kterém běží webový server, musíte upravit soubor
http.conf. Najděte řádku, kde je port uveden a přepište ho číslem, které chcete.
Pozor: některé porty jsou rezervovány (FTP, Telnet, ...)
Nastavení je následující:
#Základním anstavením portu je 80 my ho nahradíme 3000
Port 3000
Pozor!! Jestliže změníte virtuální port, když se připojíte na webovou stránku uzivatel_1, musíte specifikovat nový port
2.2 Změna adresáře root pro uživatele
V této části chceme změnit nastavení při vyhledání url
http://muj_server/neco, APACHE nalezne uzivatel_1.html soubor ve WWW adresáři uživatele uzivatel_1.
Pro toto musíme nastavit soubor
srm.conf. Najít řádek, kde se nachází "
DirectoryIndex" a nahradit ho souborem na načtení.
Název souboru(ů), zobrazených ze základního nastavení, když není zadáno žádné URL.
Jestliže chcete specifikovat hodně souborů, musíte je zadat jeden za druhým.
DirectoryIndex cesta/uzivatel_1/WWW/neco.html
2.3 Změna chybových zpráv
Je možné změnit chybovou zprávu úpravou souboru
srm.conf a změnou následujících klíčových ErrorDokumentů
?
Příklad:
ErrorDocument 500 "the server made a mistake"
zaměnit:
ErrorDocument 500 "Na serveru došlo k chybě"
nebo
ErrorDocument 404 /missing.html
Této chyby dosáhneme, jestliže chybí soubor missing.html, a server ho nemůže nalézt (404 error code)
3°) Test serveru
K testování serveru jsou možné dva přístupy:
První je obvyklý a jednoduchý. Pokuste se zobrazit stránku ve vašem prohlížeči.
Druhý je test spojení na web server nástrojem telnet. Pomocí telnet můžeme psát požadavek a dostat odpověď přímo v textovém režimu.
Zde je příklad jak použít telnet příkaz: Můžeme obnovit prezentování stránky napsáním telnet vodka 8080, pak get /index.html HTTP/1.0 následováno dvěma zmáčknutími klávesy ENTER.
Odpověď serveru je ve dvou fázích:
První je hlavička, která nám ukáže, zda byl požadavek pochopen odesláním zpáteční hodnoty (here 200 OK), když byl zdroj nalezen, atd.
HTTP/1.0 200 OK
Server : JavaWebServer/1.0.2
Content-Length : 1721
Content-type : text/html
Last-modified : Fri, 30 Jan 1998 13:55:28 GMT
Connection :Close
Date : Wed, 06 Jan 1999 16:12:28 GMT
then the own resource: the HTML page, the GIF picture, etc ...
Some different return codes:
404 Not Found : The page does not exist
400 Bad Request : The request can not be understood
Pole
Content-Length a
Content-Type odpovídají velikosti dokumentu a jeho typu.
4°) Provedení
Aby server využil co nejméně procesů na začátku, musíme změnit soubor httpd.conf a nalézt řetězec "startservers". Za tímto řetězcem nazezneme číslo 5, které nhradíme číslem 1, aby spustil pouze jeden proces.
5°) Nějaké otázky
5.1 VirtualHost počítač
VirtualHost umožňuje nastavit mnoho virtuálních počítačů na stejném serveru. Server musí být nastaven tak, aby přijímal mnoho IP adres. V základu nastavujeme linuxové jádro serveru. Nastavení nalezneme v souboru http.conf a má následující vzhled:
ServerAdmin webmaster@my-domain.extension
DocumentRoot /directory
ServerName domain.name.extension
ErrorLog relative directory
TransferLog relative directory
5.2 Definice keepAlive, FollowSymLinks a FancyIndexing
Definice KeepAlive:
Jestliže je tato proměnná nastavena na
ON v souboru http.conf, opravňuje to webový vyhledávač zachovat připojení. Jestliže je toto nastaveno na
OFF, je deaktivováno.
Poté nalezneme další proměnou jako je
KeepAlive a to
MaxKeepAliveRequests, která dává více připojením čísla, pro umožnění zůstat připojen ve stejnou chvíli, nebo
KeepAliveTimeout což ukazuje maximální počet nečinnosti v sekundách pro připojení bez jakékoli akce.
Definice FollowSymLinks:
Proměnná
FollowSymLinks je v souboru
access.conf. Jestliže je v poli
OptionsIndexes, bude použití symbolických odkazů a zkratek autorizováno.
Definice FancyIndexing:
Jestliže je tato proměnná nastavena na
ON v souboru
srm.conf, ikony souborů budou zobrazovány s adresáři. S nastavením hodnoty
OFF nebudou adresáře v
HTML zobrazeny.
Musíme nalézt série názvů ikon (keyword
AddIcon), které umožňí přiřadit odkazu na soubor k ikoně, když je
FancyIndexing nastaveno na
ON. Toto umožní předefinovat ikony odkazující na soubory, když jsou zobrazeny adresáře.
6°) Přístupová práva
Účelem je rozdělit přístupová práva do webového adresáře. Toto provedete ve dvou krocích:
- Zjistit jaká práva jsou nastavena můžete v souboru access.conf
Ochranu prostřednictvím zadání hesla je provedeno jednoduše přidáním příkazu (který je níže) do souboru
access.conf
AuthName Label displayed in the protected window (Označení zobrazované v chráněných oknech)
AuthType Základ
AuthUserFile /etc/users.http
require valid-user
/directory/page.html je chráněná stránka
AuthName je označení, které je zobrazeno v chráněných oknech
AuthType je v zákldu nastaveno na hodnotu Basic
AuthUserFile je soubor obsahující uživatelská jména, která mají přístup ke stránce za pomoci přiděleného hesla
require je nařízení, které může vzít hodnotě valid-user
- Vytvoření uživatele a hesla
Vytváření hesla je možné s programem htpasswd, který má následující syntaxi:
htpasswd [-c] passwordfile username
s volbou -c je soubor vytvořen; bez volby -c je soubor kompletní novým přístupem.
passwordfile je soubor obsahující jména a hesla.