BI-VWS. Vybrané partie z administrace Webového Serveru Kompilace a instalace a konfigurace webového serveru Apache httpd

Podobné dokumenty
BI-AWD. Administrace Webového a Databázového serveru Instalace webového serveru Apache httpd

BI-AWD. Administrace Webového a Databázového serveru Konfigurace webového serveru Apache httpd

BI-AWD. Administrace Webového a Databázového serveru Rozšiřující moduly serveru Apache httpd

A p a c h e h t t p d Lukáš Zapletal lukas.zapletal@liberix.cz

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

BI-VWS. Vybrané partie z administrace Webového Serveru Autetizace, autorizace a kontrola přístupu Apache httpd

Popište rozdíly HTTP/1.0 a 1.1 "Host" hlavicka pro name-based vhosty keepalive chunked encoding. (chce to malinko rozvést).

Užitečné odkazy:

Instalace a konfigurace web serveru. WA1 Martin Klíma

Webový server Apache. Linuxový víkend. Linux is like a teepee, no Windows, no Gates, and Apache inside. Ondřej Čečák <ondrej.cecak@linuxsoft.

Instalace a konfigurace OpenAdmin tool na M$ a Linuxu

BI-VWS. Vybrané partie z administrace Webového Serveru Přesměrování (redirect/rewrite) uvnitř Apache httpd

Hlavička dokumentu obsahuje metadata, která se vztahují k celému dokumentu. Definují např. název

ZOS CV1 Základy operačních systémů

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru

Webový server Apache 2

Nginx v roli web serveru

Linux na serveru. seminář Arcibiskupského gymnázia v Praze a gymnázia Boženy Němcové v Hradci Králové

ISA seminární práce. Zadání č. 4 Konfigurace www serveru ISP

1 Webový server, instalace PHP a MySQL 13

Webový server lapache

Příloha 1 - Konfigurační direktivy webového serveru Apache

Střední odborná škola a Střední odborné učiliště, Hořovice

Obsah. Předmluva Kapitola 1 Úvod 1. Web v kostce 1 Kdo je webmaster? 4 Doporučená literatura 4. Kapitola 2 Přehled jazyka HTML 5

Administrace Unixu a sítí

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Y36SPS Semestrální práce. Linux based webhosting. Jan Matoušek

Instalační manuál aplikace

1. Webový server, instalace PHP a MySQL 13

Střední odborná škola a Střední odborné učiliště, Hořovice

Knot DNS workshop. CZ.NIC Labs Daniel Salzman / daniel.salzman@nic.cz Jan Kadlec / jan.kadlec@nic.cz

DNS. Počítačové sítě. 11. cvičení

Principy fungování WWW serverů a browserů. Internetové publikování

Shibboleth v systému DSpace

Administrace Unixu (Nastavení firewallu)

Serverové systémy Microsoft Windows

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Střední odborná škola a Střední odborné učiliště, Hořovice

Uživatelský modul. Modem Bonding

Podpora šifrovaného spojení HTTPS

Správa linuxového serveru: Zprovoznění Ruby aplikací s RVM, Thin a Nginx

HTTPS na virtuálních web serverech

Počítačové sítě Systém pro přenos souborů protokol FTP

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

http.conf (hlavní konfigurační soubor) Mime.type (svázání typu přípon s mime typem) Magic (odhadnutí MIME typu pomocí pár úvodních bytů souboru)

Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek

Server-side technologie pro webové aplikace

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Správa a provoz serveru Knot DNS

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas.

Střední odborná škola a Střední odborné učiliště, Hořovice

Nginx aneb jde to i bez Apache

ADMINISTRACE UNIXU A SÍTÍ - AUS Metodický list č. 1

Příprava prostředí pro výuku PHP a MySQL

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

Nastavení DCOM. Uživatelský manuál

EPLAN Electric P8 2.7 s databázemi na SQL serveru

WWW technologie. HTTP protokol

VLAN Membership Policy Server a protokol VQP Dynamické přiřazování do VLANů.

Instalační a uživatelská příručka aplikace PSImulator2 Obsah

Nejprve je třeba spustit správce serveru: V něm je třeba vybrat přidání rolí:

Zabezpečení web aplikací

Instalace a první spuštění Programu Job Abacus Pro

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

HTTP protokol. Zpracoval : Petr Novotný

Uživatelský modul. Transparent Mode

Informační systém webhostingu

Windows 2008 R2 - úvod. Lumír Návrat

Správa linuxového serveru: Webová rozhraní k poště (Squirrelmail a Roundcube)

Uživatelský modul. WiFi STA

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

VZDÁLENÉ PŘIPOJENÍ - OpenVPN. Popis a vlastnosti služby

M4 PDF rozšíření. Modul pro PrestaShop.

Site - Zapich. Varianta 1

Uživatelský modul. DF1 Ethernet

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

DNS, DHCP DNS, Richard Biječek

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Správa Web serveru Cvičení 3

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Instalace Debianu pomocí debootstrap

nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Nastavení propojení s eshopem

Ing. Jitka Dařbujanová. TCP/IP, telnet, SSH, FTP

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Instalace produktu Ontopia. ver (open-source verze)

Maven. Aplikační programování v Javě (BI-APJ) - 2 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

IPv6 Sauron - postup nasazení (Quick How To)

Střední odborná škola a Střední odborné učiliště, Hořovice

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

APS Administrator.OP

Uživatelský modul. WiFi SSID Switch

Verze 1.x 2.x 3.x 4.x 5.x. X X X X uživatelům (správcům) systému Řazení dat v přehledech podle jednotlivých sloupců

Transkript:

BI-VWS Vybrané partie z administrace Webového Serveru Kompilace a instalace a konfigurace webového serveru Apache httpd Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti 1

Obsah Popis Apache httpd serveru Instalace a spuštění serveru Dokumentace Struktura konfiguračních souborů Syntaxe Webspace Filesystem Konfigurační minimum Další možnosti konfigurace Konfigurace virtual hosts 2

Vlastnosti Open source, dostupnost na mnoha systémech Velká konfigurovatelnost pomocí souborů Podpora jazyků (PHP, Perl, Python, TCL, JSP, SSI,...) a rozhraní CGI / FastCGI Virtualhosting, HTTP autentizace, proxy server, přizpůsobitelné logování, přepisování URL, filtrování vstupu/výstupu, dojednávání obsahu Podpora SSL, TLS, komprese 3

Architektura Prostředí pro běh serveru (Apache Portable Runtime) Core Moduly souběžného zpracování (Multi-Processing Module) Prefork Worker Procesy bez vláken (pro vláknově ne-bezpečné moduly např. PHP) Procesy a vlákna (vyšší výkon) Další moduly Filtry vstupní / výstupní Handlery zpracování požadavků Auth, Autoindex, Alias, CGI, Include, Info, Mime, Status, Userdir,... 4

Zpracování dotazu Překlad URI na jméno souboru Kontrola přístupu Autorizace jména uživatele Kontrola práv pro přístup uživatele Kontrola přístupu založená na jiných kritériích (např. podle IP adresy) Zjištění MIME typu dotazu Fixups co se doposud nestihlo udělat Zaslání požadovaných dat klientovi Zalogování přístupu 5

Způsoby instalace Binární instalace (balíčkovacím systémem) apache2 apache2-mpm-? apache2-utils apache2.2-bin apache2.2-common libapache2-mod-* Instalace ze zdrojových kódů Stažení wget http://ftp.sh.cvut.cz/mirrors/apache//httpd/httpd-2.2.21.tar.gz wget http://www.apache.org/dist/httpd/httpd-2.2.21.tar.gz.md5 Kontrola http://httpd.apache.org/download.cgi Stable Release Unix Source *.gz *.bz2 + MD5 md5sum -c httpd-2.2.21.tar.gz.md5 Rozbalení archivu tar xzf httpd-2.2.21.tar.gz cd httpd-2.2.21 6

Instalace Konfigurace Kompilace Instalace./configure && make && make install Konfigurace./configure --help --enable-layout=layout --prefix=dir --enable-feature / --disable-feature zahrne/nezahrne danou vlastnost do instalace --enable-modules=module-list all most module1,..,modulen mastavení modulů --with-package / --without-package použije/nepoužije balík 7

Adresářová struktura V případě začlenění webserveru do infrastruktury serveru /etc/apache2/ - globální konfigurace /etc/apache2/modules.d - konfigurace modulů serveru /etc/apache2/ssl - klíče/certifikáty /etc/apache2/vhosts.d - konfigurace virtuálních hostů /usr/lib64/apache2/ - zkompilované knihovny /usr/lib64/apache2/modules - zkompilované moduly /usr/sbin - binární soubory /usr/share - dokumentace, manuálové /usr/share/man stránky, příklady /var/log/apache2 - logy /var/www - webové stránky /var - v dalších podadresářích další soubory, zámky V případě instalace do /usr/local jsou všechny součásti webserveru umístěny do jeho podadresářů (snadnější odinstalace) 8

Spuštění I Manuální ovládání pomocí wrapperu apache2ctl apachectl [-k] start -D DEF... apachectl [-k] stop apachectl [-k] test Kontrola konfigurace apachectl -t apachectl -t -D INFO... Kontrola log souborů tail -f /usr/local/apache2/logs{error,access}_log Automatické ovládání Init skripty volání příkazu apachectl (v případě začlenění webserveru do infrastruktury serveru) 9

Spuštění II apachectl je pouze skript volající program httpd file -b /usr/local/apache2/bin/apachectl POSIX shell script, ASCII text executable Skript předává své argumenty programu grep HTTPD /usr/local/apache2/bin/apachectl HTTPD='/usr/local/apache2/bin/httpd' $HTTPD -k $ARGV $HTTPD -t $HTTPD $ARGV file -b /usr/local/apache2/bin/httpd ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x07781d88d95ac5c22d5af2ba17135037acc db438, not stripped 10

Spuštění III Volba konfiguračního souboru Seznam zakompilovaných (statických) modulů apachectl -f /usr/local/apache2/conf/httpd.conf apachectl -l Seznam načítaných (dynamických/statických) modulů podle konfigurace apachectl -M 11

Lokální dokumentace V případě začlenění do infrastruktury V případě kompilace a instalace do /usr/local/apache2 man apachectl man apache2 man /usr/local/apache2/man/man8/apachectl.8 man /usr/local/apache2/man/man8/httpd.8 export MANPATH=$MANPATH:/usr/local/apache2/man man apachectl man httpd Lokální webová dokumentace (HTML) file:///usr/local/apache2//manual/index.html.en http://localhost/manual (v případě aktivace v konfiguraci) 12

On-line dokumentace http://httpd.apache.org/docs/2.2/ Reference Manual Compiling and Installing Directive Quick-Reference Modules Server and Supporting Programs Glosary Users' Guide How-To / Tutorials Platform Specific Notes Other Topics 13

Obsah Struktura konfiguračních souborů Syntaxe Webspace Filesystem Konfigurační minimum Další možnosti konfigurace Konfigurace virtual hosts 14

Struktura konfiguračních souborů 15

Syntaxe Jedna direktiva na řádce Při rozdělení direktivy na více řádků poslední znak \ Direktivy case insensitive, jejich parametry (např. cesty) mohou být case sensitive Komentář řádek začínající znakem # Komentáře by neměly být spolu s direktivami Prázdné řádky a bílé znaky před direktivami ignorovány 16

Webspace Filesystem 17

Platnost direktiv (scope) Direktivy mimo kontejner platí pro celý server Platnost direktivy lze omezit vložením do sekcí (kontejnerů), které omezí jejich platnost na Část souborového systému (cesty): <Directory> <DirectoryMatch> <Files> <FilesMatch> Zdroje (URL): <Location> <LocationMatch> <Proxy> Website (pokud je server s podporou virtual hostingu): <VirtualHost> Některé direktivy nemají smysl v některých sekcí (např. nastavení obsluhy požadavků, vytváření vláken/procesů) Je nutné dodržovat kontext direktiv (podle dokumentace) 18

Soubor.htaccess Umístění v adresářích exportovaných na web Konfigurace platí pro daný adresář a jeho podadresáře Stejné direktivy použitelné v kontejneru (např. <Directory>) Vyhodnocování při každém požadavku do adresáře Nastavení použití.htaccess souborů direktiva AccessFileName (kontext: celý server, vhost) Default:.htaccess direktiva AllowOverride (kontext: <Directory> apod.) None, All, Typ_direktivy... Soubory se načítají postupně od / (pokud to není zakázáno) 19

Kontejnery podmínek Omezují platnost direktiv Vyhodnocují se při re/startu <IfDefine název>... </IfDefine> Při definici názvu pomocí přepínače -D název Povoluje / zakazuje vlastnosti serveru <IfModule jméno_modulu>... </IfModule> Při načtení modulu do serveru <IfVersion [<>=]x.y.z>... </IfVersion> Podle verze serveru 20

Kontejnery Directory, DirectoryMatch 1.Všechny kontejnery <Directory vzor> v pořadí od nejkratší shody po nejdelší Např. pro adresář /home/*/public_html 1. / 2. /home 3. /home/user 4. /home/user/public_html 2.Soubory.htaccess 3.Všechny kontejnery <Directory ~ ERE> a <DirectoryMatch ERE> v pořadí podle uvedení v konfiguraci Kontejner <Directory /> je povolen po všechny Dostupný je tudíž celý filesystem. Obvykle je nutno přístup do / zakázat! 21

Kontejnery Files, FilesMatch, Location 1.Po zpracování kontejnerů <Directory...> 2.Všechny kontejnery <Files...> v pořadí podle uvedení v konfiguraci <Files vzor> <Files ~ ERE> <FilesMatch ERE> Může být součástí kontejneru <Directory> 3.Aplikuje v případně shody vzoru (ERE) s URL <Location vzor> <Location ~ ERE> <LocationMatch ERE> 22

Vzory, výrazy,... Vzory wildcards (shellové)?, *, [] Znak / se nenahrazuje, musí bý explicitně uveden Výrazy extended regular expressions.,?, *, +,, ^, $,... Cesty obsahující znaky // mohou, ale nemusejí být shodné s / /adr1//adr2 /adr1/adr2 //adr!~ ^/adr 23

Kompilace dynamického (.so) modulu I :: LAB 1. Zkonfigurujte kompilaci tak, aby se modul mod_info kompiloval jako dynamicky načítaný modul (.so) Nápověda: --enable...=shared 2. Otestujte existenci statického modulu 3. Nastavte načítání modulu při definici INFO Nápověda: Pomocí kontejneru IfDefine a -D INFO 4. Nastavte konfiguraci modulu pouze při jeho načtení Nápověda: Pomocí kontejneru IfModule 24

Kompilace dynamického (.so) modulu II :: LAB 5. Změňte adresu výstupu modulu na /info Nápověda: Pomocí kontejneru Location 6. Otestujte načítání dynamického modulu 7. Otestujte konfiguraci serveru 8. Restartujte server 9. Ověřte funkčnost v prohlížeči 10. Povolte přístup k modulu pouze z konkrétní IP adresy 11. Ověřte funkčnost v prohlížeči Nápověda: wget --bind-address=ip 25

Možnosti Options Povoluje / zakazuje možnosti v určených adresářích Syntaxe: Options [+ -]option... + přidává, odebírá Bez znaménka nastavuje pouze uvedené vlastnosti Vlastnosti se/bez znaménka se nesmí kombinovat Default: Options All Kontext: server, virtual host, directory,.htaccess 26

Konfigurační minimum ServerRoot (core) Kořenový adresář s instalací serveru (--prefix) ServerRoot "/usr/lib64/apache2" Listen (mpm) IP adresa/jméno, TCP port serveru (je možno použít vícekrát) Listen 80 ServerName (core) Jméno serveru pro odpovědi (např. při přesměrování) ServerName www.example.com User / Group (mpm) Indetita uživatele / skupiny pro běh serveru v případě, že je server spuštěn rootem User apache Group apache DocumentRoot (core) mapování kořene webu na filesystém DocumentRoot "/var/www/localhost/htdocs" 27

Další možnosti konfigurace I Načítání modulů (mod_so) Výchozí stránka (mod_dir) LoadModule dir_module modules/mod_dir.so DirectoryIndex index.html index.htm Automaticky generovaný index (mod_autoindex) Options +Indexes IndexOptions FoldersFirst IgnoreCase IndexIgnore README.htaccess *.bak *~ AddIcon (IMG,/icons/image.xbm).gif.jpg.xbm 28

Další možnosti konfigurace II Nastavení znakové sady a jazyků (core) AddDefaultCharset utf-8 Logování (core) ErrorLog /var/log/apache2/error_log LogLevel error HostnameLookups off Logování vlastní (mod_log_config) LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog logs/access_log common 29

Další možnosti konfigurace III Autorizace (mod_authz_host) Order Deny, Allow Určuje pořadí zákazů a povolení Allow From... Deny From... Určuje, který klient je resp. není autorizován IP adresa - 147.32.80.90 část IP adresy - 147.32.80 síť (CIDR) - 10.0.0.0/8 doménové jméno - mypc.example.org část doménového jména - example.org.net všichni - vyhrazeno slovo all 30

Konfigurace virtual hosts Kontejner <VirtualHost> IP-based virtual hosting ServerName ServerAlias DocumentRoot pokud nebude nalezen odpovídající ip-vh, použije se _default_, pokud není ani ten, použije se nastavení hlavního serveru Name-based virtual hosting nutno dopředu definovat IP adresy použité pro name-based vh NameVirtualHost IP[:port] je nutné specifikovat jméno serveru jinak shodné s ip-vh 31

Výběr virtuálního hostitele 32