Hvad er Apache?
Apache er et bemærkelsesværdigt stykke applikationssoft .are. Det er den mest udbredte applicationebserver ansøgning i verden med mere end 50% andel i den kommercielle marketebserver markedet. Apache er den mest anvendte applicationebserverapplikation i Uni. – lignende operativsystemer, men kan bruges på næsten alle platforme som Windowsindo .s, OS., OS/2 osv., Ordet, Apache, er taget fra navnet på den indianske stamme ‘Apache’, berømt for sine færdigheder i krigsførelse og strategifremstilling.
det er et modulært, procesbaseret applicationebserverprogram, der opretter en ny tråd med hver samtidig forbindelse. Det understøtter en række funktioner; Mange af dem er udarbejdet som separate moduler og udvide sin kerne funktionalitet, og kan give alt fra server side programmeringssprog støtte til godkendelsesmekanisme. Virtuel hosting er en sådan funktion, der tillader en enkelt Apache-Webebserver at betjene en række forskellige websebsteder.,
Sådan installeres Apache
Der er adskillige måder at installere pakken eller applikationen på. Der er Vervet nedenfor –
- en af funktionerne i denne open source webebapplikation er, at enhver kan lave installationsprogram i henhold til deres eget miljø. Dette har gjort det muligt for forskellige forhandlere som Debian, Red Hat, FreeBSD, Suse osv. for at tilpasse filplaceringen og konfigurationen af apache under hensyntagen til andre installerede applikationer og base OS.,
- 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 platform uafhængig & virker for alle OS.
apache webebserveren er et modulært program, hvor administratoren kan vælge den ønskede funktionalitet og installere forskellige moduler som pr hans / hendes krav.,
alle moduler kan kompileres som en dynamisk Delte Objekter (DSO er en objektfil, der kan deles af flere apps, mens de udføres), der findes separat fra den vigtigste apache-fil. DSO-tilgangen 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 rpm (RedHat Package Manager er et værktøj til at installere programmet på Linux-systemer), baseret Linux-distribution, dvs, Red Hat, Fedora, CentOs, Suse, du kan installere denne applikation ved enten leverandørspecifik pakkehåndtering eller direkte opbygge rpm-filen fra den tilgængelige kilde tarball.
Du kan installere Apache via standard pakke Manager tilgængelig på alle Red Hat baserede distributioner som CentOs, Red Hat og Fedora.
# yum install httpd
apache-kildekoden tarball kunne konverteres til en rpm-fil ved hjælp af følgende kommando.
# rpmbuild -tb httpd-2.4.x.tar.bz2
det er obligatorisk at have-devel-pakke installeret på din server til oprettelse .rpm-fil fra kilden.,
Når du konverterer kildefilen til et rpm-installationsprogram, kan du bruge følgende kommando til at installere Apache.
# 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 kommando på Fedora, CentOs eller Red Hat.
# /usr/sbin/apachectl start# service httpd start# /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 seneste tilgængelige version af Apache, du kan do .nloade den her ., Når du har do .nloadet kildefilen, skal du flytte den til mappen /usr/local/src.
for at se alle konfigurationsindstillinger, der er tilgængelige for Apache, kan du bruge ./ configure-hjælp mulighed. Den mest almindelige konfigurationsindstilling er-prefi.={install directory name}. ovenstående eksempel viser kompilering af Apache i mappen/usr/local / apache med DSO-funktionen. Indstillingen-enable-so kan indlæse nødvendige moduler til apache ved køretid via DSO-mekanismen i stedet for at kræve en genkompilering.,
Når installationen er afsluttet, kan du gennemse standardsiden for defaultebservere med din foretrukne bro .ser. Hvis firewallen er aktiveret på din server, skal du nødt til at gøre undtagelse for 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 Gem
Du kan se Standard Apache2 velkomstskærmen ved at gennemse din server IP-adresse.
Hvad er Virtual Host?
en Apache-webebserver kan være vært for flere websebsteder på den samme server., Du behøver ikke separat server maskine og apache soft .are for hver hjemmeside. Dette kan opnås ved hjælp af begrebet virtuel vært eller vhost.
ethvert domæne, som du vil være vært for på din webebserver, vil have en separat post i apache-konfigurationsfil.
Typer af Apache Virtualhost
- Navn-baseret Virtuel vært
- Adresse-baseret eller IP-baseret virtuel vært og.
navnebaseret virtuel vært
navnebaseret virtuel hosting bruges til at være vært for flere virtuelle sitesebsteder på en enkelt IP-adresse.,
for at konfigurere navn baseret virtuel hosting, er du nødt til at indstille IP-adresse, som du vil modtage Apache anmodninger om alle de ønskede hjemmesider. Du kan gøre dette ved NameVirutalHost direktiv inden for apache konfiguration dvs httpd.conf / apache2.conf-filen.
Apache virtual host eksempel:
Du kan tilføje så mange virtuelle værter, som pr dine krav., Du kan kontrollere dine configurationebkonfigurationsfiler med:
#httpd –tSyntax OK
Hvis konfigurationsfilen har en forkert syntaks, vil den kaste en fejl
IP-baseret virtuel vært
for at konfigurere IP-baseret virtuel hosting skal du have mere end en IP-adresse konfigureret på din server. Så antallet af vhost apache afhænger afantal IP-adresse konfigureret på din server. Hvis din server har 10 IP-adresser, kan du oprette 10 IP-baserede virtuelle værter.
I ovenstående diagram to hjemmesider eksempel1.,com og example2.com blev tildelt forskellige IP ‘ er og bruger IP-baseret virtuel hosting.
hvad Apache behov for at køre Php fil?
kørsel af Php-filer på Apache har brug for mod_php aktiveret på din server. Det gør det muligt for Apache at fortolke .Php-filer. Det har Php handlere, der fortolker PHP kode i apache og sende HTML til din serverebserver.
Hvis mod_php er aktiveret på din server, vil du have en fil med navnet php.conf i / etc/httpd / conf.d / directory., Du kan også tjekke det med:
httpd -M | grep "php5_module"
output vil være de samme:
Php-handlere i Apache
- mod_php
- CGI
- Tools
- suPHP
mod_phpis den ældste PHP handler, det gør at PHP er en del af apache, og ikke kalde nogen eksterne PHP-processen. Dette modul er installeret som standard i alle Linu.distribution repository, så det er meget nemt at aktivere/deaktivere dette modul.,
Hvis du bruger FastCGI som din PHP-handler, kan du indstille flere versioner af PHP, der skal bruges af forskellige konti på din server. 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 tilfælde af CGI til at håndtere samtidige requestsebanmodninger. Det bruger også Sue .ec til at støtte forskellige brugere med deres egne forekomster af PHP og forbedrer webebsikkerhed. kørsel af ruby-filer på Apache kræver, at mod_ruby er aktiveret. Apache kan også håndtere ruby filer via FastCGI., Det er muligt at bruge flere versioner af ruby ved hjælp af mod_fcgid dvs FastCGI.
Du kan også installere apache passenger og konfigurere Apache til at bruge det til servering ruby sider.
(Phusion Passager, der også er kendt som “passager” er en gratis web-server-modul, der er designet til at integrere med Apache og Nginx )
Trin for at installere mod_ruby på din server –
Hvordan til at køre Ruby med Apache
Vi er nødt til at tilføje mod_ruby modul til Apache konfiguration, dvs /etc/httpd/conf.d / ruby.conf og tilføje følgende linje.
LoadModule ruby_module modules / mod_ruby.,så hvis du vil aktivere eller deaktivere disse moduler, skal du redigere apache-konfigurationsfilen og kommentere eller afkommentere disse moduler, hvis webebserveren allerede er kompileret med disse moduler.
Hvordan sikrer Apache Web-Server
Securing your web server er meget vigtigt, det betyder at tillade andre at se kun den tilsigtede information & beskyttelse af dine data og begrænset adgang.
Dette er almindelige ting, der forbedrer din Apache webebservers sikkerhed.,
1) Skjul Apache version og OS information:
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 lancere et angreb ved hjælp af offentligt tilgængelige sårbarheder i den specifikke version af server eller OS.
for at forhindre Apache websebserverfromdisplaying disse oplysninger, er vi nødt til at ændre
“server signatur” mulighed tilgængelig i apache konfigurationsfilen., Som standard er det “on”, vi skal indstille det”off”.
vim /etc/httpd/conf/httpd.conf
ServerSignature OffServerTokens Prod
Vi har også set “ServerTokens Prod”, der fortæller web server til at vende tilbage kun apache og undertrykke OS større og mindre version
Efter ændring af den konfigurationsfil, du er nødt til at genstarte/reload din apache web server til at gøre det effektivt.,
service httpd restart
2) Deaktivere katalogliste
Hvis dit document root directory ikke har en index-fil, som standard din apache web server vil vise alt indhold i document root directory.
denne funktion kan være slukket for en bestemt mappe gennem “options directive”, der er tilgængelig i Apache-konfigurationsfilen.,
<Directory /var/www/html> Options -Indexes</Directory>
3) at Deaktivere unødvendige moduler
Det er god praksis at deaktivere alle unødvendige moduler, der ikke er i brug. Du kan se liste over aktiveret modul tilgængelig i din apache konfigurationsfil –
mange af de anførte moduler kan deaktiveres likemod_imap, mod_include, mod_info, mod_userdir, mod_autoinde., da de næppe bruges af nogen Produktions webebservere.
vi /etc/httpd/conf/httpd.conf#LoadModule auth_digest_module modules/mod_auth_digest.so
Når du kommenterede modulet, skal du gemme filen., genstart apache-tjenester med følgende kommando.
/etc/init.d/httpd restart
4) Begrænsning af Adgang til filer uden for nettet rod mappe
Hvis du gerne gøre sikker på, at filer, der er uden for web root directory ikke er tilgængelige, bliver du nødt til at sørge for, at biblioteket er begrænset med “Tillad”, og “Nægt løsning” i din web server configuration file.
<Directory/>Options NoneAllowOverride NoneOrder deny,allowDeny from all</Directory>
Når du begrænser acess uden for direceb root directoy, vil du ikke kunne få adgang til nogen fil placeret på en anden mappe på din webebserver, du får 404 returkode.,
5) ved Hjælp af mod_evasive til at afkræfte DoS attack
Hvis du gerne beskytte din web-server fra Dos (dvs lammelsesangreb (Denial of Service), skal du aktivere modulet mod_evasive. Det er en tredjepart modul, der registrerer Dos angreb og forhindrer angrebet fra at gøre så meget skade, som det ville gøre, hvis venstre til at køre sin kurs. Det kunne do .nloades her.,
Download ovenstående Fil
6) ved Hjælp af mod_security til at forbedre apache security
Dette modul fungerer som en firewall for Apache og giver dig mulighed for at overvåge trafikken i realtid. Det forhindrer også webebserveren fra brute force-angreb. Den mod_security modulet kunne installeres med standard pakke manager for din distribution.
7) Begrænse anmodning størrelse
Apache ikke har nogen begrænsning på den samlede størrelse af http-anmodning, der kunne føre til et lammelsesangreb (DoS) angreb., Du kan begrænse anmodningsstørrelsen på et Apache-direktiv “Limitre .uestbody” med katalogmærket. Værdien kan indstilles alt fra 0 til 2 GB (dvs.2147483647 bytes) som pr dine krav.
<Directory "/var/www/html/uploads"> LimitRequestBody 512000</Directory>
Apache Log Format
Apache logs 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 er tilgængelige i apache config fil dvs
- TransferLog: oprettelse af en logfil.
- LogFormat: angivelse af et brugerdefineret format.,oprettelse og formatering af en logfil.TransferLog-direktivet er tilgængeligt i Apache-konfigurationsfilen, og det roterer virtuelle værtslogfiler som pr.indstillede parametre.
to typer Apache Log Format
- fælles Log Format
- kombineret Log Format.
Du kan aktivere dem ved at redigere apache-konfigurationsfilen, dvs.apache2.conf (Debian/ubuntu) eller httpd.,conf (rpm-baserede systemer) – fil
Common Log Format
LogFormat "%h %l %u %t \"%r\" %>s %b" commonCustomLog logs/access_log common
Fælles Log genereret af Apache
client denied by server configuration: /export/home/live/ap/htdocs/test
Kombineret 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 vært
- %l er brugerens identitet bestemmes af identd
- %u er brugernavnet bestemmes af HTTP-godkendelse
- %t er den tid serveren 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 af svaret til klienten (i bytes)
- Referer er den side, der er knyttet til denne URL.
- Bruger-agent er bro .ser identifikationsstrengen.
kombineret Log genereret af Apache:
brugerdefineret Log opretter separat logfil for hver virtuel vært på din server. Det skal angives i den virtuelle vært sektion af konfigurationsfilen.,
Du kan se nedenstående virtuelle værtskonfiguration, genereret log vil blive tilpasset til den virtuelle vært, og formatet vil blive kombineret.
Konfigurer din meget første Produktion Web Sever
1. For at have en løbende produktion, web-server, du har brug for en dedikeret node (Fysiske/Virtuelle eller cloud instans), der kører Linux/Unix, Windows, MacOS osv.
2. Webebserveren 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 webebsider. Hvis en PHEBSERVER behandler PHP-sider, skal den have PHP-modul aktiveret.
- Det er også behov for at have et godt Antivirus-program, der er konfigureret og kører til sikring af Web-Serveren fra Malware eller Virus angreb. Du har også brug mekanisme til at opdatere den konfigurerede antivirus / anti Mal .are program på regelmæssig basis uden manuel indgriben for at få maksimalt udbytte af dem.,
- hvis du har hundredvis af domæner, der skal hostes på din webebserver, skal du have implementeret begrænsninger på filsystemkvote for hvert domæne, antal databaser, som hvert domæne kan oprette, antal e-mail-konti pr.
- hvis din serverebserver er blevet konfigureret til delte hostingtjenester, skal brugere på din webebserver begrænses. En delt hostingbruger skal have mindst brugerrettigheder, så han ikke beskadiger vigtige filer & bryd hele serveren., Apache leverer ikke nogen sådan funktionalitet og har brug for forskellige tredjepartsapplikationer, tilpasning af OS for at opnå dette.
- hvis du tilføjer et nyt domæne på din serverebserver, skal den redigere hundredvis af konfigurationsfiler for at aktivere alle funktioner for det tilføjede domæne.
- hvis et af de hostede domæner kræver en anden PHP-indstilling end resten af domænerne, er implementering af dette i core Apache Apacheebserver meget kompliceret og har brug for tilpasning af din .ebserver i vid udstrækning.,
- en Produktions webebserver har brug for en fire .all for at blokere 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 i core Linu. / Uni. miljø til at skrive effektive fire .all regler for at blokere uønsket trafik. IPTABLE er baseret på netfilter modul; Det er en OS-niveau fire .all, der giver en administrator mulighed for at oprette regler for indgående/udgående trafik på serveren.
- en Produktions webebserver kræver flere forskellige applikationer som e-mail, FTP til filoverførsel, domænenavnssystem for parkerede domæner., Håndtering af alle disse applikationer på et centralt Linu. / Uni. – system kræver ekspertise på de respektive teknologier.
så man kan sige, at administration af en .ebserver til flere domæner er meget kompleks opgave og kræver redigering af hundredvis af konfigurationsfiler, der tilpasser hvert program til at opfylde det ønskede resultat. Fejlfinding af enhver miss-konfiguration vil være meget vanskelig for begyndere.
løsningen ved hjælp af Cpanel eller lignende soft .are
Cpanel giver en grafisk måde at styre din Cpebserver på., Det er beregnet til at levere masse hosting-tjenester, der er let at bruge og konfigurere. cPanel har reduceret de tekniske hindringer for adgang til hosting-og managementebserveradministration. Det gør komplekse opgave lettere, det giver mange nyttige og nemme at bruge webebgrænseflader, der udfører fælles systemadministration opgaver, der kræves for at drive en .ebserver.
cPanel udarbejder sin egen version af softwaren.
Hvis du skal genkompilere din webebserver, dvs., apache på normal Linu. – platform skal du manuelt vælge/søge i det modul, der kræves. cPanel giver Easyapache funktionalitet, der er et script baseret compilationebserver kompilering metode.
Det ikke kun giver dig web services, men også e-Mail, DNS, FTP og mange flere tjenester, der er nødvendige for din web-applikation.,
En opgave, der kræver ekspertise på kernen Linux/Unix-baseret hosting, som at installere SSLs, genkompilering Apache med forskellige PHP moduler, opdatering af Web-Sikkerhed, konfiguration effektiv IPTABLE regler, Tilføje ftp-brugere, oprettelse af e-mail-konti for hver enkelt domæne, scanning af dit dokuments rod med antivirus og oprettelse af databaser er nemme at færdiggøre med cPanel.
det giver en masse scripts, der løser, installere og fejlfinde almindelige administrative opgaver.
det giver en backup og gendannelse funktionalitet eliminerer behovet for manuelt at kopiere filer til backup opbevaring., Hvis du sikkerhedskopierer dit domæne, opretter cPanel en tar-fil, der indeholder dokument rodmappe, e-mail-konti og mails, ftp-konti, databaser, DNS-poster og andre applikationer.
det giver også en robust dokumentation, andhas et meget stort fællesskab af brugere, hvor du kan diskutere og få løsning på dine problemer. så man kan sige, at cPanel er en bedste applikation til styring af din .ebserver med nødvendige funktioner. Det giver dig, let at bruge interface til styring af dit domæne og en mekanisme til at undgå kompleksiteten af at styre core Serverebserver.,
Der er mange konkurrerende produkter til cPanel som Plesk, ISPConfig, Ajenti, klo .o, Open Panel, .panel osv.