Apache-vejledninger til begyndere

Indholdsfortegnelse

Hvad er Apache?

Apache er et bemærkelsesværdigt stykke applikationssoftware. Det er den mest anvendte webserverapplikation i verden med mere end 50% andel på det kommercielle webservermarked. Apache er den mest anvendte webserverapplikation i Unix-lignende operativsystemer, men kan bruges på næsten alle platforme som Windows, OS X, OS / 2 osv. Ordet Apache er taget fra navnet på Native Amerikansk stamme 'Apache', berømt for sine færdigheder i krigsførelse og strategiudformning.

Det er en modulær, procesbaseret webserverapplikation, der opretter en ny tråd med hver samtidig forbindelse. Det understøtter en række funktioner; mange af dem er sammensat som separate moduler og udvider dets kernefunktionalitet og kan levere alt fra serversides programmeringssprogssupport til godkendelsesmekanisme. Virtuel hosting er en sådan funktion, der gør det muligt for en enkelt Apache-webserver at betjene et antal forskellige websteder.

Sådan installeres Apache

Der er adskillige måder at installere pakken eller applikationen på. Der er hvervet nedenfor -

  1. En af funktionerne i denne open source webapplikation er, at alle kan lave installationsprogrammer i henhold til deres eget miljø. Dette har gjort det muligt for forskellige leverandører som Debian, Red Hat, FreeBSD, Suse osv. At tilpasse filplaceringen og konfigurationen af ​​apache under hensyntagen til andre installerede applikationer og base OS.
  2. Bortset fra at installere det fra et leverandørbaseret installationsprogram, er der altid mulighed for at opbygge og installere det fra kildekoden. Installation af Apache fra kildefilen er en platformuafhængig og fungerer til alle operativsystemer.

Apache-webserveren er et modulopbygget program, hvor administratoren kan vælge den nødvendige funktionalitet og installere forskellige moduler efter hans / hendes krav.

Alle moduler kan kompileres som dynamiske delte objekter (DSO er en objektfil, der kan deles af flere apps, mens de udføres), der findes separat fra den primære apache-fil. DSO-metoden anbefales stærkt, det gør opgaven med at tilføje / fjerne / opdatere moduler fra serverkonfigurationen meget enkel.

Installer Apache: Linux-platform

På Red Hat eller rpm-baserede systemer

Hvis du bruger en omdrejningstal (RedHat Package Manager er et hjælpeprogram til installation af applikationer på Linux-systemer) baseret Linux-distribution, dvs. Red Hat, Fedora, CentOs, Suse, kan du installere denne applikation af enten leverandørspecifik Package Manager eller direkte opbygning af omdrejningstalfilen fra den tilgængelige kilde tarball.

Du kan installere Apache via standard Package Manager, der er tilgængelig på alle Red Hat-baserede distributioner som CentOs, Red Hat og Fedora.

[root @ amsterdam ~] # yum installer httpd

Apache-kildetarballen kunne konverteres til en rpm-fil ved hjælp af følgende kommando.

[root @ amsterdam ~] # rpmbuild -tb httpd-2.4.x.tar.bz2

Det er obligatorisk at have -devel-pakke installeret på din server til oprettelse af .rpm-fil fra kilden.

Når du konverterer kildefilen til et rpm-installationsprogram, kan du bruge følgende kommando til at installere Apache.

[root @ amsterdam ~] # rpm -ivh httpd-2.4.4-3.1.x86_64.rpm

Efter installationen starter serveren ikke automatisk, for at starte tjenesten skal du bruge en af ​​følgende kommandoer på Fedora, CentOs eller Red Hat.

[root @ amsterdam ~] # / usr / sbin / apachectl start[root @ amsterdam ~] # service httpd start[root @ amsterdam ~] # /etc/init.d/httpd start

Installer Apache fra kilde

Installation af apache fra kilden kræver, at -devel-pakken installeres på din server ... Du kan finde den nyeste tilgængelige version af Apache, du kan downloade den her. Når du har downloadet kildefilen, skal du flytte den til mappen / usr / local / src.

[root @ amserversterdam ~] cd / usr / local / src[root @ amserversterdam ~] gzip -d httpd-2.2.26.tar.gz[root @ amserversterdam ~] tar xvf httpd-2.2.26.tar[root @ amserversterdam ~] httpd-2.2.26

For at se alle de konfigurationsindstillinger, der er tilgængelige for Apache, kan du bruge ./configure -help-indstillingen. Den mest almindelige konfigurationsindstilling er -prefix = {installer katalognavn}.

[root @ amserversterdam ~] ./ konfigurer - hjælp[root @ amserversterdam ~] ./ configure -prefix = / usr / local / apache -enable-so[root @ amserversterdam ~] mærke[root @ amserversterdam ~] foretag installation

Ovenstående eksempel viser kompilering af Apache i / usr / local / apache-kataloget med DSO-kapaciteten. Indstillingen -enable-so kan indlæse de krævede moduler til at apache på kørselstid via DSO-mekanismen i stedet for at kræve en rekompilering.

Når installationen er gennemført, kan du gennemse webserverens standardside med din yndlingsbrowser. Hvis firewall er aktiveret på din server, skal du undtage port 80 på din OS-firewall. Du kan bruge følgende kommando til at åbne port 80.

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

service iptables gemme

Du kan se standard Apache2 velkomstskærm ved at gennemse din server IP-adresse.

Hvad er virtuel vært?

En Apache-webserver kan være vært for flere websteder på SAME- serveren. Du har ikke brug for separat servermaskine og apache-software til hvert websted. Dette kan opnås ved hjælp af konceptet Virtual Host eller VHost.

Ethvert domæne, som du vil være vært på din webserver, vil have en separat post i apache-konfigurationsfilen.

Typer af Apache Virtualhost

  1. Navnebaseret virtuel vært
  2. Adressebaseret eller IP-baseret virtuel vært og.

Navnebaseret virtuel vært

Navnebaseret virtuel hosting bruges til at være vært for flere virtuelle websteder på en enkelt IP-adresse.

For at konfigurere navnebaseret virtuel hosting skal du indstille den IP-adresse, som du skal modtage Apache-anmodningerne til alle de ønskede websteder. Du kan gøre dette ved hjælp af NameVirutalHost-direktivet inden for apache-konfigurationen, dvs. httpd.conf / apache2.conf-filen.

Apache virtuel vært Eksempel:

NameVirtualHost *: 80ServerAdmin Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.DocumentRoot /var/www/html/exempel1.comServernavn www.eksempel1.comServerAdmin Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den. DocumentRoot /var/www/html/example2.com Servernavn www.example2.com 

Du kan tilføje så mange virtuelle værter efter dine krav. Du kan kontrollere dine webkonfigurationsfiler med:

[root @ amsterdam ~] #httpd -tSyntaks OK

Hvis konfigurationsfilen har en forkert syntaks, kaster den en fejl

[root @ 115 conf.d] # httpd -tSyntaksfejl på linje 978 af /etc/httpd/conf/httpd.conf:Ugyldig kommando '*', måske stavet forkert eller defineret af et modul, der ikke er inkluderet i serverkonfigurationen

IP-baseret virtuel vært

For at opsætte IP-baseret virtuel hosting skal du have mere end en IP-adresse konfigureret på din server. Så antallet af vhost apache afhænger af antallet af IP-adresser, der er konfigureret på din server. Hvis din server har 10 IP-adresser, kan du oprette 10 IP-baserede virtuelle værter.

I ovenstående diagram blev to websteder eksempel1.com og eksempel2.com tildelt forskellige IP'er og bruger IP-baseret virtuel hosting.

Lyt 192.168.0.100:80ServerAdmin Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.DocumentRoot /var/www/html/exempel1.comServernavn www.eksempel1.comServerAdmin Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den. DocumentRoot /var/www/html/example2.com Servernavn www.example2.com 

Hvad Apache har brug for for at køre Php-fil?

At køre Php-filer på Apache har brug for mod_php aktiveret på din server. Det giver Apache mulighed for at fortolke .Php-filer. Det har Php-handlere, der fortolker Php-koden i apache og sender HTML til din webserver.

Hvis mod_php er aktiveret på din server, vil du have en fil med navnet php.conf i /etc/httpd/conf.d/ biblioteket. Du kan også kontrollere det med:

httpd -M | grep "php5_module"

Outputtet svarer til:

Php-handlere i Apache

  • mod_php
  • CGI
  • FastCGI
  • suPHP

mod_php er den ældste PHP-handler, det gør PHP til en del af apache og kalder ikke nogen ekstern PHP-proces. Dette modul er som standard installeret i hvert Linux-distributionslager, så det er meget let at aktivere / deaktivere dette modul.

Hvis du bruger FastCGI som din PHP-handler, kan du indstille flere versioner af PHP til at blive brugt af forskellige konti på din server.

FastCGI dvs. mod_fastcgi er en udvidelse af mod_fcgid , hvor som mod_fcgid er et højtydende alternativ til CGI dvs. mod_cgi. Det starter tilstrækkeligt antal forekomster af CGI til at håndtere samtidige webanmodninger. Det bruger også suexec til at understøtte forskellige brugere med deres egne forekomster af PHP og forbedrer websikkerheden.

At køre rubinfiler på Apache har brug for mod_ruby for at være aktiveret. Apache kan også håndtere rubinfiler via FastCGI. Det er muligt at bruge flere versioner af rubin ved hjælp af mod_fcgid dvs. FastCGI.

Du kan også installere apache-passager og konfigurere Apache til at bruge den til betjening af rubinsider.

(Phusion Passenger også kendt som “ passager ” er et gratis webserver-modul, der er designet til at integreres med Apache og Nginx)

Trin til installation af mod_ruby på din server -

cd / tmpwget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gztjære zxvf mod_ruby-1.2.6.tar.gzcd mod_ruby-1.2.6 /./configure.rb --with-apr-inkluderer = / usr / include / apr-1laveforetage installation

Sådan kører du Ruby med Apache

Vi er nødt til at tilføje mod_ruby-modulet til Apache-konfigurationen dvs. /etc/httpd/conf.d/ruby.conf og tilføje følgende linje.

LoadModule ruby_module-moduler / mod_ruby.so

Hvis du gerne vil aktivere eller deaktivere disse moduler, skal du redigere apache-konfigurationsfilen og kommentere eller fjerne kommentarer til disse moduler, hvis webserveren allerede er kompileret med disse moduler.

Sådan sikres Apache-webserver

Det er meget vigtigt at sikre din webserver, det betyder, at andre kun kan se de tilsigtede oplysninger og beskytte dine data og begrænse adgangen.

Dette er almindelige ting, der forbedrer dine Apache-webserveres sikkerhed.

1) Skjuler Apache-version og OS-oplysninger:

Apache viser sin version og navnet på operativsystemet i fejl som vist i nedenstående skærmbillede.

En hacker kan bruge disse oplysninger til at starte et angreb ved hjælp af de offentligt tilgængelige sårbarheder i den bestemte version af serveren eller operativsystemet.

For at forhindre Apache-webserver fra at vise disse oplysninger, er vi nødt til at ændre

"Serversignatur" -mulighed tilgængelig i apache-konfigurationsfilen. Som standard er det "til", vi skal sætte det "fra".

vim /etc/httpd/conf/httpd.conf
Serversignatur slået fraServerTokens Prod

Vi har også indstillet "ServerTokens Prod", der fortæller webserveren at kun returnere apache og undertrykke OS-major og mindre version

Efter at have ændret konfigurationsfilen skal du genstarte / genindlæse din apache-webserver for at gøre den effektiv.

service httpd genstart

2) Deaktiver adresseliste

Hvis dit dokument-rodmappe ikke har en indeksfil, vil din apache-webserver som standard vise alt indholdet af dokumentets rodmappe.

Denne funktion kan deaktiveres for et bestemt bibliotek gennem "indstillingsdirektiv", der er tilgængeligt i Apache-konfigurationsfilen.

Valgmuligheder -Indexer

3) Deaktivering af unødvendige moduler

Det er god praksis at deaktivere alle unødvendige moduler, der ikke er i brug. Du kan se listen over aktiverede moduler tilgængelige i din apache-konfigurationsfil -

[root @ amsterdam ~] #httpd -Mperl_module (delt)php5_module (delt)proxy_ajp_module (delt)python_module (delt)ssl_module (delt)

Mange af de anførte moduler kan deaktiveres likemod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, da de næppe bruges af produktionswebservere.

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

Når du har kommenteret modulet, skal du gemme filen.

Genstart apache-tjenester med følgende kommando.

/etc/init.d/httpd genstart

4) Begrænsning af adgang til filer uden for web-rodmappen

Hvis du gerne vil sørge for, at filer, der er uden for web-rodmappen, ikke er tilgængelige, skal du sørge for, at mappen er begrænset med "Tillad" og "Afvis mulighed" i din webserverkonfigurationsfil.

Indstillinger IngenAllowOverride IngenOrden nægt, tilladBenægt fra alle

Når du først har begrænset adgang uden for webroddirektøren, kan du ikke få adgang til nogen fil, der findes i nogen anden mappe på din webserver, du får 404 returkode.

5) Brug af mod_evasive til at afkræfte DoS-angrebet

Hvis du gerne vil beskytte din webserver mod Dos (dvs. Denial of Service), skal du aktivere modulet mod_evasive. Det er et tredjepartsmodul, der registrerer Dos-angreb og forhindrer angrebet i at gøre så meget skade, som det ville gøre, hvis det blev efterladt for at løbe sin gang. Det kunne downloades her.

Download ovenstående fil

6) Brug af mod_security til at forbedre apache-sikkerheden

Dette modul fungerer som en firewall for Apache og giver dig mulighed for at overvåge trafik i realtid. Det forhindrer også webserveren i brute force-angreb. Mod_security-modulet kan installeres med standardpakkehåndteringen for din distribution.

7) Begrænsning af anmodningsstørrelse

Apache har ingen begrænsninger for den samlede størrelse af http-anmodningen, der kan føre til et DoS-angreb. Du kan begrænse anmodningsstørrelsen for et Apache-direktiv "LimitRequestBody" med biblioteketagget. Værdien kunne indstilles alt fra 0 til 2 GB (dvs. 2147483647 bytes) efter dine krav.

LimitRequestBody 512000

Apache-logformat

Apache-logfiler giver detaljerede oplysninger, der hjælper med at opdage almindelige problemer med serveren.

For at oprette adgangslogfiler skal mod_log_configmodule være aktiveret.

Tre direktiver til rådighed i apache-konfigurationsfil, dvs.

  • TransferLog: Oprettelse af en logfil.
  • LogFormat: Angivelse af et brugerdefineret format.
  • CustomLog: Oprettelse og formatering af en logfil.

TransferLog-direktivet er tilgængeligt i Apache-konfigurationsfilen, og det roterer virtuelle værtslogfiler pr. Sæt parametre.

ServerAdmin Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.DocumentRoot / usr / www / eksempel / httpd / htdocs /Servernavn www.eksempel.comServerAlias ​​eksempel.com www.eksempelErrorLog / usr / www / eksempel / httpd / logs / error_logTransferLog / usr / www / eksempel / httpd / logs / accesslogCustomLog / usr / www / eksempel / httpd / logs / accesslog kombineret

To typer Apache-logformat

  • Fælles logformat
  • Kombineret logformat.

Du kan aktivere dem ved at redigere apache-konfigurationsfilen, dvs. apache2.conf (Debian / ubuntu) eller httpd.conf (rpm-baserede systemer) -fil

Fælles logformat

LogFormat "% h% l% u% t \"% r \ "%> s% b" fællesCustomLog-logfiler / access_log fælles

Almindelig log genereret af Apache

[Ons 11. okt 14:32:52 2000] [fejl] [klient 127.0.0.1] klient afvist af serverkonfiguration: / eksport / hjem / live / ap / htdocs / test

Kombineret logformat

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

Her,

  • % h er fjernværten
  • % l er brugerens identitet bestemt af identd
  • % u er brugernavnet bestemt af HTTP-godkendelse
  • % t er det tidspunkt, serveren er færdig med at behandle anmodningen.
  • % r er anmodningslinjen fra klienten. ("GET / HTTP / 1.0")
  • %> s er statuskoden sendt fra serveren til klienten (500, 404 osv.)
  • % b er størrelsen på svaret til klienten (i byte)
  • Referer er den side, der linkes til denne URL.
  • User-agent er browserens identifikationsstreng.

Kombineret log genereret af Apache:

199.187.122.91 - - [06 / Mar / 2014: 04: 22: 58 +0100] "GET /robots.txt HTTP / 1.1" 404 1228 "-" "Mozilla / 4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; SV1 ; .NET CLR 2.0.50727) "

Brugerdefineret log opretter separat logfil for hver virtuel vært på din server. Det skal specificeres i den virtuelle værtssektion i konfigurationsfilen.

Du kan se nedenstående virtuelle værtskonfiguration, genereret log vil være tilpasset den virtuelle vært, og formatet kombineres.

Konfigurer din allerførste produktionsweb-Sever

1. For at have en kørende produktionswebserver skal du bruge en dedikeret knude (fysisk / virtuel eller skyinstans), der kører Linux / Unix, Windows, MacOS osv.

2. Webserveren skal have en direkte netværksforbindelse og en staticIP-adresse konfigureret på den.

3. Det skal have alle de moduler, der kræves for at køre websider. Hvis en webserver behandler PHP-sider, skal den have PHP-modul aktiveret.

  1. Det skal også have en god antivirusapplikation konfigureret og kører for at sikre webserveren mod malware eller virusangreb. Du har også brug for mekanisme til at opdatere den konfigurerede antivirus / anti-malware-applikation regelmæssigt uden nogen manuel indgriben for at få størst mulig fordel af dem.
  2. Hvis du har hundreder af domæner, der skal hostes på din webserver, skal du implementere begrænsninger på filsystemkvoten for hvert domæne, antallet af databaser, hvert domæne kan oprette, antal e-mail-konti pr. Domæne osv.
  3. Hvis din webserver er konfigureret til delte hostingtjenester, skal brugere på din webserver være begrænset . En delt hostingbruger skal have mindst brugerprivilegium, så han ikke beskadiger vigtige filer og bryder hele serveren. Apache leverer ingen sådan funktionalitet og har brug for forskellige tredjepartsapplikationer, tilpasning af OS for at opnå dette.
  4. Hvis du tilføjer et nyt domæne på din webserver, skal det redigeres i hundredvis af konfigurationsfiler for at aktivere alle funktioner til det tilføjede domæne.
  5. Hvis et af de hostede domæner kræver en anden PHP-indstilling end resten af ​​domænerne, er implementering af dette i Apache-kerne-webserveren meget kompliceret og kræver tilpasning af din webserver i høj grad.
  6. En produktionswebserver har brug for en firewall for at blokere for uønsket trafik, der kan forårsage stor belastning på din server. Implementering af IPTABLE regler med kommandolinjen er meget kompleks. Det har brug for ekspertise inden for Linux / Unix-miljøet til at skrive effektive firewallregler til blokering af uønsket trafik. IPTABLE er baseret på netfiltermodul; Det er en firewall på OS-niveau, der giver en administrator mulighed for at oprette regler for indgående / udgående trafik på serveren.
  7. En produktionswebserver kræver flere forskellige applikationer som e-mail , FTP til upload af filer, Domain Name System til parkerede domæner. Administration af alle disse applikationer på et kernelinux / Unix-system kræver ekspertise inden for de respektive teknologier.

Så man kan sige, at styring af en webserver til flere domæner er en meget kompleks opgave og kræver redigering af hundredvis af konfigurationsfiler, der tilpasser hver applikation til at opfylde det ønskede resultat. Fejlfinding af enhver misskonfiguration vil være meget vanskelig for begyndere.

Løsningen ved hjælp af Cpanel eller lignende software

Cpanel giver en grafisk måde at administrere din webserver på . Det er meningen at levere massehostingtjenester, der er nemme at bruge og konfigurere. cPanel har reduceret de tekniske barrierer for adgang til hosting og webserveradministration. Det gør den komplekse opgave lettere, det giver mange nyttige og nemme at bruge webgrænseflader, der udfører almindelige systemadministrationsopgaver, der kræves for at betjene en webserver.

cPanel kompilerer sin egen version af software.

Hvis du skal kompilere din webserver, dvs. apache på normal Linux-platform, skal du manuelt vælge / søge i det krævede modul. cPanel giver Easyapache-funktionalitet, der er en scriptbaseret webserver-kompileringsmetode.

Det giver dig ikke kun webtjenester, men også Mail, DNS, FTP og mange flere tjenester, der kræves til din webapplikation.

En opgave, der har brug for ekspertise inden for Linux / Unix-baserede hosting som installation af SSL'er, rekompilering af Apache med forskellige PHP-moduler, opdatering af websikkerhed, konfigurering af effektive IPTABLE regler, tilføjelse af ftp-brugere, oprettelse af mailkonti til hvert domæne, scanning af din dokumentrod med antivirus og oprettelse af databaser er nemme at udfylde med cPanel.

Det giver mange scripts, der løser, installerer og foretager fejlfinding af almindelige administrative opgaver.

Det giver en sikkerhedskopierings- og gendannelsesfunktionalitet, der eliminerer behovet for manuelt at kopiere filer til sikkerhedskopilagring. Hvis du sikkerhedskopierer dit domæne, opretter cPanel en tar-fil, der indeholder dokumentrodmappe, e-mail-konti og mails, ftp-konti, databaser, DNS-poster og andre applikationer.

Det giver også en robust dokumentation og har et meget stort brugerfællesskab, hvor du kunne diskutere og få løsning på dine problemer.

Så man kan sige, at cPanel er den bedste applikation til styring af din webserver med nødvendige funktioner. Det giver dig en brugervenlig grænseflade til styring af dit domæne og en mekanisme til at undgå kompleksitet i styring af kerne-webserver.

Der er mange konkurrerende produkter til cPanel som Plesk, ISPConfig, Ajenti, Kloxo, Open Panel, Zpanel osv.

Interessante artikler...