Hva er Apache?
Apache er den mest populære web server på internett. Den brukes til å tjene mer enn halvparten av alle aktive nettsteder.
Selv om det er mange levedyktig webservere som vil tjene deres innhold, er det nyttig å forstå hvordan Apache fungerer på grunn av dets allestedsnærvær.
I denne artikkelen vil vi undersøke noen generelle konfigurasjons filer og valg som kan bli kontrollert i dem., Denne artikkelen vil følge Ubuntu/Debian-oppsett av Apache-filer, som er forskjellig fra hvordan andre utdelinger bygge konfigurasjon hierarki.
Hvordan å Installere Apache på Ubuntu og Debian
Hvis du ikke allerede har installert Apache, kan du gjøre det nå ved utstedelse av følgende kommandoer:
sudo apt-get updatesudo apt-get install apache2
Dette er alt som er nødvendig å ha en fungerende web-server., Hvis du besøker din VPS ‘ s IP-adresse i en nettleser, vil du få standard Apache index-side:
your_domain_name_or_ip_address
It works!This is the default web page for this server.The web server software is running but no content has been added, yet.
Apache-Fil Hierarkiet i Ubuntu og Debian
På Ubuntu og Debian, Apache holder sin viktigste konfigurasjonsfiler i «/etc/apache2» – mappen:
cd /etc/apache2ls -F
apache2.conf envvars magic mods-enabled/ sites-available/conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/
Det finnes en rekke filer med ren tekst, og noen sub-kataloger i denne katalogen. Disse er noen av de mer nyttige steder å være kjent med:
- apache2.,conf: Dette er den viktigste konfigurasjonsfil for server. Nesten alle konfigurasjon kan gjøres fra denne filen, selv om det er anbefalt å bruke egen, dedikert filer for enkelhets skyld. Denne filen vil konfigurere standarder og være det sentrale punktet i tilgang til server for å lese konfigurasjon detaljer.
- porter.conf: Denne filen brukes til å angi hvilke porter som virtuelle verter burde høre på. Pass på å sjekke at denne filen er riktig hvis du konfigurere SSL.
- bekreft.d/: Denne katalogen brukes for å kontrollere spesifikke aspekter av Apache-konfigurasjon., Det er For eksempel ofte brukt for å definere SSL-konfigurasjon og standard sikkerhet valg.
- sites-available/: Denne katalogen inneholder alle virtuelle host filer som definerer ulike nettsteder. Disse vil etablere hvilket innhold som blir servert som ber om. Disse er tilgjengelige konfigurasjoner, ikke aktiv konfigurasjoner.
- nettsteder-aktivert/: Denne katalogen etablerer som virtuelle verten definisjoner faktisk blir brukt. Vanligvis, denne katalogen består av symbolske koblinger til filer som er definert i «sites-available» – katalogen.,
- mods-/: Disse katalogene er lik i funksjon til nettsteder kataloger, men de definerer moduler som kan eventuelt lagt inn i stedet.
Som du kan se, Apache konfigurasjon som ikke tar plass i en enkelt monolittisk fil, men i stedet skjer gjennom en modulær design, hvor nye filer kan bli lagt til og endret etter behov.
Se på Apache2.conf-Fil
De viktigste konfigurasjonen detaljer for Apache server er holdt i «/etc/apache2/apache2.conf» – fil.,
Denne filen er delt inn i tre hoveddeler: konfigurasjon for den globale Apache server prosess, konfigurasjon for standard server, og konfigurasjonen av Virtuelle Verter.
I Ubuntu og Debian, de fleste av filen er for globale definisjoner, og konfigurasjonen av standard server og virtuelle verter er håndtert på slutten, ved å bruke «Omfatter …» direktiv.
«Inkluder» – direktivet tillater Apache til å lese annen konfigurasjon-filer i den nyeste filen i den posisjonen at uttalelsen vises., Resultatet er at Apache dynamisk genererer et overordnet konfigurasjonsfil ved oppstart.
Hvis du blar til bunnen av filen, for det er en rekke forskjellige «Inkluder» – utsagn. Disse last modul definisjoner, portene.conf dokument, den spesifikke konfigurasjonen filer i «conf.d/» katalog, og til slutt, den Virtuelle Verten definisjoner i «nettsteder-aktivert/» katalog.
Vi vil fokusere på den første delen av filen for å lære hvordan Apache definerer sine globale innstillinger.,
Global Konfigurasjon
Denne delen brukes til å konfigurere noen innstillinger som styrer hvordan Apache fungerer som en helhet.
Det er noen interessante alternativer du ønsker kanskje å endre i dette avsnittet:
Tidsavbrudd
som standard, denne parameteren er satt til «300», noe som betyr at serveren har et maksimalt 300 sekunder å oppfylle hver forespørsel.
Dette er trolig for høy for de fleste sett ups, og kan trygt bli droppet til noe mellom 30 og 60 sekunder.,
KeepAlive
Dette alternativet, hvis satt til «På», vil tillate hver tilkobling er åpen for å håndtere flere forespørsler fra samme klient.
Hvis dette er satt til «Off», hver forespørsel, er nødt til å etablere en ny tilkobling, noe som kan resultere i betydelig overhead avhengig av oppsett og trafikksituasjonen.
MaxKeepAliveRequests
Denne kontrollerer hvor mange separat forespørsel hver tilkobling vil håndtere før han døde. Å holde dette tallet høyt vil tillate Apache til å levere innhold til hver enkelt klient mer effektivt.,
å Sette denne verdien til 0 vil tillate Apache til å tjene en ubegrenset mengde forespørsel for hver tilkobling.
KeepAliveTimeout
Denne innstillingen angir hvor lenge å vente til neste forespørsel etter å ha fullført den siste. Hvis timeout-grensen er nådd, deretter den forbindelse vil dø.
Dette betyr bare at neste gang innhold er forespurt, serveren vil opprette en ny tilkobling for å håndtere forespørselen for innhold som gjør opp siden klienten er på besøk.,
MPM Konfigurasjon
Den neste delen angir konfigurasjon av MPM (Multi-Processing Modul) valg. Du kan kryss-referanse som del dine Apache-installasjon ble kompilert med ved å gå ut i terminalen og skriver inn:
apache2 -l
Compiled in modules: core.c mod_log_config.c mod_logio.c prefork.c http_core.c mod_so.c
Som du kan se, på denne serveren, «prefork.c» er en modul som ble utarbeidet i og er også i «apache2.conf» – fil. Installasjonen kan ha flere å velge mellom, men bare én kan være valgt.
Du kan justere konfigurasjonen av MPM prefork i den aktuelle delen.,
Utforske Standard Virtuelle Host-Filen
standard Virtuelle Verten erklæring kan bli funnet i en fil som heter «standard» i «sites-available» – katalogen.
Vi kan lære noe om det generelle formatet for en Virtuell Host-filen ved å undersøke denne filen. Åpne filen med følgende kommando:
sudo nano /etc/apache2/sites-available/default
standard Virtuelle Verten er konfigurert til å behandle enhver forespørsel på port 80, standard http-port. Dette er definert i erklæringen overskrift der det står «*:80», som betyr at port 80 på alle grensesnitt.,
Dette betyr ikke at det nødvendigvis vil håndtere hver forespørsel til serveren på denne porten, men. Apache bruker den mest spesifikke Virtuelle Verten definisjon som samsvarer med forespørselen. Dette betyr at hvis det var en mer spesifikk definisjon, det kunne tilsidesette denne definisjonen.
Virtuelle Verten Øverste Nivå Konfigurasjon
Disse alternativene er satt i den Virtuelle Verten definisjon utenfor av andre lavere nivå sub-erklæringen. De gjelder for hele den Virtuelle Verten.
«ServerAdmin» alternativet angir en kontakt på e-post som bør brukes når det er serverproblemer.,
Dette kan være satt inn feil side hvis du har «ServerSignature» satt til «E» i «/etc/apache2/conf.d/security» – filen, så sørg for at du er villig til å motta e-post hvis du justere denne innstillingen.
Hvis vi skulle bruke denne som en mal for andre Virtuelle Verten definisjoner, ville vi ønsker å legge til en «Servernavn» definisjon som angir domene navn eller IP-adresse som denne avtale skal håndtere. Dette er det alternativet som ville legge spesifisitet til den Virtuelle Verten, slik at det å trump standard definition om det samsvarer med den Servernavn verdi.,
Du kan også gjøre den Virtuelle Verten gjelde for mer enn ett navn ved å bruke «ServerAlias» definisjon. Dette gir alternative baner for å få til det samme innholdet. En god use-case for dette er å legge til det samme domenet, som innledes med «www».
«DocumentRoot» alternativet angir hvor innholdet som er angitt for denne Virtuelle Verten vil bli plassert. Standard Virtuelle Verten er satt opp til å levere innhold ut av «/var/www» katalog på Ubuntu.,
– Katalogen Definisjoner
I den Virtuelle Verten definisjon, det er definisjoner for hvordan serveren håndterer ulike kataloger i filsystemet. Apache vil bruke alle disse retningene i rekkefølge fra laveste til lengst, så det er igjen en sjanse til å overstyre forrige valg.
Den første katalogen definisjonen gjelder regler for «/», eller root directory. Dette vil gi den opprinnelige konfigurasjonen for den Virtuelle Verten, som det gjelder for alle filer serveres på fil-system.
standard Ubuntu ikke satt opp noen tilgang restriksjoner for å filsystemet., Apache anbefaler at du legger til noen standard tilgangsbegrensninger. Du kan endre dette slik:
<Directory />Options FollowSymLinksAllowOverride NoneOrder Deny,AllowDeny from All</Directory>
Dette vil nekte tilgang til alt innhold, med mindre annet er angitt i etterfølgende katalog definisjoner.
Den neste katalog definisjonen er for dokumentet rot, slik at det angir «la fra alle» alternativet som overstyrer «/» alternativet for denne katalogen.
«AllowOverride» alternativet brukes til å bestemme om en «.htaccess» fil kan overstyre innstillinger hvis det er plassert i innhold-katalogen., Dette er ikke tillatt som standard, men kan være nyttig for å aktivere i en rekke omstendigheter.
Alias og ScriptAlias Uttalelser
– Katalogen definisjoner er noen ganger innledes med «Alias» eller «ScriptAlias» – utsagn. Alias kart en url-banen til en mappe.
ScriptAlias opererer på samme måte, men brukes til å definere kataloger som vil ha kjørbar komponenter i dem.
Alias /content/ /path/to/content/
Følgende alias, må du huske å angi katalogen med tilgangsrettigheter som diskutert i forrige avsnitt.,
Aktiverer Nettsteder og Moduler i Apache
Når du har en Virtuell Host-filen som oppfyller dine krav, kan du bruke verktøy som følger med Apache til overgang dem i live nettsteder.,
for Å automatisk lage en symbolsk link i «nettsteder-aktivert» katalog til en eksisterende fil i «sites-available» katalog, utfør følgende kommando:
sudo a2ensite virtual_host_file_name
Etter at et nettsted, utfør følgende kommando for å fortelle Apache til å re-lese-konfigurasjonsfiler, slik at den endres til å spre:
sudo service apache2 reload
Det er også en ledsager kommando for å deaktivere en Virtuell Vert., Det fungerer ved å fjerne den symbolske lenken fra «områder-aktivert» katalog:
sudo a2dissite virtual_host_file_name
Igjen, laste konfigurasjon for at endringen skal skje:
sudo service apache2 reload
Moduler kan aktiveres eller deaktiveres ved hjelp av «a2enmod» og «a2dismod» kommandoer henholdsvis. De fungerer på samme måte som «nettstedet» – versjoner av disse kommandoene.
Husk å laste konfigurasjonsendringene etter at modulene som er aktivert eller deaktivert.
Konklusjon
Vi har gått over noen grunnleggende konfigurasjon av Apache-filer., Apache er allsidig og svært modulbasert, slik konfigurasjon behovene vil være forskjellige avhengig av oppsett.
Du bør ha en god forståelse av hva de viktigste konfigurasjonen filer brukes til, og hvordan de samhandler med hverandre. Hvis du trenger å vite om spesifikke konfigurasjonsalternativene, den vedlagte filer er godt kommentert og Apache gir god dokumentasjon.
Forhåpentligvis, konfigurasjonsfiler vil ikke være så skremmende nå, og du føler deg mer komfortabel med å eksperimentere og modifisere til å passe dine behov.