Konfiguracijska datoteka Apache. Konfiguracijska datoteka Apache. Nadzorni ukazi Apache

Konfiguracijske datoteke Apache

V večini paketov se glavna konfiguracijska datoteka Apache imenuje httpd.conf. Odvisno od različice sistema se lahko ta datoteka nahaja v različnih imenikih, vendar njena oblika ostane nespremenjena. V sistemih Caldera in SuSE se datoteka httpd.conf nahaja v imeniku /etc/httpd; v Debianu in Slackwareu se nahaja v /etc/apache (Slackware ponuja vzorčno datoteko /etc/apache/httpd.conf.default; vse, kar morate storiti, da bo strežnik deloval, je preimenovati ta datoteka in vanj vnesite potrebne spremembe); Pri Red Hat in TurboLinux se datoteka httpd.conf nahaja v imeniku /etc/httpd/conf/.

Kot običajno vrstice v datoteki httpd.conf, ki se začnejo s simbolom #, vsebujejo komentarje. Možnosti, ki definirajo konfiguracijo strežnika, so navedene na naslednji način:

Direktiva Pomen

Direktiva je ime, ki ima lahko neko vrednost, povezano z njim. Vrednost je lahko številka, ime datoteke ali poljuben niz znakov. Nekatere direktive vam omogočajo, da določite več podmožnosti. V tem primeru je ime direktive v oglatih oklepajih. Spodaj je podan primer take direktive.

Možnosti FollowSymLinks

AllowOverride Brez

Zadnja vrstica vsebuje ime iste direktive, ki je navedena na začetku, vendar ji ni podana vrednost. Pred imenom direktive, ki konča blok, je poševnica.

V nekaterih primerih se za konfiguracijo Apache uporabljajo dodatne konfiguracijske datoteke, navedene spodaj. Običajno so postavljeni v isti imenik kot httpd.conf.

Access.conf. Povezava do te datoteke je oblikovana z uporabo direktive AccessConfig in je v datoteki httpd.conf. Datoteka access.conf najpogosteje vsebuje direktive , ki določajo značilnosti dostopa do imenikov, navedenih v njih. Trenutno je ta datoteka običajno prazna, včasih pa je vrednost AccessConfig nastavljena na /dev/null, kar onemogoči uporabo access.conf.

Mime.vrste. Spletni strežnik uporablja standard MIME (Multipurpose Internet Mail Extensions), da spletnemu brskalniku pove, kako naj obdeluje podatke. Tip MIME text/plain na primer pomeni, da so podatki golo besedilo, medtem ko image/jpeg določa grafične podatke v formatu JPEG (Joint Photographic Experts Group). Datoteka mime.types vsebuje informacije o preslikavi med vrstami MIME in datotečnimi končnicami. Imena datotek, ki se končajo na .txt in .asc, so na primer povezana z vrsto MIME text/plain . Če ta preslikava ni pravilno nastavljena, bo imel spletni brskalnik težave pri obdelavi nekaterih vrst datotek. Datoteka, ki je priložena kot del paketa, omogoča obdelavo skoraj vseh vrst podatkov, ki jih je mogoče postaviti na spletno stran. Če morate uporabiti redke vrste, boste morali tej datoteki dodati nove vnose.

Čarovnija. Ta datoteka omogoča tudi definiranje preslikav med vrstami MIME in podatki. Pri analizi informacij lahko odkrijete določene znake ene ali druge vrste. Na primer, številne datoteke vsebujejo posebne ključe - "čarobna" zaporedja bajtov. Ta zaporedja, pretvorjena v pogled besedila, so navedeni v čarobni datoteki. Če niste natančno preučili formata te datoteke, je ni priporočljivo spreminjati. V tem poglavju ne bomo obravnavali strukture čarobne datoteke.

Iz knjige Linux za uporabnike avtor Kostromin Viktor Aleksejevič

8.2.2. Osnovne konfiguracijske datoteke Če ste prebrali Razdel. 8.2.1 (ali če ste pogledali datoteko /etc/inittab), potem si predstavljajte, da v običajni situaciji postopek inicializacije poleg zagona procesov getty izvede še 2 glavni dejanji: zažene skript rc.sysinit iz /etc imenik /rc.d; zažene skript rc

Iz knjige DIY Linux strežnik avtor

12.5. SSL in Apache 12.5.1. Namestitev SSL SSL (Secure Sockets Layer) je metoda šifriranja, ki jo je razvil Netscape za zagotavljanje internetne varnosti. Ta metoda podpira več načinov šifriranja in zagotavlja preverjanje pristnosti na ravni odjemalca in na ravni odjemalca.

Iz knjige Asterisk™: Prihodnost telefonije, druga izdaja avtor Meggelen Jim Wang

Iz knjige Linux Network Tools avtor Smith Roderick W.

Iz knjige Linux: Celoten vodnik avtor Kolisničenko Denis Nikolajevič

Konfiguracijske datoteke DHCP Večina distribucij Linux paketi vsebuje strežnik DHCP, ki ga je razvil Internet Software Consortium (http://www.isc.org/products/DHCP/). Internet Software Consortium (ISC) je konec leta 2000 izdal DHCP različico 3.0, vendar je v začetku leta 2002 veliko Različice Linuxaše prišel z stara različica 2.0

Iz knjige Ubuntu 10. Hitri vodnik avtor Kolisničenko D. N.

Iz knjige Jezik C - vodnik za začetnike avtorja Prata Steven

Konfiguracijske datoteke Exima Glavna konfiguracijska datoteka Exima se imenuje exim.conf. Običajno se nahaja v imeniku /etc. Ta datoteka vsebuje vnose v naslednji obliki: možnost = vrednost Kot običajno se vrstice s komentarji začnejo z znakom #.

Iz knjige Linux skozi oči hekerja avtor Flenov Mihail Evgenijevič

Iz knjige Razvoj jedra Linuxa avtorja Love Robert

16.1. Namestitev Apachea Odvisno od distribucije se lahko paket, iz katerega je nameščen spletni strežnik Apache, imenuje apache ali httpd, paket dokumentacije pa se lahko imenuje apache-docs ali httpd-manual. V prvem primeru boste morali namestiti paket apache-common, ki vsebuje

Iz avtorjeve knjige

16.2. Nastavitev Apache. Konfiguracijske datoteke Po namestitvi Apache morate urediti naslednje datoteke:? /etc/httpd/conf/httpd.conf - glavna konfiguracijska datoteka. Za Apache 2.x. ta datoteka se lahko imenuje tudi httpd2.conf;? /etc/logrotate.d/apache ali /etc/logrotate.d/httpd (v različici 2.0) - rotacijska datoteka

Iz avtorjeve knjige

16.10. SSL in Apache 16.10.1. Namestitev SSL SSL (Secure Sockets Layer) je metoda šifriranja, ki jo je razvil Netscape za zagotavljanje varnega prenosa podatkov. Ta metoda podpira več načinov šifriranja in zagotavlja avtentikacijo na ravni odjemalca in odjemalca.

Iz avtorjeve knjige

19.2. Seznam konfiguracijskih datotek zagonskega nalagalnika 19.1 prikazuje glavno konfiguracijsko datoteko GRUB2 - /boot/grub/grub.cfg. Ni ga mogoče urejati ročno. Če ga želite ustvariti, uporabite pripomoček /usr/sbm/grub-mkconfig, ki ustvari to konfiguracijsko datoteko na na podlagi predlog,

Iz avtorjeve knjige

26.2.3. Konfiguracijske datoteke strežnika Konfiguracijske datoteke strežnika se nahajajo v imeniku /etc/apache2. Glavna konfiguracijska datoteka se imenuje apache2.conf. Njegove privzete nastavitve bodo ustrezale večini uporabnikov. Če nameravate spletni strežnik uporabljati ne le lokalno (npr

Iz avtorjeve knjige

Izvorne datoteke in izvedljive datoteke Naš čudovit program je kljub svoji jedrnatosti in preprostosti popolnoma nesmiselna zbirka simbolov za računalnik, saj »ne razume« direktiv, kot sta #include ali printf. On samo razume poseben jezik,

Iz avtorjeve knjige

5.3.1. Konfiguracijske datoteke Vse konfiguracijske datoteke protokola SSH se nahajajo v imeniku /etc/ssh. Tukaj si lahko ogledate naslednji seznam:? Konfiguracijska datoteka strežnika SSH - sshd_config;? Konfiguracijska datoteka odjemalca SSH - ssh_config;? ključne datoteke za različne

Iz avtorjeve knjige

Možnosti konfiguracije odpravljanja napak jedra Obstaja več možnosti konfiguracije, ki pomagajo pri odpravljanju napak in testiranju kode jedra, ki so omogočene med prevajanjem. Te možnosti so na voljo v elementu Kernel hacking v meniju urejevalnika konfiguracije jedra. Vsi ti

Apache je spletni strežnik.

Konfiguracijske datoteke

Privzeto so vse konfiguracijske datoteke shranjene v mapi "conf".

httpd.conf je glavna konfiguracijska datoteka strežnik apache. Spremembe v tej datoteki zahtevajo ponovni zagon strežnika apache, da začnejo veljati.

V mapi "extra" (znotraj mape "conf") so dodatne konfiguracijske datoteke. Po potrebi jih je mogoče povezati znotraj glavne konfiguracijske datoteke.

Sintaksa konfiguracijskih datotek

V eni vrstici mora biti samo ena direktiva. Znak \ (poševnica nazaj) lahko uporabite kot zadnji znak v vrstici, ki označuje, da se direktiva nadaljuje v naslednji vrstici. Za znakom \ ne sme biti nobenih drugih presledkov razen znaka za konec vrstice.

Direktiva in njeni argumenti so ločeni s presledkom. Tudi sami argumenti so ločeni s presledki. Če argument vsebuje presledke, mora biti v narekovajih.

Direktive ne razlikujejo med velikimi in malimi črkami, argumenti pa, nasprotno, razlikujejo med velikimi in malimi črkami.

Vrstica, ki se začne z znakom # (heš), se šteje za komentar in se prezre. Komentarja ni mogoče postaviti v isto vrstico kot direktiva.

Presledki, ki so vstavljeni pred direktivo, so prezrti, tako da jih je mogoče uporabiti za vstavljanje vdolbin za lažje branje kode. Prazne vrstice so tudi prezrti.

Moduli

Modul je preprosto vtičnična datoteka, ki vam omogoča dodajanje dodatnih funkcij. Vsi vtičniki se privzeto nahajajo v mapi "moduli".

Moduli vam omogočajo uporabo direktiv, ki niso vključene v jedro spletnega strežnika Apache.

.htaccess

Htaccess je dodatna konfiguracijska datoteka za spletni strežnik Apache in podobne strežnike. Omogoča vam konfiguracijo funkcionalnosti za posamezne imenike, ne da bi spremenili glavno konfiguracijsko datoteko, saj je dostop do nje največkrat prepovedan.

Datoteka .htaccess vpliva samo na imenik, v katerem se nahaja, in njegove podrejene imenike. Datoteko .htaccess lahko postavite v kateri koli imenik. Direktive te datoteke vplivajo na vse datoteke v trenutnem imeniku in vse njegove podimenike (razen če te direktive preglasijo direktive osnovnih datotek .htaccess).

Spremembe v datoteki .htaccess ne zahtevajo ponovnega zagona strežnika.

Če je bila v datoteki .htaccess storjena kakšna napaka, na primer direktiva ali vrednost direktive je bila napačno zapisana, bo strežnik vrnil napako: Napaka 500.

Datoteka .htaccess uporablja isto sintakso kot konfiguracijske datoteke Apache.

Ogledate si lahko, katere direktive se lahko nahajajo v datoteki .htaccess v imeniku direktiv v »Kontekstu« določene direktive.

Koncepti: konfiguracija, direktive. Konfiguracijske datoteke, direktive. Osnovna navodila za konfiguracijo. Strežniški procesi. Nadzor dostopa do imenikov in datotek.

Konfiguracija (latinsko configuratio - medsebojna ureditev) je posebna logična in metodološka tehnika, miselna tehnika za sintezo znanja različnih predmetov, različnih idej o istem predmetu.

Direktive, g. (iz latinskega directio - smer). Splošna navodila, ki jih višji organ daje podrejenemu (strežnik za delovna postaja itd.) .

Konfiguracijska datoteka je datoteka z dokaj preprosto obliko. Vsaka vrstica predstavlja ključno besedo in enega ali več argumentov. Zaradi poenostavitve večina vrstic vsebuje samo en argument. Vse, kar sledi simbolu #, je komentar in se ne upošteva.

Apache je konfiguriran s spreminjanjem servisnih datotek v imeniku /etc/httpd/conf/. Glavna konfiguracijska datoteka spletnega strežnika je httpd.conf. Konfiguracijske direktive lahko postavite v različne datoteke, ki vključujejo file_name.conf v glavni konstrukciji Include.

Če je lokacija datoteke ali imenika implicitno podana v konfiguracijski datoteki (eksplicitna lokacija se začne v korenu datotečnega sistema – z znakom "/"), Apache uporabi imenik, naveden v direktivi ServerRoot, da določi dejansko lokacijo tarča.

Opis modulov Apache in konfiguracijskih navodil

Direktive je mogoče uporabiti na naslednjih ravneh:

Raven konfiguracije strežnika – direktivo je mogoče uporabiti samo v glavni konfiguracijski datoteki.

Stopnja V - direktivo je mogoče različno uporabiti za različne virtualne gostitelje.

D stopnja - za kateri koli imenik lahko nastavite svoje nastavitve z uporabo direktive te ravni.

Raven H datotek .htaccess – direktivo je dovoljeno uporabljati v datotekah .htaccess na mestih, kjer to dovoljuje strežnik.

Na kateri koli točki uporaba parametra imena datoteke v direktivi določa absolutno (ki se začne z "/") ali relativno pot do datoteke iz imenika ServerRoot.

CORE - jedro spletnega strežnika (jedrni modul Apache)

Ime datoteke AccessConfig

Nastavi lokacijo konfiguracijske datoteke. Privzeta konfiguracijska datoteka sistema je conf/access.conf; Če želite preklicati branje te datoteke, priporočamo, da nastavite /dev/null.

AccessFileName datoteka datoteka ...

Privzeto nastavi imena datotek za dostop, ki se uporabljajo za konfiguracijo sprotne konfiguracije - .htaccess.

AddModule modul module ... [A]

Aktivira dinamično naložen modul, dobavljen kot ločena knjižnična datoteka.

AddModule modul modul ...

Aktivira dinamično naložen modul, dobavljen kot ločena knjižnična datoteka ali preveden znotraj glavnega modula httpd.

AllowOverride parameter param ...

Nastavi pravila, po katerih Apache uporablja direktive v notranjih datotekah .htaccess;

Brez - ignorira;

Vse – uporablja vse direktive;

Options – omogoča uporabo Options in XBitHack;

Indeksi - direktive za upravljanje indeksiranja imenikov;

FileInfo - direktive za upravljanje tipov datotek in njihovih upravljavcev;

AuthConfig - direktive za dostop do imenikov Auth*;

Omejitev - direktive dovoli/zavrni/naroči.

Področje AuthName

Vrsta AuthType

Uporablja se za določitev metode za zahtevanje in prenos uporabniškega imena in gesla za dostop do imenikov spletnih mest. Najpogosteje uporabljajo Basic, manj pogosto - Digest in druge.

Naslov BindAddress [A]

Podaja naslov, na katerem bo Apache sprejemal povezave. Uporabite lahko ime gostitelja, naslov IP ali *.

ClearModuleList[A]

Direktiva počisti seznam naloženih modulov. Po tej direktivi morate za delo s potrebnimi moduli uporabiti direktive AddModule.

ContentDigest vklopljen|izklopljen

Omogoči ali onemogoči posredovanje zgoščenih podatkov MD5. Izračuna se za vse poslane strani in se ne shrani v predpomnilnik.

Ime imenika CoreDumpDirectory [A]

Usmeri Apache na imenik, v katerem bodo shranjene datoteke izpisa pomnilnika (jedro), ustvarjene v primeru nujnih napak.

DefaultType mimetype

Nastavi vrsto MIME, poslano odjemalcem, če Apache ne more določiti vrste prek datoteke mime.types ali direktiv AddType. Privzeto je besedilo/navadno.

...

Združuje skupino direktiv, ki določajo vedenje Apache pri dostopu do dokumentov, ki se nahajajo v danem imeniku. Dovoljena je uporaba imenskih mask - simbolov *, ? po pravilih lupine. Če je uporabljena maska, se pred imenom postavi tilda ~.

...

Definira skupino imenikov, določenih z regularnim izrazom, in nastavi pravila za Apache za delo z imeniki in datotekami v tej skupini.

Ime imenika DocumentRoot

Strežniku nakaže lokacijo korena drevesa imenikov, pod katerim je podatkovna struktura spletnega strežnika.

Ime datoteke ErrorDocument|niz|URL

V primeru napake preusmeri na navedene strani. Na nastalo situacijo lahko nastavite tudi komentar, ki naj se začne z enim narekovajem. primer:

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

ErrorDocument 404 /cgi-bin/bad_urls.pl

ErrorDocument 401 /subscription_info.html

ErrorDocument 403 "Danes vam žal ne morem dovoliti dostopa"

Ime datoteke ErrorLog

Ime datoteke dnevnika napak. Če se vrstica parametra začne z (/), mora biti pot do datoteke podana iz ServerRoot; če se začne z (|), se sporočila o napakah posredujejo podanemu ukazu pri standardnem vnosu. Zlasti na ta način lahko na primer implementirate shranjevanje dnevnika neposredno v SQL DBMS ali jih shranite takoj stisnjene, tako da prenesete na primer v gzip. Apache različice 1.3 in novejše privzeto izpišejo sporočila v syslog, če sistem podpira to funkcijo; vendar je to mogoče onemogočiti z uporabo syslog:facility.

...

Nadzor dostopa do datotek. Oddelki se obdelajo v enakem vrstnem redu kot v konfiguracijski datoteki, potem ko so bili razdelki direktive prebrani in .htaccess, vendar preden so prebrani razdelki imenika . Argument mora vsebovati ime datoteke ali masko, ki vsebuje "?" - poljuben znak, "*" - poljuben niz. Z dodatnim simbolom ~ je mogoče uporabiti razširjene rege. izrazi (glejte razdelek REGULAR EXPRESSIONS v grep(1)) Na primer: bodo ustrezale tistim, ki se običajno uporabljajo na internetu grafične datoteke.

...

Enako kot , vendar uporablja regularne izraze.

Nanaša se samo na zagon Apache in razcepitev procesov v okolju in s pravicami, ki ustrezajo danemu imenu.

HostNameLookups vklopljeno|izklopljeno|dvojno

Nadzoruje možnost določanja imena gostitelja obiskovalca z uporabo povratnega DNS-ja. Deluje počasi in je privzeto onemogočen. Double pomeni, da je treba ime gostitelja dodatno preveriti, da se zagotovi, da se ime ujema z naslovom IP gostitelja, ki je poslal zahtevo.

IdentityCheck vklopljen|izklopljen

Omogoči preverjanje pristnosti RFC1413. Omogočanje funkcije bo znatno podaljšalo čas dostopa do strežnika.

...

in izvajati le, če ta parameter definiran v notranjih strukturah Apache. Znak [!] pred parametrom pomeni, da bo blok direktive prebran le, če parameter ni definiran.

...

Označuje, da so direktive postavljene znotraj bloka, ki ga tvori par direktiv in izvajati le, če ta modul sestavljen v Apache. Znak [!] pred modulom pomeni, da bo blok direktive prebran le, če parameter ni definiran.

Vključi ime datoteke [A]

Direktiva vam omogoča vključitev konfiguracijskih datotek v konfiguracijo strežnika.

KeepAlive vklopljen|izklopljen [A]

Odjemalcu omogoča zaporedno zahtevanje več datotek brez prekinitve povezave TCP.

KeepAliveTimeout s [A]

Podaja čas (v sekundah), preden bo povezava TCP zaprta, ko bo Apache čakal na naslednjo zahtevo odjemalca.

...

Omogoča vam, da določite, kateri metodi HTTP (na primer GET ali POST) pripada vsebina, ki je v njej. ... ukazi za omejitev dostopa.

Uporabite lahko naslednje metode: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

Vrata poslušanja [A]

Prisili Apache, da posluša podane naslove in vrata. Na primer, če želite strežnik prisiliti k poslušanju na vratih 80 in 8000, uporabite:

Če želite, da Apache deluje na različnih vmesnikih z določenimi številkami vrat, uporabite:

Poslušaj 192.170.2.1:80

Poslušaj 192.170.2.5:8000

Dolžina ListenBacklog [A]

Največja dolžina čakalne vrste za obdelavo povezave.

...

Podrobnosti v priročniku za apache :)

...

Podrobnosti v priročniku za apache

Ime datoteke zaklepne datoteke [A]

Direktiva nastavi pot do zaklepne datoteke.

LogLevel emerg|opozorilo|kritik|napaka|opozorilo|obvestilo|informacije|debug

Nastavi raven informacijske vsebine protokola (dnevniška datoteka delovanja strežnika). Priporočena uporaba: vsaj raven krit.

Največje število strank [A]

Direktiva določa omejitev števila hkratnih zahtev do strežnika. Pravzaprav to število ne more preseči števila podrejenih procesov strežnika, ki privzeto ne sme biti večje od 256. Če želite popraviti situacijo, uredite HARD_SERVER_LIMIT v httpd.h in ga prevedite.

MaxKeepAliveRequest count [A]

Odjemalcu omogoča, da zaporedno zahteva določeno število datotek, ne da bi prekinil povezavo TCP, če je KeepAlive omogočen. Če je parameter nastavljen na 0, bo Apache zaprl povezavo samo na podlagi parametra KeepAliveTimeout.

MaxRequestsPerChild count [A]

Direktiva določa omejitev števila zahtev, ki jih lahko obravnava posamezni podrejeni proces. Če je MaxRequestsPerChild nastavljen na 0, je število zahtev neomejeno.

MaxSpareServers count [A]

Direktiva nastavi želeno največje število neaktivnih strežniških procesov. Direktiva je neuporabna, če se uporablja različica Apache za Microsoft Windows.

MinSpareServers count [A]

Direktiva nastavi želeno najmanjše število neaktivnih strežniških procesov. Direktiva je neuporabna, če se uporablja različica Apache za Microsoft Windows.

NameVirtualHost vrata [A]

Označuje, da morajo biti zahteve za to ime vrat ločene z imenom gostitelja, do katerega se dostopa (glava HTTP "Host:"). Omogoča definiranje več virtualnih gostiteljev za en naslov IP.

Možnosti param param ...

Določa nastavitve dejanj Apache za podano vsebino. Vse možne nastavitve so podrobno opisane v priročniku za apache. Pogosto uporabljeno: Indeksi - vklopi prikaz vsebine imenika, če v njem ni najdene indeksne datoteke (direktiva DirectoryIndex); ExecCGI - omogoča namestitev izvedljivih datotek (cgi, perl skripte) v ta imenik; Vključuje - omogoča možnost postavljanja datotek v imenik SSI. Vsako nastavitev podpira ustrezen modul, ki jo uporablja, in morda ne bo delovala, če zahtevani modul ni naložen. Vsaka direktiva Možnosti se šteje kot dodatek k že znanim Možnostim, definiranim za nadrejene imenike. Vsaki nastavitvi je lahko predpona + ali -, da jo omogočite ali onemogočite v danem kontekstu.

Ime datoteke PidFile [A]

Direktiva nastavi ime datoteke, v katero strežnik zapiše identifikator procesa.

Določa vrata Apache - številka od 0 do 65535 (upoštevajte, da lahko nekatera vrata uporabljajo drugi protokoli, glejte /etc/servises). Standardna vrata za protokol http so 80.

zahtevaj userid|groupid|valid-user|file-owner|group-owner [A]

Določa, kateri uporabniki imajo dostop do imenika.

Zahtevaj ID uporabnika – samo ti uporabniki imajo dostop

Zahtevaj skupino ime-skupine [ime-skupine] - vsi uporabniki teh skupin

Zahtevaj veljavnega uporabnika – vsi veljavni uporabniki.

Ime datoteke ResourceConfig [A]

Strežnik prebere nadaljnje direktive iz te datoteke, potem ko prebere httpd.conf. Ime datoteke je nastavljeno glede na ServerRoot. Lahko se onemogoči: ResourceConfig /dev/null

RLimitCPU max|sec[ max|sec] [A]

RLimitMEM max|bajt[ max|bajt] [A]

RLimitNPROC max|count[ max|count] [A]

Zadovolji vse|vse [A]

Določa pravilnik dostopa, če se hkrati uporablja Dovoli in Zahtevaj. Uporablja se, ko je dostop do območja omejen z imenom/geslom in naslovom stranke. V tem primeru privzeto (»vse«) zahteva, da se stranka preveri na naslovu in vnese pravilno uporabniško ime in geslo. V primeru parametra "kateri koli" bo odjemalec pridobil dostop, če je vnesel pravilno ime in geslo ali prestal omejitev gostitelja. Uporablja se lahko za omejitev dostopa prek gesla, vendar dovoli odjemalce z določenega naslova brez gesla.

Ime datoteke ScoreBoardFile [A]

Direktiva je potrebna za določitev imena datoteke, ki jo uporablja strežnik za komunikacijo med podrejenimi in matičnimi procesi. Ali je ta datoteka potrebna, lahko ugotovite tako, da zaženete Apache in preverite, ali ustvari datoteko z danim imenom. Če da, se morate prepričati, da ga uporablja samo ena kopija Apache.

SendBufferSize bajtov [A]

Nastavi velikost medpomnilnika TCP.

E-pošta skrbnika strežnika

Nastavi e-poštni naslov, ki ga strežnik prikaže odjemalcu v sporočilih o napakah.

ServerAlias ​​ime gostitelja

Podaja alternativno ime navideznega gostitelja.

ServerName ime gostitelja

Direktiva nastavi ime strežnika; uporabljen pri ustvarjanju povezave. Če ime ni podano, ga bo strežnik poskušal pridobiti s svojega naslova IP.

Pot do strežnika

Direktiva nastavi podedovano ime poti za gostitelja.

ServerRoot pot [A]

Nastavi imenik, v katerem živi strežnik. Običajno vsebuje podimenika conf/ in logs/. Poti za druge konfiguracijske datoteke so zgrajene glede na ta imenik.

Podpis strežnika na|ff|pošti

Konfigurira vrstico na dnu dokumenta, ki ga ustvari strežnik. Privzeto onemogočeno, Vklopljeno - prikazuje različico strežnika in ime strežnika navideznega gostitelja, E-pošta doda mailto: povezavo do skrbnika strežnika

ServerTokens Minimal|OS|Full [A]

Nadzoruje glavo, ki jo strežnik pošlje odjemalcu in opisuje strežniški OS in prevedene module.

ServerType standalone|inetd [A]

Določa, kako sistem zažene strežnik. inetd - zažene se iz sistemskega procesa inetd. samostojen - kot demonski proces.

Število začetnih strežnikov [A]

Nastavi število podrejenih procesov, ustvarjenih ob zagonu. Število se tako ali tako dinamično spreminja glede na obremenitev, običajno ni razloga za spreminjanje te nastavitve.

Čas, ki ga bo Apache čakal: prejemanje zahteve GET, prejemanje paketov TCP pri zahtevah POST in PUT, premor med ACK-ji pri prenosu paketov TCP v odgovorih.

UseCanonicalName on|off

Povzroči, da Apache ustvari imena strani, ki jih ustvari z uporabo vrednosti SERVER_NAME ​​s SERVER_PORT.

Uporabniško uporabniško ime

Nastavi ID uporabnika, s katerim bo strežnik odgovarjal na zahteve. Če želite uporabiti direktivo, mora strežnik delovati kot root.

...[A]

Direktive, postavljene znotraj bloka, ki ga tvori par direktiv in Določim konfiguracijo danega virtualnega gostitelja. Vsak virtualni gostitelj mora imeti edinstven naslov IP, številko vrat ali ime gostitelja. To direktivo je smiselno uporabiti, če ima na primer strežnik omrežni vmesnik za notranje omrežje in drug vmesnik za zunanje omrežje.

mod_env - nastavi in ​​posreduje spremenljivke za obdelavo v datotekah CGI/SSI

PassEnv spremenljivka[ spremenljivka] ...

Posreduje spremenljivko okolja (npr. HOME) upravljalcem.

Vrednost spremenljivke SetEnv

Zapiše podano vrednost v podano spremenljivko okolja.

Spremenljivka UnsetEnv[ spremenljivka] ...

Ponastavi spremenljivko, zaradi česar je ni mogoče prebrati iz upravljavcev.

mod_setenvif - uporablja pogojne izraze za nastavitev spremenljivk okolja

BrowserMatch regex env-variable[=value] ] ... [A]

Uporablja preteklost vsakdanje izražanje kot filter za glavo User-Agent iz brskalnika odjemalca. Ob uspešnem zadetku inicializira spremenljivko z dano vrednostjo. Če je podano samo ime spremenljivke, se inicializira s številko 1. Če je podana spremenljivka s predhodnim "!" - spremenljivka je ponastavljena.

BrowserMatchNoCase regex env-variable[=value] ] ... [A]

Deluje podobno kot BrowserMatch, saj dopušča razlike med velikimi in malimi črkami med posredovano vrednostjo User-Agent in regularnim izrazom, uporabljenim kot filter.

SetEnvIf atribut regex env-variable[=value] ] ... [A]

Dejanje, ki ga izvaja direktiva, je popolnoma podobno BrowserMatchu, vendar je namesto User-Agent mogoče uporabiti katero koli drugo glavo: Remote_Host; Remote_Addr; Remote_User; Request_Method; Request_URI; Napotitelj

SetEnvIfNoCase atribut regex env-variable[=value] ] ... [A]

Razlika od SetEnvIf je enaka kot pri BrowserMatchNoCase od BrowserMatch zgoraj.

mod_unique_id - generiranje edinstvene spremenljivke okolja UNIQUE_ID

Spremenljivka se ustvari naključno iz naslova IP strežnika, številke tekočega procesa, časovnih žigov in dodatnih notranjih števcev.

Spremenljivka je namenjena uporabi v sestavljenih dokumentih, ko isti zahtevi ni mogoče slediti z drugimi metodami.

mod_mime - zasnovan za določanje vrste mime datoteke pri prenosu odjemalcu

AddCharset razširitev nabora znakov ...

Za podane datotečne pripone sporoča Apacheju, naj posreduje ta nabor znakov, ko odgovarja odjemalcu.

AddEncoding razširitev MIME-enc ...

Za podane datotečne pripone sporoči Apacheju, naj prenese datoteko z uporabo želenega kodiranja MIME.

Razširitev imena obdelovalca AddHandler ...

Pove Apacheju, da je treba datoteke z danimi končnicami posredovati določenemu upravljavcu. Upravljavec je lahko notranji (cgi-script in drugi) ali zunanji, opisan prej v direktivi Action.

AddLanguage MIME-lang razširitev ...

Vzpostavi razmerje med končnicami datotek in jezikovno kodo, poslano v odgovoru.

AddType razširitev tipa MIME ...

Posodobi tabelo vrst MIME z novo preslikavo končnic datotek in kodo MIME za odgovor odjemalcu.

Privzeti jezik Jezik MIME

Nastavi jezik odgovora, da se vedno pošlje, če tega ni mogoče storiti na drug način.

ForceType tip MIME

Vsili odgovor z dano vrsto MIME v imeniku, ki mu je dodeljena dana direktiva.

Razširitev RemoveEncoding ...

Odstrani kodo kodiranja MIME v odgovoru za datoteke s temi končnicami.

Razširitev RemoveHandler ...

Apacheju pove, naj ne izvaja obdelovalcev za datoteke s temi končnicami.

Razširitev RemoveType ...

Ponastavi vrsto MIME v odgovoru odjemalcu na privzeto vrsto MIME

Obravnavalnik SetHandler

Vsili klic tega upravljalnika za vse datoteke, ki jim je ta direktiva dodeljena.

Ime datoteke TypesConfig [A]

Podaja lokacijo tabele preslikav vrste MIME. Privzeto - conf.mime.types

mod_mime_magic - modul, ki uporablja kompleksna pravila za določanje vrste MIME datoteke, poslane v odgovoru

Ime datoteke MimeMagicFile

Aktivira dejanje modula z uporabo navedene datoteke na danem področju dokumenta spletnega strežnika ali na vseh dokumentih, ki so na voljo Apacheju.

mod_negotiation - omogoča pogajanje o prenesenih vrstah podatkov med odjemalcem in strežnikom

CacheNegotiatedDocs [A]

Omogoča predpomnjenje dokumentov s konsistentno vsebino na vmesnih proxy strežnikih in odjemalskem računalniku.

LanguagePriority MIME-lang... [A]

Določa prednost jezikov, uporabljenih v odgovoru stranki, kadar ni mogoče natančno določiti ali najti jezika dokumenta, ki ga zahteva stranka.

mod_alias - omogoča umestitev dokumentov v imenike spletnega strežnika na bolj poljuben način

Alias ​​​​URL-path datotečni sistem-path

Pove Apacheju, da je treba dokumente, ki se nahajajo "pod" danim URL-jem, iskati "pod" dano lokacijo v datotečni sistem.

AliasMatch URL-regexp datotečni sistem pot

Določa bolj zapletena pravila za iskanje podatkov v datotečnem sistemu s primerjavo URL-jev z regularnim izrazom.

Preusmeri URL-pot URL

Kot odgovor na zahtevo pot do URL-ja in dokumenti "spodaj" vrnejo podano odzivno kodo (privzeto 302) in odjemalca preusmerijo na drug URL. Status lahko podate s številko ali simbolično: trajno (301), začasno (302), glej drugo (303), odšel (410). Pri odzivni kodi 410 morate URL odgovora izpustiti.

RedirectMatch URL-regexp URL

Podobno kot preusmeritev, uporaba podanega regularnega izraza namesto natančnega ujemanja za primerjavo posredovanega URL-ja.

RedirectTemp URL-path URL

Podobno kot preusmeritev z uporabo odzivne kode 302.

RedirectPermanent URL-path URL

Podobno kot preusmeritev z uporabo odzivne kode 301.

ScriptAlias ​​​​pot-URL-datotečni-sistem-pot

Deluje podobno kot vzdevek, vendar samodejno nastavi obravnavo cgi-handlerja za izvajanje za vse datoteke v ciljnem imeniku.

ScriptMatch URL-regexp datotečni-sistem pot

Podobno kot ScriptAlias, s preverjanjem URL-jev z uporabo regularnega izraza.

mod_rewrite - nadzoruje lokacijo dokumentov na strežniku

V kratki zbirki opisov direktiv Apache je težko opisati naloge, ki jih rešuje ta kompleksen modul. Kot vodilo za ukrepanje je najbolje uporabiti posebne razdelke priročnika za apache "Module mod_rewrite URL Rewriting Engine" in "URL Rewriting Guide". Najlažji način, da se naučite uporabljati ta modul je, da razmislite o specifičnih problemih in njihovih rešitvah z njegovo uporabo.

Obstaja en sam glavni (nadrejeni) proces, ki je odgovoren za ustvarjanje podrejenih procesov, ki poslušajo povezave in obdelujejo zahteve odjemalcev. Apache vedno poskuša ohraniti nekaj neuporabljenih strežniških procesov v rezervi, ki so pripravljeni za obdelavo dohodnih zahtev. Tako odjemalcem ni treba čakati, da se ustvarijo novi podrejeni procesi, ki bodo razcepljeni, preden je njihova zahteva servisirana. StartServers, MinSpareServers, Direktivi MaxSpareServers in MaxClients nadzirata, kako nadrejeni proces ustvari podrejene procese za servisne zahteve.

Na splošno je Apache zelo samostojen, zato za večino spletnih mest ni treba spremeniti teh direktiv iz njihovih privzetih vrednosti.

Za spletna mesta, ki morajo služiti več kot 256 hkratnim zahtevam, bo morda treba povečati MaxClients, za spletna mesta, ki se nahajajo na strežnikih z omejenim pomnilnikom, pa bo morda treba zmanjšati MaxClients, da se izognete prisili strežnika k zamenjavi pomnilnika na disk in nazaj), kar bo povzroči resne upočasnitve dela.

Izbira modulov je eden najpomembnejših korakov pri zagotavljanju dobre varnosti spletnega strežnika Apache. Voditi nas mora eno dobro pravilo: čim manj, tem bolje. Da omogočimo funkcionalnost, ki jo potrebujemo in nudimo dobra zaščita, morajo biti omogočeni naslednji moduli:

httpd_core - jedro Apache, potrebno pri vsaki namestitvi Apache.

mod_access - Nadzoruje dostop do imenikov strežnika glede na odjemalčev naslov IP ali ime gostitelja.

mod_auth – potrebno za avtorizacijo uporabnikov z besedilnimi datotekami.

mod_dir - Zahtevano za iskanje indeksnih datotek: "index.html", "default.html" itd.

mod_log_config - Zagotavlja beleženje zahtev, poslanih na strežnik. mod_mime - Vsebuje direktive, ki olajšajo organizacijo različnih vrst MIME na strežniku.

Vsi drugi moduli Apache morajo biti onemogočeni. Lahko jih mirno izklopimo, ker jih ne bomo potrebovali. Z onemogočanjem nepotrebnih modulov preprečimo, da bi napadalec izkoristil ranljivost, ki je bila najdena v enem od teh modulov.

Omeniti velja tudi, da sta najbolj nevarna dva modula Apache (mod_autoindex in mod_info). Prvi modul omogoča samodejno indeksiranje imenika in je privzeto omogočen. Če si želite ogledati, kako deluje, vnesite na primer http://ime_strežnika/ikone/ in če v tem imeniku ni indeksnih datotek, bo prikazana vsebina celotnega imenika. Drugi modul, mod_info, nikoli ne bi smel biti dostopen prek interneta, ker izpostavlja celotno konfiguracijo spletnega strežnika Apache.

Naslednje vprašanje je, kako sestaviti module. Zdi se mi, da je najboljša statična metoda (kode so vdelane v izvedljive datoteke) kot dinamična metoda (kode se zbirajo ob zagonu programa). Z izbiro statične metode tudi odpravimo potrebo po še enem modulu, mod_so.

Samostojno delo: Delo s strežnikom baze podatkov Podatki MySQL. Ustvarjanje tabel. Vstavljanje, pridobivanje in posodabljanje podatkov v bazi podatkov.

Laboratorijsko delo št. 12. Namestitev in konfiguracija spletnega strežnika Apache.

Samostojno delo: Delo s strežnikom baze podatkov MySQL.

Apache je najbolj priljubljen spletni strežnik na internetu, ki služi več kot polovici aktivnih spletnih mest.

V tem članku si bomo ogledali običajne konfiguracijske datoteke in osnovne nastavitve Apache v sistemu Ubuntu/Debian

Opomba: Datoteke Apache se razlikujejo glede na distribucijo, zato ta članek ni primeren za uporabnike RHEL.

Namestitev Apache na Ubuntu/Debian

Če spletni strežnik Apache še ni nameščen, uporabite ukaze:

sudo apt-get posodobitev
sudo apt-get namestite apache2

Če želite preveriti, ali je bila namestitev uspešna, odprite brskalnik na naslov IP vašega strežnika. Na vašem zaslonu bi se morala prikazati pozdravna stran Apache:

Deluje!
To je privzeta spletna stran za ta strežnik.
The spletni strežnik programska oprema se izvaja, vendar še ni bila dodana nobena vsebina.

Hierarhija datotek Apache

V Ubuntuju in Debianu Apache shrani konfiguracijske datoteke v mapo /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/

Ta mapa vsebuje številne preproste besedilne datoteke in podimenikov. Najpomembnejši med njimi:

  • apache2.conf: konfiguracijska datoteka glavnega strežnika. V njem je mogoče izvesti skoraj vse konfiguracije.
  • ports.conf: ta datoteka določa vrata, ki jih virtualni gostitelji poslušajo. Preverite to datoteko, ko nastavljate SSL.
  • conf.d/: Ta imenik nadzoruje določene vidike konfiguracije Apache. Pogosto se na primer uporablja za definiranje konfiguracije SSL in standardnih varnostnih politik.
  • sites-available/: ta imenik shranjuje vse razpoložljive virtualne gostitelje, ki določajo, katera vsebina bo na voljo na spletnem mestu. Ti gostitelji niso aktivni.
  • sites-enabled/: ta imenik definira aktivne virtualne gostitelje. Običajno vsebuje simbolične povezave do datotek, definiranih v imeniku spletnih mest, ki so na voljo.
  • mods-/: Ti imeniki delujejo na enak način kot sites-available in sites-enabled. Shranjujejo module.

Kot lahko vidite, konfiguracije Apache niso omejene na glavno konfiguracijsko datoteko, ampak so porazdeljene po več datotekah in imenikih. To konfiguracijsko strukturo je mogoče razširiti z novimi datotekami.

Konfiguracijska datoteka Apache

Osnovne nastavitve Apache so shranjene v /etc/apache2/apache2.conf.

Ta datoteka vsebuje tri glavne razdelke: globalne nastavitve Apache, privzete nastavitve strežnika in konfiguracije navideznega gostitelja.

V Ubuntuju in Debianu je večina datoteke namenjena globalnim nastavitvam, privzeta konfiguracija strežnika in nastavitve navideznega gostitelja pa se obravnavajo na koncu datoteke z uporabo direktive Include.

Na koncu datoteke boste našli številne nastavitve Vključi. Določajo module, dodajo dokument ports.conf, določene datoteke iz imenika conf.d/ in nastavitve navideznega gostitelja iz imenika sites-enabled/.

Osredotočimo se na globalne nastavitve spletnega strežnika Apache.

Globalne nastavitve Apache

Ta razdelek preučuje pomembne parametre globalne nastavitve Apache.

Odmor

Ta parameter je privzeto nastavljen na 300. To pomeni, da ima strežnik največ 300 sekund za dokončanje vsake zahteve. V večini primerov je ta vrednost zelo velika, zato jo je priporočljivo zmanjšati na 30-60 sekund.

Obdržati pri življenju

Če je ta nastavitev vklopljena, bo strežnik odjemalcu dovolil, da zahteva več objektov znotraj ene povezave. Če ima parameter Off value, bo vsaka nova zahteva ustvarila posamezno povezavo. To vedenje lahko povzroči preobremenitev mesta z velikim prometom.

MaxKeepAliveRequests

Ta nastavitev vam omogoča, da določite največje število zahtev na povezavo. To vam omogoča, da povečate zmogljivost Apache.

Vrednost 0 bo spletnemu strežniku omogočila obdelavo neomejenega števila zahtev znotraj ene povezave.

KeepAliveTimeout

Ta parameter nastavi časovni interval med zahtevami. Če stranka v navedenem času ni ustvarila druge zahteve. Spletni strežnik bo prekinil povezavo. Če ta odjemalec naknadno poda zahtevo, bo strežnik ustvaril novo povezavo.

Nastavitve MPM

Če želite izvedeti, s katerimi moduli je bil preveden Apache, odprite terminal in vnesite:

apache2 -l
Sestavljeno v modulih:
jedro.c
mod_log_config.c
mod_logio.c
prefork.c
http_core.c
mod_so.c

Kot lahko vidite, je v tem primeru spletni strežnik preveden z modulom prefork.c in datoteko apache2.conf.

Konfiguracije navideznega gostitelja

Privzeti navidezni gostitelj se nahaja v privzeti datoteki v imeniku spletnih mest, ki so na voljo.

Če si želite ogledati splošno obliko virtualnega gostitelja, odprite to datoteko:

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

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Možnosti FollowSymLinks
AllowOverride Brez


Možnosti Indeksi FollowSymLinks MultiViews
AllowOverride Brez
Naročilo dovoli, zavrni
dovoli od vseh

. . .

Navidezni gostitelj privzeto obdeluje zahteve na vratih 80.

To ne pomeni, da bo spletni strežnik nujno obdelal vsako zahtevo na teh vratih. Apache lahko preglasi konfiguracije.

Nastavitve navideznega gostitelja najvišje ravni

Te nastavitve so nastavljene v razdelku Virtual Host in veljajo za celotnega virtualnega gostitelja.

Parameter ServerAdmin določa kontaktni e-poštni naslov, ki se uporabi, če pride do težav na strežniku. Ta naslov lahko prilepite na stran z napako. Če želite to narediti, mora biti parameter ServerSignature (v datoteki /etc/apache2/conf.d/security) nastavljen na Email.

Direktiva ServerName podaja ime domene ali naslov IP strežnika. To je nastavitev za posameznega virtualnega gostitelja, ki lahko preglasi privzete nastavitve, če se ujema z vrednostjo ServerName.

Parameter ServerAlias ​​​​vam omogoča dodajanje vzdevkov spletnega mesta - alternativna imena in poti, ki vodijo do iste vsebine. Na primer, vzdevek domene je pogosto nastavljen na www.

DocumentRoot določa imenik, v katerega spletni strežnik shranjuje vsebino tega virtualnega gostitelja. V Ubuntuju je privzeta vrednost za to /var/www.

Nastavitve imenika

Konfiguracija navideznega gostitelja ima poseben razdelek za konfiguracijo obdelave posameznih imenikov datotečnega sistema. Te nastavitve je mogoče tudi preglasiti.

Najprej navidezni gostitelj predlaga nabor pravil za imenik / (korenski imenik). Ta razdelek bo zagotovil osnovno konfiguracijo navideznega gostitelja, saj se nanaša na vse datoteke, ki se strežejo v datotečnem sistemu.

Ubuntu privzeto ne nalaga nobenih omejitev za datotečni sistem. Apache priporoča dodajanje nekaj standardnih omejitev dostopa, na primer:


Možnosti FollowSymLinks
AllowOverride Brez
Naročilo Zavrni, Dovoli
Zavrni od vseh

To bo blokiralo dostop do vse vsebine, razen če nadaljnje definicije imenika kažejo drugače.

Parameter AllowOverride omogoča preglasitev konfiguracij z uporabo datotek .htaccess. Za preglasitev nastavitev mora biti datoteka .htaccess v imeniku vsebine. Privzeto je ta funkcija onemogočena.

Nastavitve Alias ​​​​in ScriptAlias ​​​​

Včasih se parametra Alias ​​​​in ScriptAlias ​​​​pojavita pred razdelkom Imenik.

Direktiva Alias ​​​​omogoča dodajanje imenikov zunaj DocumentRoot vsebini, ki se streže.

ScriptAlias ​​​​deluje na podoben način, vendar vsebuje pot do imenikov z izvršljivimi datotekami.

Na primer, taka vrstica v virtualnem gostitelju za example.com bo omogočila dostop do vsebine v imeniku /path/to/content/, ko zahteva example.com/content/.

Alias ​​​​/content/ /path/to/content/

Ne pozabite, da morate pri odpiranju dostopa do dodatnih imenikov zanje nastaviti omejene privilegije.

Omogočanje spletnih mest in modulov v Apache

Ko ustvarite datoteko navideznega gostitelja, jo lahko omogočite. Če želite to narediti, morate ustvariti simbolično povezavo do datoteke v imeniku s spletnimi mesti:

sudo a2ensite virtualhostfile

Ko je vaše spletno mesto omogočeno, znova zaženite Apache, da omogočite spletnemu strežniku, da ponovno prebere konfiguracije:

sudo storitev apache2 ponovno naloži

Če želite onemogočiti navideznega gostitelja, morate odstraniti simbolično povezavo s spletnih mest, ki so omogočena:

sudo a2dissite virtualhostfile

Po tem morate znova zagnati spletni strežnik:

sudo storitev apache2 ponovno naloži

Modul Apache lahko omogočite in onemogočite z naslednjimi ukazi (oziroma):

a2enmod
a2dismod

Delujejo enako kot prej omenjena ukaza a2ensite in a2dissite. Ko omogočite ali onemogočite modul, morate znova zagnati spletni strežnik.

Zaključek

Ta članek zajema samo osnovne nastavitve Datoteke spletnega strežnika Apache. Nabor funkcij Apache je mogoče močno razširiti z uporabo modulov.

Če potrebujete Dodatne informacije glede spletnega strežnika se obrnite

Apache je najbolj priljubljen brezplačen spletni strežnik. Od leta 2016 se uporablja na 33 % vseh spletnih mest, kar je približno 304 milijarde spletnih mest. Ta spletni strežnik je bil razvit leta 1995 kot zamenjava za priljubljeni strežnik NCSA in je odpravil številne njegove težave. Govori se, da njegovo ime izvira iz neenotnega, saj je popravljal napake NCSA. Zdaj je program za več platform, ki podpira Windows, Linux in MacOS ter zagotavlja zadostno prilagodljivost, prilagajanje in funkcionalnost. Program ima modularno strukturo, kar vam omogoča skoraj neomejeno širitev njegove funkcionalnosti z uporabo modulov.

Apache lahko namestite v Linux z nekaj ukazi, vendar program ponuja zelo veliko nastavitev, ki jih je mogoče spremeniti, kot tudi module, ki bodo, ko bodo omogočeni, delovali bolje. Ta članek bo pokrival namestitev in konfiguracijo Apache, Ubuntu bomo uporabili kot glavni sistem, vendar lahko te korake ponovite v kateri koli drugi distribuciji. Ogledali si ne bomo samo namestitve samega programa, temveč tudi, kako ga konfigurirati, nastavitev virtualnih gostiteljev apache, pa tudi najbolj uporabne module.

Vklopljeno ta trenutek, večina nova različica programi 2.4; zato bo upoštevana nastavitev Apache 2.4. Kot sem že rekel, v Linux program namesti v dobesedno nekaj ukazih. Za namestitev v Ubuntu najprej posodobite sistem na najnovejšo različico:

posodobitev sudo apt
nadgradnja $ sudo apt

Nato namestite apache2:

sudo apt namestite apache2

V drugih distribucijah se programski paket imenuje ali this ali httpd in namestitev vam ne bo povzročala težav.

Ko je namestitev končana, morate dodati spletni strežnik v zagon, da ga ne bi zagnali ročno po vklopu računalnika:

sudo systemctl omogoči apache2

Nastavitev Apache

Minili so dnevi, ko je bila konfiguracija Apache shranjena v eni sami datoteki. Vendar je pravilno: ko je vse razdeljeno v svoje imenike, je lažje krmariti po konfiguracijskih datotekah.

Vse nastavitve so v mapi /etc/apache/:

  • mapa /etc/apache2/apache2.conf odgovoren za osnovne nastavitve
  • /etc/apache2/conf-available/* - dodatne nastavitve spletni strežnik
  • /etc/apache2/mods-available/*- nastavitve modula
  • /etc/apache2/sites-available/*- nastavitve virtualnega gostitelja
  • /etc/apache2/ports.conf- vrata, na katerih teče apache
  • /etc/apache2/envvars

Kot ste opazili, obstajata dve mapi za conf, mods in site. Ti so na voljo in omogočeni. Ko omogočite modul ali gostitelja, se ustvari simbolična povezava od razpoložljive mape do mape za omogočanje. Zato je bolje, da nastavitve izvedete v razpoložljivih mapah. Na splošno bi lahko storili brez teh map, vzeli vse in vse odložili v eno datoteko na staromoden način, in vse bi delovalo, vendar tega zdaj nihče ne počne.

Najprej poglejmo glavna datoteka konfiguracije:

vi /eta/apache2/apache2.conf

Odmor- označuje, kako dolgo bo strežnik poskušal nadaljevati prekinjen prenos ali sprejem podatkov. 160 sekund bo dovolj.

Keep Alive On- zelo uporaben parameter, ki vam omogoča prenos več datotek v eni povezavi, na primer, ne samo html stran, temveč tudi slike in datoteke css.

MaxKeepAliveRequests 100- največje število zahtev na povezavo, več kot je, bolje je.

KeepAliveTimeout 5- časovna omejitev povezave, običajno je 5-10 sekund dovolj za nalaganje strani, tako da vam ni treba več nastavljati, vendar vam tudi ni treba prekiniti povezave, preden se naložijo vsi podatki.

Uporabnik, Skupina- uporabnik in skupina, v imenu katere se bo izvajal program.

HostnameLookups- pisanje v dnevnike namesto naslovov IP imena domen, je bolje, da ga onemogočite, da pospešite delo.

Nivo dnevnika- stopnja beleženja napak. Privzeto je uporabljeno opozorilo, a če želite, da se dnevniki polnijo počasneje, samo omogočite napako

Vključi- all include direktive so odgovorne za povezovanje zgoraj obravnavanih konfiguracijskih datotek.

Direktive o imeniku so odgovorne za nastavitev pravic dostopa do določenega imenika v datotečnem sistemu. Sintaksa tukaj je:


Vrednost parametra

Tukaj so na voljo naslednje osnovne možnosti:

AllowOverride- označuje, ali naj se datoteke .htaccess berejo iz tega imenika; to so iste datoteke z nastavitvami in imajo isto sintakso. Vse - dovoli vse, Nobena - ne beri teh datotek.

DocumentRoot- nastavi, iz katere mape naj se dokumenti vzamejo za prikaz uporabniku

Opcije- označuje, katere funkcije spletnega strežnika naj bodo dovoljene v tej mapi. Na primer, All - dovoli vse, FollowSymLinks - sledi simboličnim povezavam, Indexes - prikaže vsebino imenika, če ni indeksne datoteke.

Zahtevaj- določa, kateri uporabniki imajo dostop do tega imenika. Zahtevaj vse zavrnjeno – zavrni vsakogar, Zahtevaj vse odobreno – dovoli vsem. Za eksplicitno določitev uporabnika lahko namesto all uporabite direktivo uporabnika ali skupine.

naročilo- omogoča nadzor dostopa do imenika. Sprejema dve vrednosti: Dovoli,Zavrni - dovoli vsem razen navedenim ali Zavrni,Dovoli - zavrni vsem razen navedenim..ru.

Vse te direktive tukaj niso uporabljene, saj smo zadovoljni s privzetimi vrednostmi, v datotekah .htaccess pa so lahko zelo uporabne.

Ostala nam je datoteka /etc/apache2/ports.conf:

Vsebuje le eno direktivo, Listen, ki pove programu, na katerih vratih naj deluje.

Zadnja datoteka je /etc/apache2/envvars, verjetno je ne boste uporabljali, saj vsebuje spremenljivke, ki jih je mogoče uporabiti v drugih konfiguracijskih datotekah.

Nastavitev strežnika Apache prek htaccess

Datoteke .htaccess vam omogočajo, da konfigurirate svoj spletni strežnik Ubuntu tako, da se obnaša v določenem imeniku. Vsa navodila, navedena v tej datoteki, se izvajajo, kot da bi bila zavita v oznako če so bili v glavni datoteki.

Pomembno je upoštevati, da nastavitve za to mapo v glavni datoteki ali datoteki navideznega gostitelja ne smejo vsebovati, da lahko strežnik prebere navodila iz .htaccess AllowOverride Brez za delovanje vseh potrebnih nastavitev Dovoli Preglasi vse.

Sicer pa je tukaj možno narediti poljubno konfiguracijo strežnika Apache, od omogočanja modulov do preprostega spreminjanja dostopa do mape. Ker smo že upoštevali vse parametre, navedimo le nekaj primerov:

Naročilo Zavrni, Dovoli
Zavrni od vseh

Vsem zavrne dostop do te mape, kar je pomembno za uporabo za konfiguracijske mape. Najpogosteje se .htaccess uporablja za delo z modulom mod_rewrite, ki vam omogoča sprotno spreminjanje zahtev:

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

Toda to je zelo široka tema in presega obseg tega članka.

Konfiguriranje modulov Apache

Kot sem že rekel, Apache - modularni program, je njegovo funkcionalnost mogoče razširiti z moduli. Vsi razpoložljivi nalagalni moduli in konfiguracijske datoteke modulov se nahajajo v mapi /etc/apache/mods-available. In aktiviran v /etc/apache/mods-enable.

Vendar vam ni treba analizirati vsebine teh map. Konfiguriranje Apache 2.4 z dodajanjem modulov poteka s posebnimi ukazi. Vse delujoče module si lahko ogledate z ukazom:

Modul omogočite z ukazom:

sudo a2enmod ime_modula

In onemogoči:

sudo a2dismod ime_modula

Ko omogočite ali onemogočite module, morate znova zagnati apache:

sudo systemctl znova zaženite apache2

Ko se izvede eden od teh ukazov, se v imeniku mods-available ustvari ali izbriše simbolična povezava do datoteke modula z nalaganjem razširitve. Lahko pogledate vsebino te datoteke, samo ena vrstica je. Na primer:

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

To pomeni, da bi lahko modul preprosto aktivirali z dodajanjem te vrstice v datoteko apache2.conf. Vendar je običajno, da se naredi prav to, da se izognemo zmedi.

Nastavitve modula se nahajajo v isti mapi, le v datoteki s končnico .conf namesto nalaganja. Na primer, poglejmo nastavitve istega modula za stiskanje deflate:

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

Datoteke v mapi conf-available so isti moduli, le da so nameščeni ločeno od apache, to so lahko konfiguracijske datoteke za omogočanje modula php ali katerega koli drugega programskega jezika. Tukaj vse deluje popolnoma enako, le ukazi za omogočanje in onemogočanje teh modulov so nekoliko drugačni:

a2enconf ime_modula

ime modula a2disconf

Kot ste videli, je omogočanje modulov zelo preprosto. Omogočimo nekaj potrebnih modulov, ki pa niso privzeto omogočeni:

sudo a2enmod poteče
$ sudo a2enmod glave
$ sudo a2enmod prepisati
$ sudo a2enmod ssl

Moduli expires in headers zmanjšajo obremenitev strežnika. Vrnejo glavo Not Modified, če se dokument od zadnje zahteve ni spremenil. Modul expiries omogoča nastavitev časa, za katerega naj brskalnik shrani prejeti dokument. Rewrite vam omogoča sprotno spreminjanje zahtevanih naslovov, kar je zelo uporabno pri ustvarjanju CNC povezav itd. In zadnji omogoča podporo za šifriranje SSL. Po dokončanju nastavitev ne pozabite znova zagnati apache2.

Konfiguriranje virtualnih gostiteljev Apache

Ne bi bilo povsem priročno, če bi na enem fizičnem računalniku gostovalo samo eno spletno mesto. Apache lahko podpira na stotine spletnih mest v enem računalniku in vsakemu ponuja pravilno vsebino. Za to se uporabljajo virtualni gostitelji. Strežnik določi, na katero domeno prihaja zahteva in servira zahtevano vsebino iz mape te domene.

Nastavitve gostiteljev Apache se nahajajo v mapi /etc/apache2/hosts-available/. Če želite ustvariti novega gostitelja, ustvarite datoteko s poljubnim imenom (bolje je, da se konča z imenom gostitelja) in jo napolnite s potrebnimi podatki. Vse te parametre morate zaviti v direktivo VirtualHost. Poleg parametrov, ki so obravnavani tukaj, bodo uporabljeni naslednji:

  • Ime strežnika- ime primarne domene
  • Vzdevek strežnika- dodatno ime, pod katerim bo stran dostopna
  • ServerAdmin - E-naslov skrbnik
  • DocumentRoot- mapa z dokumenti za to domeno

Na primer:

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