Apache HTTP-serverprosjektet, ofte kjent som Apache HTTPD eller Apache, er en åpen kildekode HTTP-server som driver en stor prosentandel av webapplikasjoner. Apache HTTPD er tverrplattform og kan kjøre på UNIX og Windows-baserte systemer.
I denne opplæringen vil vi se på Apache HTTP -konfigurasjonen, inkludert hvordan det fungerer. Vi vil forstå noen av de mest kritiske konfigurasjonene i filen og hva de gjør.
Installere Apache -serveren
Før vi kommer til Apache -konfigurasjonen, la oss sikre at vi har den installert og kjører.
Start terminalen og bruk kommandoene nedenfor for å installere Apache -serveren på systemet ditt:
Debian/Ubuntu
sudo apt-get oppdatering
sudo apt-get installer apache2
Arch/Manjaro
sudo pacman -y
sudo pacman -s apache
Fedora/centos
sudo yum oppdatering
sudo yum installer httpd
Hvor er apache httpd.Conf -fil?
Avhengig av distribusjonen som du har Apache -serveren installert, plasseringen av HTTPD.Conf vil variere.
På Debian Systems (Apache2) er plasseringen av Apache -konfigurasjonen:
/etc/apache2/apache2.konf
På Fedora/Centos og andre REHL -systemer er Apache -konfigurasjonen i:
/etc/httpd/conf/httd.konf
Andre steder du kan se etter Apache HTTPD -konfigurasjonsfilene er:
/etc/apache2/httpd.konf
/etc/httpd/conf/httpd.konf
Tips for redigering av Apache -konfigurasjonen
Selv om Apache HTTPD -konfigurasjonsfilen er enkel å redigere, vil den forhindre at webserveren kjører hvis du roter opp syntaks.
Følgende er noen tips du må huske på når du redigerer konfigurasjonsfilene.
- Forsikre deg om å oppbevare en sikkerhetskopi av den første HTTPD.Conf -fil. En sikkerhetskopi lar deg gjenopprette og sammenligne konfigurasjonen, noe som gjør feilsøking lettere.
- Rediger en enkelt blokk i Apache Config -filen per forekomst. På enklere vilkår, rediger en innstilling, lagre filen og prøv å starte serveren. Å gjøre dette vil hjelpe deg med å fange eventuelle feil som kan forhindre at serveren starter.
- Når du feilsøker konfigurasjonsfilen, kan du starte med de sist redigerte blokkerene og jobbe deg opp til den eldste redigeringen.
Standard httpd.Conf -fil
Følgende er et eksempel på Apache Httpd.Conf -fil med alle standardverdiene. Du kan bruke denne filen til å gjenopprette innstillingene dine.
DefaUlTruntimedir $ apache_run_dir
Pidfile $ apache_pid_file
Timeout 300
Keepalive på
MaxkeepalivereQuests 100
Keepalivetimeout 5
Bruker $ apache_run_user
Gruppe $ apache_run_group
Hostnamelookups av
Errorlog $ apache_log_dir/feil.Logg
LogLevel advarer
Inkludereroptional MODS-aktivert/*.laste
Inkludereroptional MODS-aktivert/*.konf
Inkluderer porter.konf
Alternativer følgerSymlinks
Tillat ingen
Krever alle nektet
Tillat ingen
Krever alt gitt
Alternativerindekser følgerSymlinks
Tillat ingen
Krever alt gitt
AccessFilename .Htaccess
Krever alle nektet
LogFormat " %V: %P %H %L %U %T" %R " %> S %O" %Referer I "" %bruker-agent i "" VHOST_COMBINED
Logformat " %h %l %u %t" %r " %> s %o" %referanse i "" %bruker-agent i "" kombinert
Logformat " %h %l %u %t" %r " %> s %o" vanlig
LogFormat " %Referer i -> %U" Referer
Logformat "%bruker-agent i" agent
Inkludereroptional Conf-aktivert/*.konf
Inkludereroptionale nettsteder-aktivert/*.konf
MERK: I eksemplet ovenfor httpd.Conf -fil, vi har fjernet den kommenterte dokumentasjonen. Sjekk mannssidene for å lære mer.
Viktig httpd.Conf -filinnstillinger
Følgende er noen av de essensielle blokkene i HTTPD.Conf -fil. Det er bra å merke seg at noen av blokkene som er oppgitt i denne delen kanskje ikke er i standard Apache -konfigurasjonsfilen.
- AccessFilename - Dette direktivet definerer navnet på filen som brukes til informasjon om tilgangskontroll i hver katalog. Standardverdien er satt til .Htaccess.
- AddType - Dette direktivet overstyrer standard MIME -typen og filforlengelsesparet.
- Lytte - Lyttedirektivet spesifiserer hvilken port webserveren vil lytte fra for innkommende forespørsler. Som standard er denne verdien satt til port 80 for HTTP og port 443 for HTTPS.
- LoadModule - Last-modul-direktivet brukes til å laste inn dynamiske delingsobjekter.
- plassering - Stedstappene (og) brukes til å lage en beholder for tilgangskontroll basert på en URL.
- MaxClients - Dette direktivet definerer grensen for det totale antall serverprosesser eller antall samtidig tilkoblede klienter samtidig.
- VirtualHost - VirtualHost Tag -blokken lager en beholder for virtuelle verter, slik at flere nettsteder kan kjøre på en server. Blokken kan godta andre blokker.
- Serverroot - Dette direktivet brukes til å definere toppnivået for innholdet på nettstedet. Standardverdien er satt til /etc /apache2 eller /etc /httpd.
- Server navn - Definerer vertsnavnet og porten for serveren.
- Pidfile - Definerer filnavnet for server PID -filen. Som standard er verdien satt til/var/run/apache2/apache2.pid eller/var/run/httpd/httpd.PID
- LOGLEVEL - bestemmer loggverbositetsnivået.
- Maxkeepaliverequests - Dette direktivet definerer det maksimale antallet forespørsler per vedvarende tilkobling. Verdien er satt til 100 som standard.
- Documentroot - Dokumentroten er katalogen som inneholder HTML -filene som serveres til klientene. Denne verdien er satt til/var/www/html som standard.
- Feil logg - Plasseringen der loggfilen er lagret. Som standard er denne verdien satt til/var/log/apache2/erro.Logg eller/var/log/httpd/feil.Logg
- DirectoryIndex - Dette direktivet angir standardsiden som serveres til klientene når indeksplassen blir bedt om. Som standard er denne verdien satt til å indeksere.html. Hvis ingen indeksverdi blir funnet, vil serveren liste opp kataloger (hvis aktivert) eller en 403 forbudt feil hvis katalogoppføringen er deaktivert.
- Tillate - Dette definerer klienten gitt tilgang til en spesifikk katalog. Klienten kan være et domenenavn, IP -adresse, nettverksmaske osv. Fungerer som nekter.
- Tillater override - Dette direktivet bestemmer om verdien av et spesifikt direktiv er overskridelig i .Htaccess -fil.
- Addhandler - Handlerutvidelsen kartlegger filutvidelser til sine respektive håndterere. For eksempel, .CGI-filer kan kartlegges til en CGI-Script-handler.
Lukking
Guiden har gått deg gjennom prosessen med å administrere Apache HTTPD -konfigurasjonen. Vi skisserte også noen grunnleggende innstillinger i konfigurasjonsfilene. Tenk på dokumentasjonen for å lære mer om Apache Config -filen og hvordan du konfigurerer hvert direktiv.