Konfiguračný súbor Apache. Konfiguračný súbor Apache. Riadiace príkazy Apache

Konfiguračné súbory Apache

Vo väčšine balíkov má hlavný konfiguračný súbor Apache názov httpd.conf. V závislosti od verzie systému môže byť tento súbor umiestnený v rôznych adresároch, ale jeho formát zostáva nezmenený. Na systémoch Caldera a SuSE sa súbor httpd.conf nachádza v adresári /etc/httpd; na Debiane a Slackware sa nachádza v /etc/apache (Slackware poskytuje vzorový súbor /etc/apache/httpd.conf.default; všetko, čo musíte urobiť, aby server fungoval, je premenovať tento súbor a vykonať v ňom potrebné zmeny); Na Red Hat a TurboLinux sa súbor httpd.conf nachádza v adresári /etc/httpd/conf/.

Ako obvykle, riadky v súbore httpd.conf, ktoré začínajú symbolom #, obsahujú komentáre. Možnosti, ktoré definujú konfiguráciu servera, sú špecifikované nasledovne:

Význam smernice

Direktíva je názov, s ktorým môže byť spojená určitá hodnota. Hodnota môže byť číslo, názov súboru alebo ľubovoľný reťazec znakov. Niektoré direktívy umožňujú zadať viacero podvolieb. V tomto prípade je názov smernice umiestnený v lomených zátvorkách. Príklad takejto smernice je uvedený nižšie.

Možnosti FollowSymLinks

AllowOverride Žiadne

Posledný riadok obsahuje názov tej istej smernice, ktorá je uvedená na začiatku, ale nie je pre ňu uvedená žiadna hodnota. Pred názvom direktívy, ktorá končí blok, je lomka.

V niektorých prípadoch sa na konfiguráciu Apache používajú ďalšie konfiguračné súbory uvedené nižšie. Zvyčajne sú umiestnené v rovnakom adresári ako httpd.conf.

Access.conf. Odkaz na tento súbor je vytvorený pomocou direktívy AccessConfig a je obsiahnutý v súbore httpd.conf. Súbor access.conf najčastejšie obsahuje direktívy , ktoré definujú vlastnosti prístupu k adresárom v nich špecifikovaným. V súčasnosti zostáva tento súbor zvyčajne prázdny a niekedy je hodnota AccessConfig nastavená na /dev/null , čo znemožňuje použitie access.conf.

Mime.typy. Webový server používa štandard MIME (Multipurpose Internet Mail Extensions), aby oznámil webovému prehliadaču, ako sa majú údaje spracovávať. Napríklad typ MIME text/plain znamená, že údaje sú obyčajný text, zatiaľ čo obrázok/jpeg špecifikuje grafické údaje vo formáte JPEG (Joint Photographic Experts Group). Súbor mime.types obsahuje informácie o mapovaní medzi typmi MIME a príponami súborov. Napríklad názvy súborov končiace na .txt a .asc sú spojené s typom MIME text/plain . Ak toto mapovanie nie je správne nastavené, webový prehliadač bude mať problémy so spracovaním niektorých typov súborov. Súbor dodávaný ako súčasť balíka umožňuje spracovanie takmer akéhokoľvek typu údajov, ktoré je možné umiestniť na webovú stránku. Ak potrebujete použiť zriedkavé typy, budete musieť do tohto súboru pridať nové položky.

Mágia. Tento súbor vám tiež umožňuje definovať mapovania medzi typmi MIME a údajmi. Pri analýze informácií môžete objaviť špecifické znaky jedného alebo druhého typu. Napríklad veľa súborov obsahuje špeciálne kľúče - „magické“ sekvencie bajtov. Tieto sekvencie prevedené na textové zobrazenie, sú špecifikované v magickom súbore. Ak ste si dôkladne nepreštudovali formát tohto súboru, neodporúča sa v ňom robiť zmeny. Štruktúra magického súboru nebude v tejto kapitole rozoberaná.

Z knihy Linux pre používateľov autora Kostromin Viktor Alekseevič

8.2.2. Základné konfiguračné súbory Ak ste si prečítali Odd. 8.2.1 (alebo ak ste sa pozreli na súbor /etc/inittab), tak si predstavte, že v normálnej situácii proces init okrem spúšťania procesov getty vykonáva 2 hlavné akcie: spúšťa skript rc.sysinit z /etc adresár /rc.d; spustí rc skript

Z knihy DIY Linux server autora

12.5. SSL a Apache 12.5.1. Inštalácia SSL SSL (Secure Sockets Layer) je metóda šifrovania vyvinutá spoločnosťou Netscape na zabezpečenie internetovej bezpečnosti. Táto metóda podporuje viacero metód šifrovania a poskytuje autentifikáciu na úrovni klienta aj na úrovni klienta.

Z knihy Asterisk™: The Future of Telephony Second Edition autora Meggelen Jim Wang

Z knihy Linux Network Tools od Smitha Rodericka W.

Z knihy o Linuxe: Kompletný sprievodca autora Kolisničenko Denis Nikolajevič

Konfiguračné súbory DHCP Väčšina distribúcií Linuxové balíky obsahuje server DHCP vyvinutý spoločnosťou Internet Software Consortium (http://www.isc.org/products/DHCP/). Internetové softvérové ​​konzorcium (ISC) vydalo DHCP verziu 3.0 koncom roka 2000, ale začiatkom roku 2002 mnohé Linuxové verzie ešte prišiel s stará verzia 2.0

Z knihy Ubuntu 10. Sprievodca rýchlym spustením autora Kolisničenko D. N.

Z knihy Jazyk C – príručka pre začiatočníkov od Prata Stevena

Konfiguračné súbory Exim Hlavný konfiguračný súbor Exim sa nazýva exim.conf. Zvyčajne sa nachádza v adresári /etc. Tento súbor obsahuje položky v nasledujúcom formáte: option = hodnota Riadky obsahujúce komentáre ako zvyčajne začínajú znakom #.

Z knihy Linux očami hackera autora Flenov Michail Evgenievich

Z knihy Linux Kernel Development od Love Robert

16.1. Inštalácia Apache V závislosti od distribúcie sa balík, z ktorého sa inštaluje webový server Apache, môže nazývať apache alebo httpd a balík dokumentácie sa môže nazývať apache-docs alebo httpd-manual. V prvom prípade budete musieť nainštalovať balík apache-common obsahujúci

Z knihy autora

16.2. Nastavenie Apache. Konfiguračné súbory Po inštalácii Apache by ste mali upraviť nasledujúce súbory:? /etc/httpd/conf/httpd.conf - hlavný konfiguračný súbor. Pre Apache 2.x. tento súbor sa môže volať aj httpd2.conf;? /etc/logrotate.d/apache alebo /etc/logrotate.d/httpd (vo verzii 2.0) - rotačný súbor

Z knihy autora

16.10. SSL a Apache 16.10.1. Inštalácia SSL SSL (Secure Sockets Layer) je metóda šifrovania vyvinutá spoločnosťou Netscape na zabezpečenie bezpečného prenosu údajov. Táto metóda podporuje viacero metód šifrovania a poskytuje autentifikáciu na úrovni klienta aj klienta.

Z knihy autora

19.2. Výpis konfiguračných súborov zavádzača 19.1 zobrazuje hlavný konfiguračný súbor GRUB2 - /boot/grub/grub.cfg. Nedá sa ručne upraviť. Na jeho vytvorenie použite nástroj /usr/sbm/grub-mkconfig, ktorý vygeneruje tento konfiguračný súbor na na základe šablón,

Z knihy autora

26.2.3. Konfiguračné súbory servera Konfiguračné súbory servera sa nachádzajú v adresári /etc/apache2. Hlavný konfiguračný súbor sa volá apache2.conf. Jeho predvolené nastavenia budú vyhovovať väčšine používateľov. Ak plánujete používať webový server nielen lokálne (napr

Z knihy autora

Zdrojové súbory a spustiteľné súbory Náš úžasný program je napriek svojej stručnosti a jednoduchosti pre počítač úplne nezmyselnou sadou symbolov, pretože „nerozumie“ príkazom ako #include alebo printf. On len rozumie špeciálny jazyk,

Z knihy autora

5.3.1. Konfiguračné súbory Všetky konfiguračné súbory protokolu SSH sa nachádzajú v adresári /etc/ssh. Tu môžete vidieť nasledujúci zoznam:? Konfiguračný súbor servera SSH - sshd_config;? Konfiguračný súbor klienta SSH - ssh_config;? kľúčové súbory pre rôzne

Z knihy autora

Možnosti konfigurácie ladenia jadra Existuje niekoľko možností konfigurácie, ktoré pomáhajú pri ladení a testovaní kódu jadra, ktoré sú povolené v čase kompilácie. Tieto možnosti sú dostupné v položke Kernel hacking v menu editora konfigurácie jadra. Všetky tieto

Apache je webový server.

Konfiguračné súbory

Štandardne sú všetky konfiguračné súbory uložené v priečinku „conf“.

httpd.conf je hlavný konfiguračný súbor server apache. Zmeny vykonané v tomto súbore vyžadujú reštart servera Apache, aby sa prejavili.

V priečinku „extra“ (v priečinku „conf“) sú dodatočné konfiguračné súbory. V prípade potreby ich možno pripojiť v hlavnom konfiguračnom súbore.

Syntax konfiguračných súborov

Na jednom riadku by mala byť len jedna smernica. Znak \ (obrátená lomka) možno použiť ako posledný znak riadku na označenie, že smernica pokračuje na ďalšom riadku. Za znakom \ nesmú byť žiadne ďalšie medzery okrem znaku konca riadku.

Smernica a jej argumenty sú oddelené medzerou. Samotné argumenty sú tiež oddelené medzerami. Ak argument obsahuje medzery, musí byť uzavretý v úvodzovkách.

Smernice nerozlišujú veľké a malé písmená, ale naopak argumenty rozlišujú veľké a malé písmená.

Riadok, ktorý začína znakom # (hash), sa považuje za komentár a ignoruje sa. Komentár nemožno umiestniť na rovnaký riadok ako smernicu.

Medzery, vložené pred smernicu sú ignorované, takže ich možno použiť na vloženie odsadení, aby bol kód ľahšie čitateľný. Prázdne riadky sú tiež ignorované.

Moduly

Modul je jednoducho zásuvný súbor, ktorý vám umožňuje pridať ďalšie funkcie. Všetky pluginy sú štandardne umiestnené v priečinku "modules".

Moduly vám umožňujú používať direktívy, ktoré nie sú zahrnuté v jadre webového servera Apache.

.htaccess

Htaccess je dodatočný konfiguračný súbor pre webový server Apache, ako aj podobné servery. Umožňuje vám konfigurovať funkčnosť pre jednotlivé adresáre bez zmeny hlavného konfiguračného súboru, pretože prístup k nemu je najčastejšie zakázaný.

Súbor .htaccess ovplyvňuje iba adresár, v ktorom sa nachádza, a jeho dcérske adresáre. Súbor .htaccess je možné umiestniť do ľubovoľného adresára. Direktívy tohto súboru ovplyvňujú všetky súbory v aktuálnom adresári a všetky jeho podadresáre (pokiaľ tieto direktívy nie sú prepísané direktívami základných súborov .htaccess).

Zmeny vykonané v súbore .htaccess nevyžadujú reštart servera.

Ak sa v súbore .htaccess vyskytla chyba, napríklad bola direktíva alebo hodnota direktívy zapísaná nesprávne, server vráti chybu: Chyba 500.

Súbor .htaccess používa rovnakú syntax ako konfiguračné súbory Apache.

Môžete vidieť, ktoré direktívy sa môžu nachádzať v súbore .htaccess v adresári direktív v „Kontexte“ konkrétnej direktívy.

Pojmy: konfigurácia, smernice. Konfiguračné súbory, direktívy. Základné konfiguračné smernice. Serverové procesy. Ovládajte prístup k adresárom a súborom.

Konfigurácia (lat. configuratio - vzájomné usporiadanie) je špeciálna logická a metodologická technika, mentálna technika na syntetizovanie poznatkov rôznych predmetov, rôznych predstáv o tom istom objekte.

smernice, g. (z lat. direction – smer). Všeobecné pokyny, ktoré poskytuje vyššia autorita podriadenému (server pre pracovná stanica atď.) .

Konfiguračný súbor je súbor s pomerne jednoduchým formátom. Každý riadok predstavuje kľúčové slovo a jeden alebo viac argumentov. Pre jednoduchosť väčšina riadkov obsahuje iba jeden argument. Čokoľvek po symbole # je komentár a ignoruje sa.

Apache sa konfiguruje zmenou servisných súborov v adresári /etc/httpd/conf/. Hlavný konfiguračný súbor webového servera je httpd.conf. Konfiguračné direktívy môžu byť umiestnené v rôznych súboroch, ktoré zahŕňajú názov_súboru.conf v hlavnom konštrukte Include.

Ak je umiestnenie súboru alebo adresára špecifikované implicitne v konfiguračnom súbore (explicitné umiestnenie začína v koreňovom adresári súborového systému – znakom „/“), Apache použije adresár špecifikovaný v direktíve ServerRoot na určenie skutočného umiestnenia cieľ.

Popis modulov Apache a konfiguračných direktív

Smernice možno použiť na týchto úrovniach:

Úroveň konfigurácie servera – smernicu možno použiť iba v hlavnom konfiguračnom súbore.

Úroveň V - Smernica môže byť použitá odlišne pre rôznych virtuálnych hostiteľov.

úroveň D - pre ľubovoľný adresár si môžete nastaviť vlastné nastavenia pomocou direktívy tejto úrovne.

H úroveň súborov .htaccess - direktívu je možné použiť v súboroch .htaccess na miestach, kde sú povolené serverom.

V každom bode použitie parametra názvu súboru v direktíve špecifikuje absolútnu (začínajúcu znakom "/") alebo relatívnu cestu k súboru z adresára ServerRoot.

CORE - jadro webového servera (jadrový modul Apache)

Názov súboru AccessConfig

Nastaví umiestnenie konfiguračného súboru. Predvolený konfiguračný súbor systému je conf/access.conf; Ak chcete zrušiť čítanie tohto súboru, odporúča sa nastaviť /dev/null.

AccessFileName súbor súboru...

Predvolene nastavuje názvy prístupových súborov používaných na konfiguráciu priebežnej konfigurácie – .htaccess.

Modul modulu AddModule ... [A]

Aktivuje dynamicky načítaný modul dodávaný ako samostatný súbor knižnice.

Modul modulu AddModule...

Aktivuje dynamicky načítaný modul dodávaný ako samostatný súbor knižnice alebo skompilovaný v hlavnom module httpd.

AllowOverride param param...

Nastavuje pravidlá, podľa ktorých Apache používa direktívy v interných súboroch .htaccess;

Žiadne - ignoruje;

Všetky - používa všetky smernice;

Možnosti - umožňuje použitie možností a XBitHack;

Indexy - smernice na správu indexovania adresárov;

FileInfo - direktívy pre správu typov súborov a ich manipulátorov;

AuthConfig - direktívy pre prístup k Auth* adresárom;

Obmedziť – povoliť/odmietnuť/prikázať príkazy.

Oblasť AuthName

Typ AuthType

Používa sa na určenie spôsobu vyžiadania a prenosu používateľského mena a hesla na prístup k adresárom webových stránok. Najčastejšie používajú Basic, menej často - Digest a ďalšie.

BindAddress adresa [A]

Určuje adresu, na ktorej bude Apache akceptovať pripojenia. Môžete použiť názov hostiteľa, IP adresu alebo *.

ClearModuleList [A]

Direktíva vymaže zoznam načítaných modulov. Po tejto direktíve musíte na prácu s potrebnými modulmi použiť direktívy AddModule.

ContentDigest on|off

Povolí alebo zakáže preposielanie hash dát MD5. Počíta sa pre všetky prenášané stránky a neukladá sa do vyrovnávacej pamäte.

CoreDumpDirectory adresár [A]

Ukazuje Apache na adresár, do ktorého sa uložia súbory výpisu pamäte (jadro) vytvorené v prípade núdzových chýb.

Predvolený typ mimetype

Nastaví typ MIME odosielaný klientom, ak Apache nemôže určiť typ pomocou súboru mime.types alebo príkazov AddType. Predvolená hodnota je text/obyčajný.

...

Kombinuje skupinu direktív, ktoré špecifikujú správanie Apache pri prístupe k dokumentom umiestneným v danom adresári. Je povolené používať masky mien - symboly *, ? podľa pravidiel škrupiny. Ak sa použije maska, pred meno sa umiestni vlnovka ~.

...

Definuje skupinu adresárov špecifikovaných regulárnym výrazom a nastavuje pravidlá pre Apache pre prácu s adresármi a súbormi v tejto skupine.

Názov adresára DocumentRoot

Označuje pre server umiestnenie koreňového adresárového stromu, pod ktorým je dátová štruktúra webového servera.

ErrorDocumentnázov_súboru|reťazec|URL

V prípade chyby presmeruje na zadané stránky. K vzniknutej situácii môžete nastaviť aj komentár, ktorý by mal začínať jednoduchými úvodzovkami. Príklad:

ErrorDocument 500 http://foo.example.com/cgi-bin/tester

ErrorDocument 404 /cgi-bin/bad_urls.pl

ErrorDocument 401 /subscription_info.html

ErrorDocument 403 „Prepáčte, dnes vám nemôžem povoliť prístup“

ErrorLog názov súboru

Názov súboru denníka chýb. Ak riadok parametra začína (/), potom cesta k súboru musí byť špecifikovaná z ServerRoot; ak začína (|), potom sa chybové hlásenia prenesú do zadaného príkazu na štandardnom vstupe. Najmä týmto spôsobom môžete napríklad implementovať ukladanie protokolu priamo do SQL DBMS alebo ich uložiť okamžite komprimované, preniesť napríklad do gzip. Apache verzie 1.3 a novšej štandardne odosielajú správy do syslogu, ak systém podporuje túto funkciu; ale to sa dá vypnúť pomocou syslog:facility.

...

Kontrola prístupu k súborom. Sekcie sú spracované v rovnakom poradí ako v konfiguračnom súbore po prečítaní sekcií smerníc a .htaccess, ale pred načítaním sekcií adresára . Argument musí obsahovať názov súboru alebo masku obsahujúcu "?" - ľubovoľný znak, "*" - ľubovoľný reťazec. S dodatočným symbolom ~ je možné použiť rozšírené regulácie. výrazy (pozri časť REGULARNÉ VÝRAZY v grep(1)) Napríklad: budú zodpovedať tým, ktoré sa bežne používajú na internete grafické súbory.

...

Rovnaké ako , ale používa regulárne výrazy.

Týka sa iba spúšťania Apache a forkovania procesov v prostredí a s právami zodpovedajúcimi danému názvu.

HostNameLookups on|off|double

Ovláda schopnosť určiť názov hostiteľa návštevníka pomocou reverzného DNS. Funguje pomaly a v predvolenom nastavení sa považuje za vypnutú. Double znamená, že názov hostiteľa by mal byť podrobený ďalšej kontrole, aby sa zabezpečilo, že sa názov zhoduje s IP adresou hostiteľa, ktorý odoslal požiadavku.

IdentityCheck on|off

Povoliť overenie RFC1413. Povolenie funkcie výrazne zvýši čas prístupu k serveru.

...

A by sa malo vykonávať iba vtedy, ak tento parameter definované vo vnútorných štruktúrach Apache. Znak [!] pred parametrom znamená, že blok direktívy sa bude čítať iba vtedy, ak parameter nie je definovaný.

...

Označuje, že direktívy umiestnené vo vnútri bloku tvoreného dvojicou direktív A by sa malo vykonávať iba vtedy, ak tento modul zostavené v Apache. Znak [!] pred modulom označuje, že blok direktívy sa bude čítať iba vtedy, ak parameter nie je definovaný.

Zahrnúť názov súboru [A]

Direktíva vám umožňuje zahrnúť konfiguračné súbory do konfigurácie servera.

KeepAlive on|off [A]

Umožňuje klientovi vyžiadať si viacero súborov postupne bez prerušenia TCP spojenia.

KeepAliveTimeout sek [A]

Určuje čas (v sekundách) pred zatvorením pripojenia TCP, počas ktorého bude Apache čakať na ďalšiu požiadavku od klienta.

...

Umožňuje určiť, ku ktorej metóde HTTP (napríklad GET alebo POST) patrí obsah umiestnený vo vnútri. ... príkazy na obmedzenie prístupu.

Je možné použiť nasledujúce metódy: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

Port počúvania [A]

Vynúti Apache počúvať zadané adresy a porty. Ak chcete napríklad prinútiť server počúvať na portoch 80 a 8000, použite:

Ak chcete, aby Apache bežal na rôznych rozhraniach so špecifikovanými číslami portov, použite:

Počúvajte 192.170.2.1:80

Počúvajte 192.170.2.5:8000

Dĺžka počúvania Backlog [A]

Maximálna dĺžka frontu spracovania pripojenia.

...

Podrobnosti v Apache-manuál :)

...

Podrobnosti v príručke Apache

Názov súboru uzamknutého súboru [A]

Direktíva nastavuje cestu k súboru lockfile.

LogLevel emerg|upozornenie|krit|chyba|upozornenie|upozornenie|info|ladenie

Nastavuje úroveň informačného obsahu protokolu (súbor protokolu prevádzky servera). Odporúčané použitie: najmenejúroveň krit.

Maximálny počet klientov [A]

Direktíva stanovuje limit na počet súčasných požiadaviek na server. V skutočnosti tento počet nemôže presiahnuť počet podriadených procesov servera, ktorý štandardne nemôže byť viac ako 256. Ak chcete situáciu napraviť, upravte HARD_SERVER_LIMIT v httpd.h a skompilujte ho.

MaxKeepAliveRequest počet [A]

Umožňuje klientovi sekvenčne požadovať zadaný počet súborov bez prerušenia pripojenia TCP, ak je povolená funkcia KeepAlive. Ak je parameter nastavený na 0, potom Apache ukončí pripojenie iba na základe parametra KeepAliveTimeout.

MaxRequestsPerChild count [A]

Smernica stanovuje limit na počet žiadostí, ktoré môže spracovať individuálny podriadený proces. Ak je MaxRequestsPerChild nastavená na 0, počet požiadaviek je neobmedzený.

Počet MaxSpareServers [A]

Direktíva nastavuje požadovaný maximálny počet neaktívnych serverových procesov. Direktíva je zbytočná, ak sa používa verzia Apache pre Microsoft Windows.

Počet MinSpareServers [A]

Direktíva nastavuje požadovaný minimálny počet neaktívnych serverových procesov. Direktíva je zbytočná, ak sa používa verzia Apache pre Microsoft Windows.

NameVirtualHost port [A]

Označuje, že požiadavky na tento názov portu by mali byť oddelené názvom hostiteľa, ku ktorému sa pristupuje (hlavička HTTP "Host:"). Umožňuje definovať viacero virtuálnych hostiteľov pre jednu IP adresu.

Parametre parametrov...

Definuje nastavenia akcie Apache pre zadaný obsah. Všetky možné nastavenia sú podrobne popísané v príručke Apache. Často používané: Indexy - zapne zobrazenie obsahu adresára, ak sa v ňom indexový súbor nenachádza (direktíva DirectoryIndex); ExecCGI - umožňuje umiestňovať spustiteľné súbory (cgi, perl skripty) do tohto adresára; Obsahuje - umožňuje umiestňovať súbory do adresára SSI. Každé nastavenie je podporované príslušným modulom, ktorý ho používa, a nemusí fungovať, ak požadovaný modul nie je načítaný. Každá direktíva Options sa považuje za doplnok k už známym Options definovaným pre nadradené adresáre. Každé nastavenie môže mať predponu + alebo -, čím ho v danom kontexte povolíte alebo zakážete.

Názov súboru PidFile [A]

Direktíva nastavuje názov súboru, do ktorého server zapisuje identifikátor procesu.

Určuje port Apache - číslo od 0 do 65535 (všimnite si, že niektoré porty môžu používať iné protokoly, pozrite si /etc/servises). Štandardný port pre protokol http je 80.

vyžadovať userid|groupid|valid-user|file-owner|group-owner [A]

Určuje, ktorí používatelia majú prístup k adresáru.

Vyžadovať ID používateľa – prístup majú iba títo používatelia

Vyžadovať skupinu názov-skupiny [názov-skupiny] – všetci používatelia týchto skupín

Vyžadovať platného používateľa – všetci platní používatelia.

Názov súboru ResourceConfig [A]

Server načíta ďalšie direktívy z tohto súboru po prečítaní httpd.conf. Názov súboru je nastavený relatívne k ServerRoot. Dá sa vypnúť: ResourceConfig /dev/null

RLimitCPU max|s[ max|s] [A]

RLimitMEM max|bajtov[ max|bajtov] [A]

RLimitNPROC max|počet[max|počet] [A]

Uspokojiť všetky | všetky [A]

Definuje politiku prístupu, ak sa súčasne používajú Povoliť a Vyžadovať. Používa sa, keď je prístup do oblasti obmedzený menom/heslom a adresou klienta. V tomto prípade štandardne („všetci“) vyžaduje overenie klienta na adrese a zadanie správneho používateľského mena a hesla. V prípade parametra „akýkoľvek“ klient získa prístup, ak zadal správne meno a heslo alebo prešiel obmedzením hostiteľa. Dá sa použiť na obmedzenie prístupu pomocou hesla, ale povoliť klientom z konkrétnej adresy bez hesla.

Názov súboru ScoreBoardFile [A]

Direktíva je povinná špecifikovať názov súboru, ktorý server používa na komunikáciu medzi detským a materským procesom. Ak chcete zistiť, či je tento súbor potrebný, spustite Apache a uvidíte, či vytvorí súbor s daným názvom. Ak áno, musíte sa uistiť, že ho používa iba jedna kópia Apache.

SendBufferSize bajtov [A]

Nastavuje veľkosť vyrovnávacej pamäte TCP.

E-mail správcu servera

Nastavuje e-mailovú adresu, ktorú server zobrazuje klientovi v chybových správach.

ServerAlias ​​​​hostname

Určuje názov alternatívneho virtuálneho hostiteľa.

ServerName názov hostiteľa

Direktíva nastavuje názov servera; používané pri vytváraní odkazov. Ak nie je zadaný názov, server sa ho pokúsi získať zo svojej vlastnej IP adresy.

Cesta ServerPath

Direktíva nastavuje starú cestu pre hostiteľa.

Cesta ServerRoot [A]

Nastaví adresár, v ktorom sa nachádza server. Zvyčajne obsahuje podadresáre conf/ a logs/. Cesty pre ostatné konfiguračné súbory sú vytvorené relatívne k tomuto adresáru.

ServerSignature on|ff|mail

Konfiguruje riadok v spodnej časti dokumentu vygenerovaného serverom. Predvolene vypnuté, Zapnuté – zobrazuje verziu servera a ServerName virtuálneho hostiteľa, E-mail pridáva odkaz mailto: na ServerAdmin

ServerTokens minimálne|OS|Úplné [A]

Riadi hlavičku odoslanú klientovi serverom, ktorá popisuje operačný systém servera a skompilované moduly.

ServerType standalone|inetd [A]

Určuje, ako systém spúšťa server. inetd – spúšťa sa zo systémového procesu inetd. samostatný - ako proces démona.

Počet štartovacích serverov [A]

Nastavuje počet podriadených procesov vytvorených pri spustení. Číslo sa aj tak dynamicky mení v závislosti od zaťaženia, väčšinou nie je dôvod toto nastavenie meniť.

Čas, na ktorý bude Apache čakať: prijatie požiadavky GET, prijatie paketov TCP na požiadavky POST a PUT, pauza medzi ACK pri prenose paketov TCP v odpovediach.

UseCanonicalName on|off

Spôsobí, že Apache generuje názvy stránok, ktoré vytvára, pomocou hodnôt SERVER_NAME SERVER_PORT.

Používateľské meno

Nastavuje ID používateľa, ktorým bude server odpovedať na požiadavky. Ak chcete použiť smernicu, server musí byť spustený ako root.

...[A]

Smernice umiestnené vo vnútri bloku tvoreného dvojicou smerníc A Určím konfiguráciu daného virtuálneho hostiteľa. Každý virtuálny hostiteľ musí mať jedinečnú IP adresu, číslo portu alebo názov hostiteľa. Má zmysel použiť túto smernicu, ak má napríklad server sieťové rozhranie pre internú sieť a iné rozhranie pre externú sieť.

mod_env - nastavuje a odovzdáva premenné na spracovanie v súboroch CGI/SSI

PassEnv premenná[ premenná] ...

Odovzdáva premennú prostredia (napr. HOME) obsluhe.

Hodnota premennej SetEnv

Zapíše zadanú hodnotu do zadanej premennej prostredia.

UnsetEnv premenná[ premenná] ...

Resetuje premennú, čím ju znemožňuje čítať z handlerov.

mod_setenvif - používa podmienené výrazy na nastavenie premenných prostredia

BrowserMatch regulárny výraz env-premenná[=hodnota] ] ... [A]

Používa odovzdané regulárny výraz ako filter pre hlavičku User-Agent z klientskeho prehliadača. Pri úspešnom prístupe inicializuje premennú s danou hodnotou. Ak je zadaný iba názov premennej, inicializuje sa číslom 1. Ak je premenná zadaná s predchádzajúcim znakom "!" - premenná sa vynuluje.

BrowserMatchNoCase regulárny výraz env-premenná[=hodnota] ] ... [A]

Funguje podobne ako BrowserMatch, čo umožňuje rozdiely medzi veľkosťou písmen medzi odovzdanou hodnotou User-Agent a regulárnym výrazom použitým ako filter.

NastaviťEnvIf atribút regulárny výraz env-premenná[=hodnota] ] ... [A]

Akcia vykonaná direktívou je úplne podobná BrowserMatch, ale namiesto User-Agent možno použiť akúkoľvek inú hlavičku: Remote_Host; Remote_Addr; Remote_User; Metóda_požiadavky; Request_URI; Sprostredkovateľ

SetEnvIfNoCase atribút regulárny výraz env-premenná[=hodnota] ] ... [A]

Rozdiel oproti SetEnvIf je rovnaký ako rozdiel BrowserMatchNoCase z BrowserMatch vyššie.

mod_unique_id - generovanie jedinečnej premennej prostredia UNIQUE_ID

Premenná je generovaná náhodne z IP adresy servera, čísla bežiaceho procesu, časových pečiatok a ďalších interných počítadiel.

Premenná je určená na použitie v zložených dokumentoch, keď nie je možné sledovať rovnakú požiadavku pomocou iných metód.

mod_mime - určený na určenie typu mime súboru pri jeho prenose na klienta

AddCharset rozšírenie znakovej sady...

Pre zadané prípony súborov povie Apache, aby pri odpovedi klientovi odovzdal túto znakovú sadu.

AddEncoding rozšírenie MIME-enc...

Pre zadané prípony súborov povie Apache, aby preniesol súbor pomocou požadovaného MIME kódovania.

Prípona názvu obslužného programu AddHandler...

Hovorí Apache, že súbory s danými príponami by mali byť odovzdané konkrétnemu handleru. Obslužný program môže byť interný (cgi-script a iné) alebo externý, popísaný vyššie v direktíve Action.

AddLanguage rozšírenie MIME-lang...

Vytvára vzťah medzi príponami súborov a kódom jazyka odoslaným v odpovedi.

AddType rozšírenie typu MIME...

Aktualizuje tabuľku typov MIME o nové mapovanie prípon súborov a kód MIME pre odpoveď klientovi.

Predvolený jazyk MIME-jazyk

Nastaví jazyk odpovede tak, aby sa vždy odoslal, ak to nemožno vykonať inými prostriedkami.

ForceType MIME typ

Vynúti odpoveď s daným typom MIME v adresári, ku ktorému je priradená daná direktíva.

Odstrániť rozšírenie kódovania...

Odstráni kód kódovania MIME v odpovedi pre súbory s týmito príponami.

Rozšírenie RemoveHandler...

Hovorí Apache, aby nespúšťal obslužné programy pre súbory s týmito príponami.

RemoveType rozšírenie...

Obnoví typ MIME v odpovedi klientovi na predvolený typ MIME

Obsluha SetHandler

Vynúti volanie tohto obslužného programu pre všetky súbory, ku ktorým je priradená táto direktíva.

Názov súboru TypesConfig [A]

Určuje umiestnenie tabuľky mapovania typov MIME. Predvolené - conf.mime.types

mod_mime_magic - modul, ktorý používa zložité pravidlá na určenie typu MIME súboru odoslaného v odpovedi

Názov súboru MimeMagicFile

Aktivuje akciu modulu pomocou zadaného súboru v danej oblasti dokumentov webového servera alebo vo všetkých dokumentoch dostupných pre Apache.

mod_negotiation - zabezpečenie vyjednávania prenášaných dátových typov medzi klientom a serverom

CacheNegotiatedDocs [A]

Umožňuje ukladanie dokumentov s konzistentným obsahom do vyrovnávacej pamäte na medziľahlých proxy serveroch a klientskom počítači.

Jazyk MIME s prioritou jazyka... [A]

Určuje prioritu jazykov použitých v odpovedi klientovi, keď nie je možné presne určiť alebo nájsť jazyk dokumentu požadovaný klientom.

mod_alias - umožňuje umiestňovať dokumenty do adresárov webového servera ľubovoľnejším spôsobom

Aliasová adresa URL cesta k súborovému systému

Hovorí Apache, že dokumenty umiestnené „pod“ danou adresou URL by sa mali hľadať „pod“ daným umiestnením systém súborov.

AliasMatch URL-regexp filesystem-path

Definuje zložitejšie pravidlá pre vyhľadávanie údajov v systéme súborov porovnaním adries URL s regulárnym výrazom.

Presmerovať URL-cesta URL

V odpovedi na požiadavku cesta URL a dokumenty „nižšie“ vrátia zadaný kód odpovede (štandardne 302) a presmerujú klienta na inú adresu URL. Stav môže byť špecifikovaný ako číslo alebo symbolicky: permanentný (301), temp (302), seeother (303), preč (410). V prípade kódu odpovede 410 musí byť adresa URL odpovede vynechaná.

RedirectMatch URL-regexp URL

Podobne ako v prípade presmerovania, na porovnanie odovzdanej adresy URL sa namiesto presnej zhody používa zadaný regulárny výraz.

RedirectTemp URL-cesta URL

Podobne ako pri presmerovaní pomocou kódu odpovede 302.

RedirectPermanent URL-path URL

Podobne ako pri presmerovaní pomocou kódu odpovede 301.

ScriptAlias ​​​​URL-cesta k súborovému systému-cesta

Funguje podobne ako Alias, ale automaticky nastaví obslužný program cgi-handler tak, aby sa spúšťal pre všetky súbory v cieľovom adresári.

ScriptMatch URL-regexp filesystem-path

Podobne ako ScriptAlias, s kontrolou URL pomocou regulárneho výrazu.

mod_rewrite - riadi umiestnenie dokumentov na serveri

V stručnej zbierke popisov direktív Apache je ťažké popísať úlohy, ktoré rieši tento komplexný modul. Ako návod na akciu je najlepšie použiť špeciálne časti príručky Apache „Module mod_rewrite URL Rewriting Engine“ a „URL Rewriting Guide“. Najjednoduchší spôsob, ako sa naučiť používať tento modul, je zvážiť konkrétne problémy a ich riešenia pomocou neho.

Existuje jeden hlavný (nadradený) proces, ktorý je zodpovedný za vytváranie podriadených procesov, ktoré zase počúvajú pripojenia a spracovávajú požiadavky klientov. Apache sa vždy snaží ponechať v zálohe niekoľko nepoužívaných serverových procesov, ktoré sú pripravené na spracovanie prichádzajúcich požiadaviek. Klienti tak nemusia čakať na vytvorenie nových podriadených procesov, ktoré budú pred obsluhou ich požiadavky forkované. Štartovacie servery, MinSpareServery, Direktívy MaxSpareServers a MaxClients riadia, ako nadradený proces vytvára podriadené procesy pre požiadavky na služby.

Vo všeobecnosti je Apache veľmi samostatný, takže pre väčšinu webových stránok nie je potrebné meniť tieto smernice z ich predvolených hodnôt.

Pre lokality, ktoré musia obsluhovať viac ako 256 súčasných požiadaviek, môže byť potrebné zvýšiť MaxClients a pre lokality umiestnené na serveroch s obmedzenou pamäťou môže byť potrebné znížiť MaxClients, aby sa predišlo núteniu servera vymieňať pamäť na disk a späť), čo viesť k vážnemu spomaleniu práce.

Výber modulov je jedným z najdôležitejších krokov na zabezpečenie dobrého zabezpečenia webového servera Apache. Mali by sme sa riadiť jedným dobrým pravidlom: čím menej, tým lepšie. Na umožnenie funkcií, ktoré potrebujeme a poskytujeme dobrá ochrana, musia byť povolené nasledujúce moduly:

httpd_core - jadro Apache, vyžadované pri každej inštalácii Apache.

mod_access – riadi prístup k adresárom servera v závislosti od adresy IP klienta alebo názvu hostiteľa.

mod_auth – Vyžaduje sa na autorizáciu používateľov pomocou textových súborov.

mod_dir - Vyžaduje sa na vyhľadanie indexových súborov: "index.html", "default.html" atď.

mod_log_config - Poskytuje protokolovanie požiadaviek odoslaných na server. mod_mime - Obsahuje direktívy, ktoré uľahčujú organizáciu rôznych typov MIME na serveri.

Všetky ostatné moduly Apache musia byť vypnuté. Pokojne ich môžeme vypnúť, pretože ich nebudeme potrebovať. Vypnutím nepotrebných modulov zabránime útočníkovi zneužiť zraniteľnosť, ktorá sa našla v jednom z týchto modulov.

Za zmienku tiež stojí, že dva moduly Apache (mod_autoindex a mod_info) sú najnebezpečnejšie. Prvý modul umožňuje automaticky indexovať adresár a je štandardne povolený. Ak chcete vidieť, ako to funguje, zadajte napríklad http://názov_servera/ikony/ a ak sa v tomto adresári nenachádzajú žiadne indexové súbory, zobrazí sa obsah celého adresára. Druhý modul, mod_info, by nikdy nemal byť prístupný cez internet, pretože odhaľuje celú konfiguráciu webového servera Apache.

Ďalšou otázkou je, ako zostaviť moduly. Zdá sa mi, že najlepšia je statická metóda (kódy sú vložené do spustiteľných súborov) ako dynamická metóda (kódy sa zhromažďujú v čase spustenia programu). Výberom statickej metódy tiež eliminujeme potrebu ďalšieho modulu, mod_so.

Samostatná práca: Práca s databázovým serverom údaje MySQL. Vytváranie tabuliek. Vkladanie, získavanie a aktualizácia údajov v databáze.

Laboratórna práca č.12. Inštalácia a konfigurácia webového servera Apache.

Samostatná práca: Práca s databázovým serverom MySQL.

Apache je najpopulárnejší webový server na internete, ktorý obsluhuje viac ako polovicu aktívnych stránok.

V tomto článku sa pozrieme na bežné konfiguračné súbory a základné nastavenia Apache v systéme Ubuntu/Debian

Poznámka: Súbory Apache sa líšia v závislosti od distribúcie, takže tento článok nie je vhodný pre používateľov RHEL.

Inštalácia Apache na Ubuntu/Debian

Ak webový server Apache ešte nie je nainštalovaný, použite príkazy:

aktualizácia sudo apt-get
sudo apt-get nainštalujte apache2

Ak chcete overiť, či bola inštalácia úspešná, otvorte prehliadač na adrese IP vášho servera. Na obrazovke by sa mala objaviť uvítacia stránka Apache:

Funguje to!
Toto je predvolená webová stránka pre tento server.
The webový server softvér je spustený, ale zatiaľ nebol pridaný žiadny obsah.

Hierarchia súborov Apache

Na Ubuntu a Debiane Apache ukladá konfiguračné súbory do priečinka /etc/apache2.

cd /etc/apache2
ls -F
apache2.conf envvars magic mods-enabled/sites-available/
conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/

Tento priečinok obsahuje množstvo jednoduchých textové súbory a podadresáre. Najdôležitejšie z nich:

  • apache2.conf: hlavný konfiguračný súbor servera. Dajú sa v ňom vykonávať takmer všetky konfigurácie.
  • ports.conf: Tento súbor určuje porty, na ktorých počúvajú virtuálni hostitelia. Pri nastavovaní SSL skontrolujte tento súbor.
  • conf.d/: Tento adresár riadi určité aspekty konfigurácie Apache. Často sa napríklad používa na definovanie konfigurácie SSL a štandardných bezpečnostných politík.
  • site-available/: Tento adresár ukladá všetkých dostupných virtuálnych hostiteľov, ktorí určujú, aký obsah sa bude na stránke zobrazovať. Títo hostitelia nie sú aktívni.
  • sites-enabled/: Tento adresár definuje aktívnych virtuálnych hostiteľov. Zvyčajne obsahuje symbolické odkazy na súbory definované v adresári sites-available.
  • mods-/: Tieto adresáre fungujú rovnakým spôsobom ako stránky dostupné a povolené stránky. Ukladajú moduly.

Ako vidíte, konfigurácie Apache nie sú obmedzené na hlavný konfiguračný súbor, ale sú distribuované v niekoľkých súboroch a adresároch. Táto konfiguračná štruktúra môže byť rozšírená o nové súbory.

Konfiguračný súbor Apache

Základné nastavenia Apache sú uložené v /etc/apache2/apache2.conf.

Tento súbor obsahuje tri hlavné časti: globálne nastavenia Apache, predvolené nastavenia servera a konfigurácie virtuálneho hostiteľa.

Na Ubuntu a Debiane je väčšina súboru vyhradená pre globálne nastavenia a predvolená konfigurácia servera a nastavenia virtuálneho hostiteľa sú spracované na konci súboru pomocou direktívy Include.

Na konci súboru nájdete veľa nastavení Zahrnúť. Definujú moduly, pridávajú dokument ports.conf, určité súbory z adresára conf.d/ a nastavenia virtuálneho hostiteľa z adresára sites-enabled/.

Zamerajme sa na globálne nastavenia webového servera Apache.

Globálne nastavenia Apache

Táto časť skúma dôležité parametre globálne nastavenia Apache.

Čas vypršal

Štandardne je tento parameter nastavený na 300. To znamená, že server má maximálne 300 sekúnd na dokončenie každej požiadavky. Vo väčšine prípadov je táto hodnota veľmi veľká a odporúča sa ju znížiť na 30-60 sekúnd.

Udržať nažive

Ak je toto nastavenie zapnuté, server umožní klientovi požiadať o viacero objektov v rámci jedného pripojenia. Ak má parameter Vypnutá hodnota, potom každá nová požiadavka vytvorí individuálne pripojenie. Toto správanie môže viesť k preťaženiu stránky s vysokou návštevnosťou.

MaxKeepAliveRequests

Toto nastavenie vám umožňuje definovať maximálny počet požiadaviek na pripojenie. To vám umožní zvýšiť výkon Apache.

Hodnota 0 umožní webovému serveru spracovať neobmedzený počet požiadaviek v rámci jedného pripojenia.

KeepAliveTimeout

Tento parameter nastavuje časový interval medzi požiadavkami. Ak klient v stanovenom čase nevytvoril ďalšiu požiadavku. Webový server ukončí pripojenie. Ak tento klient následne zadá požiadavku, server vytvorí nové pripojenie.

Nastavenia MPM

Ak chcete zistiť, s ktorými modulmi bol Apache skompilovaný, otvorte terminál a zadajte:

apache2 -l
Zostavené v moduloch:
jadro.c
mod_log_config.c
mod_logio.c
predvidlička.c
http_core.c
mod_so.c

Ako vidíte, v tomto prípade je webový server skompilovaný s modulom prefork.c a súborom apache2.conf.

Konfigurácie virtuálneho hostiteľa

Predvolený virtuálny hostiteľ sa nachádza v predvolenom súbore v adresári sites-available.

Ak chcete zobraziť všeobecný formát virtuálneho hostiteľa, otvorte tento súbor:

sudo nano /etc/apache2/sites-available/default

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Možnosti FollowSymLinks
AllowOverride Žiadne


Možnosti Indexy FollowSymLinks MultiViews
AllowOverride Žiadne
Objednávka povoliť, zamietnuť
dovoliť od všetkých

. . .

V predvolenom nastavení virtuálny hostiteľ spracováva požiadavky na porte 80.

To neznamená, že webový server nevyhnutne spracuje každú požiadavku na tomto porte. Apache môže prepísať konfigurácie.

Nastavenia virtuálneho hostiteľa najvyššej úrovne

Tieto nastavenia sa nastavujú v časti Virtuálny hostiteľ a vzťahujú sa na celý virtuálny hostiteľ.

Parameter ServerAdmin určuje kontaktnú e-mailovú adresu, ktorá sa má použiť, ak sa na serveri vyskytnú problémy. Túto adresu je možné vložiť na chybovú stránku. Ak to chcete urobiť, parameter ServerSignature (v súbore /etc/apache2/conf.d/security) musí byť nastavený na hodnotu Email.

Direktíva ServerName určuje názov domény alebo IP adresu servera. Toto je nastavenie pre každého virtuálneho hostiteľa, ktoré môže prepísať predvolené nastavenia, ak sa zhodujú s hodnotou ServerName.

Parameter ServerAlias ​​​​vám umožňuje pridať aliasy stránok – alternatívne názvy a cesty vedúce k rovnakému obsahu. Napríklad alias domény je často nastavený na www.

DocumentRoot určuje adresár, do ktorého webový server ukladá obsah tohto virtuálneho hostiteľa. Na Ubuntu je predvolená hodnota /var/www.

Nastavenia adresára

Konfigurácia virtuálneho hostiteľa má špeciálnu sekciu na konfiguráciu spracovania jednotlivých adresárov súborového systému. Tieto nastavenia možno tiež prepísať.

Najprv virtuálny hostiteľ navrhne súbor pravidiel pre adresár / (koreňový adresár). Táto časť poskytne základnú konfiguráciu virtuálneho hostiteľa, pretože sa týka všetkých súborov, ktoré sú obsluhované v súborovom systéme.

V predvolenom nastavení Ubuntu neukladá žiadne obmedzenia na súborový systém. Apache odporúča pridať niekoľko štandardných obmedzení prístupu, napríklad:


Možnosti FollowSymLinks
AllowOverride Žiadne
Objednať Odmietnuť, povoliť
Odmietnuť od všetkých

Toto zablokuje prístup k celému obsahu, pokiaľ nasledujúce definície adresárov neuvádzajú inak.

Parameter AllowOverride vám umožňuje prepísať konfigurácie pomocou súborov .htaccess. Na prepísanie nastavení musí byť súbor .htaccess v adresári obsahu. V predvolenom nastavení je táto funkcia vypnutá.

Nastavenia Alias ​​​​a ScriptAlias

Niekedy sa parametre Alias ​​​​a ScriptAlias ​​​​zobrazia pred sekciou Directory.

Smernica Alias ​​umožňuje pridávanie adresárov mimo DocumentRoot k obsahu, ktorý sa má poskytovať.

ScriptAlias ​​​​funguje podobným spôsobom, ale obsahuje cestu k adresárom so spustiteľnými súbormi.

Napríklad takýto riadok vo virtuálnom hostiteľovi example.com umožní prístup k obsahu v adresári /cesta/k/obsahu/ pri požiadavke example.com/obsah/.

Alias ​​/content/ /cesta/k/obsahu/

Pamätajte, že pri otváraní prístupu k ďalším adresárom je potrebné nastaviť na ne obmedzené privilégiá.

Povolenie stránok a modulov v Apache

Po vytvorení súboru virtuálneho hostiteľa ho môžete povoliť. Ak to chcete urobiť, musíte vytvoriť symbolický odkaz na súbor v adresári s povolenými lokalitami:

sudo a2ensite virtualhostfile

Keď je vaša stránka povolená, reštartujte Apache, aby webový server mohol znova prečítať konfigurácie:

znovu načítať sudo službu apache2

Ak chcete zakázať virtuálneho hostiteľa, musíte odstrániť symbolický odkaz z povolených lokalít:

sudo a2dissite virtualhostfile

Potom musíte znova reštartovať webový server:

znovu načítať sudo službu apache2

Modul Apache môžete povoliť a zakázať pomocou nasledujúcich príkazov (v tomto poradí):

a2enmod
a2dismod

Fungujú rovnako ako vyššie uvedené príkazy a2ensite a a2dissite. Po zapnutí alebo vypnutí modulu je potrebné reštartovať webový server.

Záver

Tento článok sa týka iba základné nastavenia Súbory webového servera Apache. Sada funkcií Apache sa dá výrazne rozšíriť pomocou modulov.

Ak potrebuješ Ďalšie informácie o webovom serveri kontaktujte

Apache je najpopulárnejší bezplatný webový server. K roku 2016 sa používa na 33 % všetkých internetových stránok, čo je približne 304 miliárd stránok. Tento webový server bol vyvinutý už v roku 1995 ako náhrada za populárny server NCSA a vyriešil mnohé z jeho problémov. Hovorí sa, že jeho meno pochádza z nejednotného názvu, pretože opravoval chyby NCSA. Teraz je to multiplatformový program, ktorý podporuje Windows, Linux a MacOS a poskytuje dostatočnú flexibilitu, prispôsobenie a funkčnosť. Program má modulárnu štruktúru, ktorá umožňuje takmer neobmedzene rozširovať jeho funkčnosť pomocou modulov.

Apache môžete nainštalovať na Linux pomocou niekoľkých príkazov, ale program poskytuje veľmi veľké množstvo nastavení, ktoré je možné zmeniť, ako aj moduly, ktoré, keď sú povolené, budú fungovať lepšie. Tento článok sa bude zaoberať inštaláciou a konfiguráciou Apache, ako hlavný systém budeme používať Ubuntu, ale tieto kroky môžete zopakovať v akejkoľvek inej distribúcii. Pozrieme sa nielen na inštaláciu samotného programu, ale aj na jeho konfiguráciu, nastavenie virtuálnych hostiteľov Apache, ako aj na najužitočnejšie moduly.

Zapnuté tento moment, najviac novú verziu programy 2.4; preto sa zváži nastavenie Apache 2.4. Ako som už povedal, v Linuxový program nainštaluje doslova niekoľkými príkazmi. Ak chcete nainštalovať na Ubuntu, najprv aktualizujte systém na najnovšiu verziu:

aktualizácia sudo apt
$ sudo apt upgrade

Potom nainštalujte apache2:

sudo apt nainštalovať apache2

V iných distribúciách sa programový balík nazýva buď tento alebo httpd a jeho inštalácia vám nespôsobí žiadne ťažkosti.

Po dokončení inštalácie musíte pridať webový server do spustenia, aby ste ho nespúšťali ručne po zapnutí počítača:

sudo systemctl povoliť apache2

Nastavenie Apache

Časy, keď bola konfigurácia Apache uložená v jedinom súbore, sú preč. Ale je to správne: keď je všetko distribuované vo vlastných adresároch, je jednoduchšia navigácia v konfiguračných súboroch.

Všetky nastavenia sú obsiahnuté v priečinku /etc/apache/:

  • Súbor /etc/apache2/apache2.conf zodpovedný za základné nastavenia
  • /etc/apache2/conf-available/* - dodatočné nastavenia webový server
  • /etc/apache2/mods-available/*- nastavenie modulu
  • /etc/apache2/sites-available/*- nastavenia virtuálneho hostiteľa
  • /etc/apache2/ports.conf- porty, na ktorých beží apache
  • /etc/apache2/envvars

Ako ste si všimli, existujú dva priečinky pre conf, mods a site. Tieto sú dostupné a povolené. Keď povolíte modul alebo hostiteľa, z dostupného priečinka sa vytvorí symbolický odkaz na priečinok povoliť. Preto je lepšie vykonať nastavenia v dostupných priečinkoch. Vo všeobecnosti by ste sa mohli zaobísť bez týchto priečinkov, vziať všetko a uložiť všetko do jedného súboru starým spôsobom a všetko by fungovalo, ale teraz to nikto nerobí.

Najprv sa pozrime na hlavný súbor konfigurácie:

vi /eta/apache2/apache2.conf

Čas vypršal- označuje, ako dlho sa bude server snažiť pokračovať v prerušenom prenose alebo príjme dát. 160 sekúnd bude stačiť.

Keep Alive On- veľmi užitočný parameter, ktorý vám umožňuje prenášať niekoľko súborov v jednom spojení, napríklad nielen html stránku, ale aj obrázky a css súbory.

MaxKeepAliveRequests 100- maximálny počet požiadaviek na pripojenie, čím viac, tým lepšie.

KeepAliveTimeout 5- časový limit pripojenia, zvyčajne na načítanie stránky stačí 5-10 sekúnd, takže už nemusíte nastavovať, ale tiež nemusíte prerušovať pripojenie skôr, ako sa načítajú všetky dáta.

Používateľ, Skupina- používateľ a skupina, v mene ktorej bude program spustený.

Hľadanie názvu hostiteľa- zapisovať do protokolov namiesto IP adries názvy domén, je lepšie ho vypnúť, aby sa práca urýchlila.

LogLevel- úroveň zaznamenávania chýb. V predvolenom nastavení sa používa varovanie, ale aby sa denníky vypĺňali pomalšie, stačí povoliť chybu

Zahrnúť- všetky príkazy include sú zodpovedné za pripojenie konfiguračných súborov diskutovaných vyššie.

Direktívy adresára sú zodpovedné za nastavenie prístupových práv do konkrétneho adresára v súborovom systéme. Syntax tu je:


Hodnota parametra

K dispozícii sú nasledujúce základné možnosti:

AllowOverride- označuje, či sa majú súbory .htaccess čítať z tohto adresára; ide o rovnaké konfiguračné súbory a majú rovnakú syntax. Všetky – povoliť všetko, Žiadne – tieto súbory nečítať.

DocumentRoot- nastavuje, z ktorého priečinka sa majú dokumenty preberať, aby sa zobrazili používateľovi

možnosti- označuje, ktoré funkcie webového servera by mali byť povolené v tomto priečinku. Napríklad All – povoliť všetko, FollowSymLinks – sledovať symbolické odkazy, Indexy – zobraziť obsah adresára, ak neexistuje indexový súbor.

Vyžadovať- nastavuje, ktorí používatelia majú prístup do tohto adresára. Vyžadovať všetko odmietnuté - zaprieť všetkým, Vyžadovať všetko udelené - povoliť všetkým. Na explicitné určenie používateľa môžete použiť direktívu používateľa alebo skupiny namiesto všetkých.

objednať- umožňuje ovládať prístup k adresáru. Akceptuje dve hodnoty: Allow,Deny - povoliť pre všetkých okrem zadaných alebo Zakázať,Povoliť - zamietnuť pre všetkých okrem zadaných..ru.

Všetky tieto direktívy tu nie sú použité, keďže sme spokojní s predvolenými hodnotami, ale v súboroch .htaccess môžu byť veľmi užitočné.

Zostal nám súbor /etc/apache2/ports.conf:

Obsahuje iba jednu direktívu, Listen, ktorá hovorí programu, na ktorom porte má fungovať.

Posledný súbor je /etc/apache2/envvars, pravdepodobne ho nepoužijete, obsahuje premenné, ktoré sa dajú použiť v iných konfiguračných súboroch.

Nastavenie servera Apache cez htaccess

Súbory .htaccess vám umožňujú nakonfigurovať váš webový server Ubuntu tak, aby sa správal v špecifickom adresári. Všetky inštrukcie uvedené v tomto súbore sa vykonajú, ako keby boli zabalené do značky ak boli v hlavnom súbore.

Je dôležité poznamenať, že na to, aby server mohol čítať pokyny z .htaccess, nastavenia pre tento priečinok v hlavnom alebo virtuálnom hostiteľskom súbore nesmú obsahovať AllowOverride Žiadne aby všetky potrebné nastavenia fungovali AllowOverride All.

V opačnom prípade je tu možné vykonať akúkoľvek konfiguráciu servera Apache, od povolenia modulov až po jednoduchú zmenu prístupu k priečinkom. Keďže sme už zvážili všetky parametre, uveďme len niekoľko príkladov:

Objednať Odmietnuť, povoliť
Odmietnuť od všetkých

Zakazuje všetkým prístup k tomuto priečinku, čo je dôležité pre konfiguračné priečinky. Najčastejšie sa .htaccess používa na prácu s modulom mod_rewrite, ktorý vám umožňuje meniť požiadavky za behu:

RewriteEngine zapnutý
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Ale toto je veľmi široká téma a presahuje rámec tohto článku.

Konfigurácia modulov Apache

Ako som už povedal, Apache - modulárny program, jeho funkčnosť je možné rozširovať pomocou modulov. Všetky dostupné moduly zavádzača a konfiguračné súbory modulov sa nachádzajú v priečinku /etc/apache/mods-available. A aktivované v /etc/apache/mods-enable.

Nemusíte však analyzovať obsah týchto priečinkov. Konfigurácia Apache 2.4 pridaním modulov sa vykonáva pomocou špeciálnych príkazov. Všetky spustené moduly môžete zobraziť príkazom:

Modul môžete povoliť príkazom:

sudo a2enmod názov_modulu

A zakázať:

sudo a2dismod názov_modulu

Po povolení alebo zakázaní modulov musíte reštartovať apache:

sudo systemctl reštartujte apache2

Po vykonaní jedného z týchto príkazov sa v adresári mods-available vytvorí alebo odstráni symbolický odkaz na súbor modulu s rozšírením load. Môžete sa pozrieť na obsah tohto súboru, je tam len jeden riadok. Napríklad:

vi /etc/apache2/mods-available/deflate.load

To znamená, že modul možno aktivovať jednoducho pridaním tohto riadku do súboru apache2.conf. Ale je zvykom robiť práve to, aby nedošlo k zámene.

Nastavenia modulu sa nachádzajú v rovnakom priečinku, len v súbore s príponou .conf namiesto load. Pozrime sa napríklad na nastavenia rovnakého modulu pre kompresiu deflacie:

vi /etc/apache2/mods-available/deflate.conf

Súbory v priečinku conf-available sú rovnaké moduly, len sa inštalujú oddelene od apache, môžu to byť konfiguračné súbory na aktiváciu modulu php alebo akéhokoľvek iného programovacieho jazyka. Všetko tu funguje úplne rovnako, len príkazy na zapnutie a vypnutie týchto modulov sa mierne líšia:

a2enconf názov_modulu

názov modulu a2disconf

Ako ste videli, aktivácia modulov je veľmi jednoduchá. Povoľme niekoľko potrebných, ale predvolene nepovolených modulov:

sudo a2enmod vyprší
$ sudo a2enmod hlavičky
$ sudo a2enmod prepísať
$ sudo a2enmod ssl

Moduly expirácií a hlavičiek znižujú zaťaženie servera. Ak sa dokument od poslednej požiadavky nezmenil, vrátia hlavičku Neupravené. Modul expiries umožňuje nastaviť čas, počas ktorého má prehliadač ukladať prijatý dokument do vyrovnávacej pamäte. Rewrite vám umožňuje meniť požadované adresy za behu, čo je veľmi užitočné pri vytváraní CNC odkazov atď. A posledný na umožnenie podpory pre šifrovanie SSL. Po dokončení nastavení nezabudnite reštartovať apache2.

Konfigurácia virtuálnych hostiteľov Apache

Nebolo by úplne vhodné, keby na jednom fyzickom počítači mohla byť hosťovaná iba jedna webová stránka. Apache môže podporovať stovky stránok na jednom počítači a poskytovať správny obsah pre každý z nich. Na to slúžia virtuálni hostitelia. Server určí, na ktorú doménu požiadavka prichádza a obslúži požadovaný obsah z priečinka tejto domény.

Nastavenia hostiteľov Apache sa nachádzajú v priečinku /etc/apache2/hosts-available/. Ak chcete vytvoriť nového hostiteľa, stačí vytvoriť súbor s ľubovoľným názvom (je lepšie skončiť názvom hostiteľa) a vyplniť ho potrebnými údajmi. Všetky tieto parametre musíte zabaliť do smernice VirtualHost. Okrem tu diskutovaných parametrov sa použijú tieto parametre:

  • Názov servera- názov primárnej domény
  • ServerAlias- dodatočný názov, pod ktorým bude stránka prístupná
  • ServerAdmin - Email správca
  • DocumentRoot- priečinok s dokumentmi pre túto doménu

Napríklad:

vi /etc/apache2/sites-available/test.site.conf