Apache Tutorials for Nybegynnere

Hva er Apache?

Apache er en fantastisk stykke programvare. Det er den mest brukte Web-Server program i verden med mer enn 50% andel i det kommersielle web server markedet. Apache er den mest brukte Web-Server program i Unix-lignende operativsystemer, men kan brukes på nesten alle plattformer som Windows, OS X, OS/2, osv., Ordet, Apache, har blitt tatt fra navnet på indiansk stamme ‘Apache’, som er kjent for sine ferdigheter i krig og strategi å gjøre.

Det er en fleksibel, prosess-basert web-server program som oppretter en ny tråd med hver samtidige tilkobling. Den støtter en rekke funksjoner, og mange av dem er utarbeidet som separate moduler og forlenge dens kjerne funksjonalitet, og kan levere alt fra server-side programmering språk støtte til autentiseringsmekanisme. Virtual hosting er en slik funksjon som lar en enkelt Apache Web Server til å tjene en rekke forskjellige nettsteder.,

Hvordan å installere Apache

Det er mange måter å installere pakken eller program. Det er vervet under –

– >

– >

  1. En av funksjonene i dette open source web-applikasjon er at hvem som helst kan lage installer som per deres eget miljø. Dette har gjort ulike leverandører som Debian, redhat, FreeBSD, Suse etc. for å tilpasse filen stedet og konfigurasjon av apache å ta hensyn til andre installerte programmer, og base OS.,
  2. Bortsett fra å installere det fra en leverandør basert installer, det er alltid mulighet for å bygge og installere det fra kildekoden. Installere Apache fra kilde filen er en plattform uavhengig & fungerer for alle OS.

apache web server er et modulbasert program der kan administratoren velge ønsket funksjonalitet og installere forskjellige moduler som per hans/hennes krav.,

Alle moduler kan være samlet som en Dynamisk Delte Objekter (DSO er et objekt fil som kan deles av flere apper mens de utførende) som eksisterer separat fra selve hoved apache-fil. Den DSO tilnærming er sterkt anbefalt, det gjør oppgaven med å legge til/fjerne/oppdatere moduler fra servere grensesnitt som er svært enkel.

Installere Apache:Linux Plattform

På Red Hat eller rpm-baserte systemer

Hvis du bruker en rpm (RedHat Package Manager er et verktøy for å installere programmet på Linux-systemer) basert Linux-distribusjon dvs., Redhat, Fedora, CentOs, Suse, kan du installere dette programmet, enten ved å leverandøren spesifikke Package Manager eller direkte bygning rpm filen fra tilgjengelige kilder tarball.

Du kan installere Apache via standard Pakke Manager er tilgjengelig på hele Red Hat-baserte distribusjoner som CentOs, redhat og Fedora.

# yum install httpd

apache kilde tarball kan konverteres til en rpm-fil ved hjelp av følgende kommando.

# rpmbuild -tb httpd-2.4.x.tar.bz2

Det er obligatorisk å ha -devel pakken er installert på din server for å lage .rpm filen fra kilden.,

Når du konverterer kilde filen til en rpm installer, kan du bruke følgende kommando til å installere Apache.

# rpm –ivh httpd-2.4.4-3.1.x86_64.rpm

Etter installasjonen serveren ikke starter automatisk, for å starte tjenesten, må du bruke følgende kommando på Fedora, CentOs eller Red Hat.

# /usr/sbin/apachectl start# service httpd start# /etc/init.d/httpd start

Installere Apache fra Kilde

Installere apache fra kilden krever –devel pakken som skal installeres på serveren din. .Du kan finne de nyeste tilgjengelige versjon av Apache, kan du laste det ned her ., Når du laster ned kilde filen kan du flytte den til /usr/local/src-mappen.

for å se alle konfigurasjon alternativet tilgjengelig for Apache -, du kan bruke ./configure –hjelp-funksjonen. Den mest vanlige konfigurasjonen alternativet er –prefix={installere directory name}.

I eksemplet ovenfor viser sammenstilling av Apache-i /usr/local/apache-katalogen med DSO evne. De –aktiver-for så alternativet, kan legge nødvendige moduler for å apache på kjøre-time via DSO mekanisme heller enn å kreve en recompilation.,

Når installasjonen er ferdig, kan du bla gjennom web-servere standard side med din favoritt nettleser. Hvis brannmuren er aktivert på serveren din, må du ha for å gjøre unntak for port 80 på OS-brannmur. Du kan bruke følgende kommando for å åpne port 80.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

service iptables lagre

Du kan se standard Apache2 Velkommen-skjermen ved å bla gjennom server IP-adresse.

Hva er Virtuelle Verten?

En Apache web-server kan være vert for flere nettsteder på SAMME server., Du trenger ikke en separat server maskin og apache software for hvert nettsted. Dette kan oppnås ved hjelp av begrepet Virtuelle Verten eller VHost.

Noen domenet som du ønsker å være vert på din web server vil ha en egen oppføring i apache konfigurasjonsfilen.

Typer Apache Virtualhost

– >

  1. Navn-baserte Virtuelle verten
  2. Adresse-basert eller IP-baserte virtuelle verten og.

Navn-baserte Virtuelle Verten

Navn basert virtuell hosting er brukt til å være vert for flere virtuelle områder på en enkelt IP-adresse.,

for å konfigurere navnet basert virtuell hosting, må du angi IP-adressen som du kommer til å motta Apache forespørsler for alle ønskede nettsider. Du kan gjøre dette ved å NameVirutalHost direktivet og at det innenfor apache-konfigurasjon dvs. httpd.conf/apache2.conf-fil.

Apache virtuelle verten Eksempel:

Du kan legge til så mange virtuelle verter, som per kravet ditt., Du kan sjekke din web-konfigurasjon filer med:

#httpd –tSyntax OK

Hvis konfigurasjonsfilen har noen feil syntaks, det vil kaste en feil

IP-baserte Virtuelle verten

for å konfigurere IP-basert virtuell hosting, vil du trenger mer enn én IP-adressen som er konfigurert på din server. Så, antall vhost apache vil avhenge onnumber av IP-adressen som er konfigurert på din server. Hvis serveren har 10 IP-adresser, kan du opprette 10 IP-baserte virtuelle verter.

I diagrammet ovenfor to nettsteder inn eksempel 1.,com og example2.com ble tildelt forskjellige Ip-adresser og bruker IP-baserte virtual hosting.

Hva Apache trenger for å Kjøre Php-Filen?

å Kjøre Php-filer på Apache behov mod_php aktivert på din server. Det gjør Apache å tolke .Php-filer. Det har Php behandlere som tolker Php-koden i apache og sende HTML til webserveren din.

Hvis mod_php er aktivert på serveren din, vil du ha en fil som heter php.conf i /etc/httpd/conf.d/ katalog., Du kan også sjekke det med:

httpd -M | grep "php5_module"

output vil være lik:

Php-handlere i Apache

  • mod_php
  • CGI
  • FastCGI
  • suPHP

mod_phpis den eldste PHP handler, det gjør PHP del av apache og ikke kaller noen eksterne PHP prosessen. Denne modulen er installert som standard i alle Linux-distribusjon depotet, slik at aktivering/deaktivering av denne modulen er veldig enkelt.,

Hvis du bruker FastCGI som PHP handler, kan du angi flere versjoner av PHP til å bli brukt av forskjellige kontoer på serveren din.

FastCGI dvs. mod_fastcgi er en forlengelse av mod_fcgid, hvor som mod_fcgid er en høy ytelse alternativ av CGI-dvs. mod_cgi . Det begynner tilstrekkelig antall forekomster av CGI å håndtere samtidige web-forespørsler. Den bruker også suexec å støtte forskjellige brukere med sine egne forekomster av PHP og forbedrer internett-sikkerhet.

Kjører ruby filer på Apache behov mod_ruby å bli aktivert. Apache kan også håndtere ruby-filer gjennom FastCGI., Det er mulig å bruke flere versjonen av ruby med hjelp av mod_fcgid dvs. FastCGI.

Du kan også installere apache passasjer og konfigurere Apache til å bruke det for å tjene ruby sider.

(Phusion Passasjer, også kjent som «passasjer» er en gratis web-server-modulen som er utviklet for å integreres med Apache og Nginx )

Trinn for å installere mod_ruby på din server –

– >

Hvordan å kjøre Ruby med Apache

Vi har for å legge mod_ruby-modulen for å Apache-konfigurasjon dvs. /etc/httpd/conf.d/ruby.conf og legg til følgende linje.

LoadModule ruby_module moduler/mod_ruby.,så

Hvis du ønsker å aktivere eller deaktivere disse modulene, må du redigere konfigurasjonsfilen til apache og kommentar eller uncomment disse modulene, hvis web-server er allerede utarbeidet med disse modulene.

Hvordan å Sikre Apache Web-Server

Securing your web server er veldig viktig, det betyr å la andre se bare ment for informasjon & beskytte dine data og å begrense tilgang.

Dette er vanlige ting for å forbedre din Apache-servere sikkerhet.,

1) Skjule Apache-versjon og OS informasjon:

Apache viser sin versjon og navnet på operativsystemet i-feil som vises i skjermbilde nedenfor.

En hacker kan bruke denne informasjonen til å lansere et angrep ved hjelp av den offentlig tilgjengelige sårbarheter i en bestemt versjon av server-eller OS.

for å hindre Apache webserverfromdisplaying denne beskjed, vi må endre

«server signatur» – alternativet som er tilgjengelig i apache konfigurasjonsfilen., Som standard, det er «på», må vi sette den «off».

vim /etc/httpd/conf/httpd.conf
ServerSignature OffServerTokens Prod

Vi har også sett «ServerTokens Prod» som forteller web-server for å returnere bare apache og undertrykke OS større og mindre versjon

Etter å gjøre endringer i konfigurasjonsfilen du må starte/laste apache web-server for å gjøre det effektivt.,

service httpd restart

2) Deaktiver i Katalogen

Hvis dokumentet root katalogen ikke har et index-filen din som standard apache web server vil vise alt innholdet i dokumentet root directory.

Denne funksjonen kunne slå av for en bestemt katalog gjennom «valg direktivet» tilgjengelig i Apache konfigurasjonsfilen.,

<Directory /var/www/html> Options -Indexes</Directory>

3) å Deaktivere unødvendige moduler

Det er god praksis å deaktivere alle unødvendige moduler som ikke er i bruk. Du kan se listen over er aktivert modul tilgjengelig i konfigurasjonsfilen til apache –

– >

Mange av de nevnte modulene kan være deaktivert likemod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, som de er knapt brukt ved produksjon web-servere.

vi /etc/httpd/conf/httpd.conf#LoadModule auth_digest_module modules/mod_auth_digest.so

Når du kommenterer modul, må du lagre filen.,

Starte apache-tjenester med følgende kommando.

/etc/init.d/httpd restart

4) å Begrense Tilgang til filer utenfor nettet root directory

Hvis du liker å sørge for at filer som er utenfor nettet root-mappen ikke er tilgjengelig, må du sørge for at katalogen er begrenset med «Tillate» og «Nekte alternativet» i din web server configuration file.

<Directory/>Options NoneAllowOverride NoneOrder deny,allowDeny from all</Directory>

Når du begrense acess utenfor nettet rot directoy, vil du ikke være i stand til å få tilgang til alle filer som ligger på andre-mappen på webserveren din, vil du få 404 tilbake kode.,

5) ved Hjelp av mod_evasive å rebutting DoS-angrep

Hvis du ønsker å beskytte din web server fra Dos (dvs. tjenestenekt (Denial of Service) du må aktivere modulen mod_evasive. Det er en tredjeparts modul som oppdager Dos-angrep og hindrer angrep fra å gjøre så mye skade som det ville gjøre hvis venstre for å kjøre sine kurs. Det kan lastes ned her.,

Last ned Filen ovenfor

6) ved Hjelp av mod_security å forbedre apache sikkerhet

Denne modulen fungerer som en brannmur for Apache og lar deg overvåke trafikken i sanntid. Det hindrer også at web-serveren fra brute force angrep. Den mod_security modul kunne være installert med standard pakke manager for din distribusjon.

7) å Begrense forespørsel størrelse

Apache ikke har noen begrensning på den totale størrelsen av en http-forespørsel som kan føre til et DoS-angrep., Du kan begrense be om størrelsen på et Apache-direktiv «LimitRequestBody» med katalogen tag. Verdien kan være angitt noe fra 0 til 2 GB (dvs. 2147483647 byte) som per kravet ditt.

<Directory "/var/www/html/uploads"> LimitRequestBody 512000</Directory>

Apache Log-Format

Apache logger gir detaljert informasjon som kan hjelpe til å oppdage vanlige problemer med server.

for å opprette tilgang til loggene, mod_log_configmodule må være aktivert.

Tre direktivene er tilgjengelig i apache-config-filen dvs.

  • TransferLog: Opprette en loggfil.
  • LogFormat : Angi en egendefinert format.,
  • CustomLog : Lage og formatere en loggfil.

TransferLog direktivet er tilgjengelig i konfigurasjonsfilen til apache og den roterer virtuelle verten logg filer som per angi parametere.

To typer Apache Log-Format

  • Vanlige Log-Format
  • Kombinert Log-Format.

Du kan aktivere dem ved å redigere konfigurasjonsfilen til apache dvs. apache2.conf (Debian/ubuntu) eller httpd.,conf (rpm-baserte systemer) fil

Vanlige Log-Format

LogFormat "%h %l %u %t \"%r\" %>s %b" commonCustomLog logs/access_log common

Vanlige Loggen er generert av Apache

 client denied by server configuration: /export/home/live/ap/htdocs/test

Kombinert Log-Format

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combinedCustomLog log/access_log combined

Her

  • %h er den eksterne verten
  • %l er brukerens identitet bestemmes av identd
  • %u er brukernavnet bestemt av HTTP-godkjenning
  • %t er tiden serveren ferdig med behandlingen av forespørselen.
  • %r er en forespørsel linje fra klienten. («GET / HTTP/1.,0»)
  • %>s er status kode som er sendt fra serveren til klienten (500, 404 etc.)
  • %b er størrelsen på svar til klienten (i byte)
  • Referer er den siden som er knyttet til denne NETTADRESSEN.
  • User-agent er nettleser-identifisering strengen.

Kombinert Loggen er generert av Apache:

Tilpasset Logg skaper egen logg-fil for hver Virtuelle Verten på din server. Det er behov for å være som angitt i den virtuelle host-delen i config-filen.,

Du kan se nedenfor nevnte virtuelle host configuration, genererte loggen vil være tilpasset for den virtuelle verten og formatet vil bli kombinert.

Konfigurer din aller første Produksjonen Web-Server

1. For å ha en løpende produksjon web server, må du ha en dedikert node (Fysisk/Virtuelt eller cloud instance) som kjører Linux/Unix, Windows, MacOS etc.

2. Web-Serveren må ha en direkte nettverkstilkobling og en staticIP-adressen som er konfigurert på det.

3., Det er behov for å ha alle modulene som kreves for å kjøre web-sider. Hvis en web-server prosesser PHP-sider, er det behov for å ha PHP modul er aktivert.

  1. Det er også behov for å ha et godt Antivirus-programmet er konfigurert og kjører for å sikre Web-Server fra Malware eller et Virus angrep. Du må også mekanisme for å oppdatere konfigurert antivirus/anti-malware-programmet på regelmessig basis, uten manuell inngripen for å få maksimalt utbytte av dem.,
  2. Hvis du har hundrevis av domener å være vertskap på din web server, må du ha for å innføre begrensninger på filsystemet kvote for hvert domene, antall databaser hvert domene kan opprette, antall e-post kontoer per domene etc.
  3. Hvis din web server har blitt oppsett for felles hosting-tjenester, brukere på web-serveren trenger å være begrenset. En delt hosting brukeren skal ha minst bruker privilegium, slik at han ikke skader viktige filer & bryte hele serveren., Apache gir ikke noen slik funksjonalitet og behov forskjellige tredjeparts applikasjoner, tilpasning av OS for å oppnå dette.
  4. Hvis du legger til et nytt domene på din web server, er det behov for redigering hundrevis av konfigurasjonsfilen for å aktivere alle funksjoner for den ekstra domene.
  5. Hvis en av vertsbaserte domener krever ulike PHP-innstilling enn resten av domener, implementere dette i kjernen Apache web server er svært kompleks og behov for tilpasning av webserveren i stor grad.,
  6. En produksjon web-serveren trenger en brannmur for å blokkere uønsket trafikk som kan føre til høye belastningen på serveren din. Implementering IPTABLE regler med command line er svært kompleks. Det er behov for kompetanse i kjernen Linux/Unix-miljø for å skrive effektiv brannmur regler for blokkering av uønsket trafikk. IPTABLE er basert på netfilter modul; det er en OS-nivå brannmur som gjør det mulig for en administrator å opprette regler for innkommende/utgående trafikk på serveren.
  7. En produksjon web-serveren krever flere forskjellige programmer som E-post, FTP for å laste opp filen, Domain Name System for parkerte domener., Administrere alle disse programmene på en kjerne av Linux/Unix-system krever kompetanse på de respektive teknologier.

Så, kan man si at administrere en web-server for flere domener er svært kompleks oppgave og krever redigering hundrevis av konfigurasjonsfilen, tilpasse hvert enkelt program for å oppfylle ønsket resultat. Feilsøking noen glipp av konfigurasjon vil være veldig vanskelig for nybegynnere.

– Løsning med Cpanel eller lignende programvare

Cpanel gi en grafisk måte å administrere din web server., Det er ment å gi masse hosting-tjenester som er enkel å bruke og konfigurere. cPanel har redusert tekniske hindringer for adgang til hosting og web-server management. Det gjør komplekse oppgaven enklere, det gir mange nyttige og enkle å bruke web-grensesnitt som utfører felles system administrasjon oppgaver som kreves for å drive en web-server.

cPanel utarbeider sin egen versjon av programvaren.

Hvis du trenger å kompilere din web server dvs., apache på vanlig Linux-plattform, må du manuelt velge/søk modulen som er nødvendig. cPanel gir Easyapache funksjonalitet som er et script-baserte web server samling-metode.

Det er ikke bare gir deg web-tjenester, men også e-Post, DNS, FTP og mange flere tjenester som er nødvendig for din web-applikasjon.,

En oppgave som krever kompetanse på kjernen Linux/Unix baserte webhotell som å installere SSLs, recompiling Apache med ulike PHP-moduler, oppdatere Web-Sikkerhet, konfigurere effektiv IPTABLE regler, og Legger til ftp-brukere, opprette epost-kontoer for hvert domene, skanne dokumentet rot med antivirus og lage databaser er lett å fullføre med cPanel.

Det gir en rekke skript som reparerer, installerer og feilsøke vanlige administrative oppgaver.

Det gir et backup og gjenopprette funksjonaliteten eliminerer behovet for å manuelt kopiere filer til sikkerhetskopiering., Hvis du sikkerhetskopierer ditt domene, cPanel vil opprette en tar-fil som inneholder dokumentet root-mappen, e-post kontoer og e-post, ftp-kontoer, databaser, DNS-poster og andre programmer.

Det gir også en robust dokumentasjon, andhas et veldig stort fellesskap av brukere hvor du kan diskutere og få en løsning på dine problemer.

Så, kan man si at cPanel er den beste program for å administrere din web-server med nødvendige funksjoner. Det gir deg enkel å bruke grensesnitt for å administrere ditt domene og en mekanisme for å unngå kompleksiteten i å administrere core Web-Server.,

Det er mange konkurrerende produkter til cPanel som Plesk, ISPConfig, Ajenti, Kloxo, Åpne Panelet, Zpanel etc.

Leave a Comment