Apache Tutorials for begyndere

Hvad er Apache?

Apache er et bemærkelsesværdigt stykke applikationsprogram. Det er den mest anvendte Internetserverapplikation i verden med mere end 50% andel på det kommercielle internetservermarked. Apache er den mest anvendte serverapplikation i unikke operativsystemer, men kan bruges på næsten alle platforme som f.eks. Ordet, Apache, er taget fra navnet på den indianske stamme ‘Apache’, berømt for sine færdigheder inden for krigsførelse og strategifremstilling.

det er et modulopbygget, procesbaseret internetserverprogram, 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 godkendelse mekanisme. Virtuel hosting er en sådan funktion, der gør det muligt for en enkelt Apache-Server at betjene en række forskellige hjemmesider.

Apache Tutorials for begyndere

Sådan installeres Apache

der er mange måder at installere pakken eller applikationen på. Der er tilmeldt nedenfor-

  1. et af funktionerne i denne open source-applikation er, at enhver kan lave installationsprogram i henhold til deres eget miljø. Dette har tilladt forskellige leverandører som Debian, Red Hat, FreeBSD, Suse osv. for 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 bygge og installere det fra kildekoden. Installation af Apache fra kildefilen er en platform uafhængig & virker for alle OS.apache-serveren er et modulopbygget program, hvor administratoren kan vælge den ønskede funktionalitet og installere forskellige moduler i henhold til hans/hendes krav.

    alle moduler kan kompileres som en dynamisk delt objekter (DSO er en objektfil, der kan deles af flere apps, mens de udføres), der findes separat fra apache-hovedfilen. DSO-tilgangen anbefales stærkt, det gør opgaven med at tilføje/fjerne/Opdatere moduler fra serverkonfigurationen meget enkel.

    installer Apache: Linieplatform

    på Red Hat eller rpm-baserede systemer

    Hvis du bruger en rpm (RedHat Package Manager er et værktøj til installation af applikation på Liniesystemer) baseret liniedistribution dvs. Red Hat, Fedora, CentOs, Suse, kan du installere dette program ved enten leverandør specifik pakke Manager eller direkte opbygge rpm fil fra den tilgængelige kilde tarball.

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

    # yum install httpd

    apache source 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-pakken installeret på din server til oprettelse .rpm-fil fra kilde.

    når du har konverteret 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 kommandoer 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 nyeste tilgængelige version af Apache, du kan hente den her . Når du henter kildefilen flytte den til mappen/usr/local / src.

     cd /usr/local/src gzip -d httpd-2.2.26.tar.gz tar xvf httpd-2.2.26.tar httpd-2.2.26

    for at se alle konfigurationsmuligheder, der er tilgængelige for Apache, kan du bruge ./ Konfigurer-hjælp mulighed. Den mest almindelige konfigurationsmulighed er-præfiks={install directory name}.

    ./configure --help./configure –prefix=/usr/local/apache –enable-so make make install

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

    Når installationen er færdig, kan du gennemse serverens standardside med din foretrukne bro.ser. Hvis du er aktiveret på din server, skal du gøre en undtagelse for port 80 på dit operativsystem. 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.

    Apache Tutorials for begyndere

    Hvad er virtuel vært?

    en Apache-server kan være vært for flere hjemmesider på den samme server. Du behøver ikke separat server maskine og apache program for hver hjemmeside. Dette kan opnås ved hjælp af begrebet virtuel vært eller VHost.

    ethvert domæne, du vil være vært for på din internetserver, vil have en separat post i Apache-konfigurationsfilen.

    Apache Tutorials for begyndere

    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 sider på en enkelt IP-adresse.

    Apache Tutorials for begyndere

    for at konfigurere navn baseret virtuel hosting, skal du indstille IP-adressen, 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 fil.

    Apache virtuelle vært eksempel:

    NameVirtualHost *:80<VirtualHost 192.168.0.108:80>ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it.DocumentRoot /var/www/html/example1.com ServerName www.example1.com</VirtualHost><VirtualHost 192.168.0.108:80>ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it.DocumentRoot /var/www/html/example2.comServerName www.example2.com</VirtualHost>

    Du kan tilføje så mange virtuelle værter, som pr dine krav.

    #httpd –tSyntax OK

    Hvis konfigurationsfilen har en forkert syntaks, vil den kaste en fejl

    # httpd -tSyntax error on line 978 of /etc/httpd/conf/httpd.conf:Invalid command '*', perhaps misspelled or defined by a module not included in the server configuration

    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 afantal IP-adresse konfigureret på din server. Hvis din server har 10 IP-adresser, kan du oprette 10 IP-baserede virtuelle værter.

    Apache Tutorials for begyndere

    i ovenstående diagram to hjemmesider example1.com og example2.com blev tildelt forskellige IP ‘ er og bruger IP-baseret virtuel hosting.

    Listen 192.168.0.100:80<VirtualHost 192.168.10.108:80>ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it.DocumentRoot /var/www/html/example1.com ServerName www.example1.com</VirtualHost><VirtualHost 192.168.10.109:80>ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it.DocumentRoot /var/www/html/example2.comServerName www.example2.com</VirtualHost>

    hvad Apache skal køre Php-fil?

    kørsel af 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 internetserver.

    hvis mod_php er aktiveret på din server, har du en fil med navnet php.conf i / etc / httpd / conf.d / vejviser. Du kan også tjekke det med:

    httpd -M | grep "php5_module"

    udgangen vil svare til:

    Apache Tutorials for begyndere

    Php handlere i Apache

    • mod_php
    • CGI
    • FastCGI
    • suPHP

    mod_phpis den ældste PHP handler, det gør PHP del af Apache og kalder ikke nogen ekstern PHP proces. Dette modul er som standard installeret i alle distributionslager, 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 til at blive brugt af forskellige konti på din server.

    FastCGI dvs. mod_fastcgi er en udvidelse af mod_fcgid, hvor as 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 internetanmodninger. Det bruger også til at støtte forskellige brugere med deres egne forekomster af PHP og forbedrer internetsikkerheden.

    kørsel af ruby-filer på Apache skal mod_ruby aktiveres. Apache kan også håndtere ruby filer gennem FastCGI. Det er muligt at bruge flere version af ruby ved hjælp af mod_fcgid dvs FastCGI.

    Du kan også installere apache passenger og konfigurere Apache til at bruge den til servering af ruby pages.

    (Phusion Passenger også kendt som “passenger” er et gratis servermodul, der er designet til at integrere med Apache og Ngink)

    trin til installation af mod_ruby på din server –

    cd /tmpwget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gztar zxvf mod_ruby-1.2.6.tar.gzcd mod_ruby-1.2.6/ ./configure.rb --with-apr-includes=/usr/include/apr-1makemake install

    Sådan køres 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øj følgende linje.

    LoadModule ruby_module moduler / mod_ruby.så

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

    Apache Tutorials for begyndere

    Sådan sikres Apache internetserver

    sikring af din internetserver er meget vigtigt, det betyder, at andre kun kan se de tilsigtede oplysninger& beskyttelse af dine data og begrænsning af adgang.

    Dette er almindelige ting, der forbedrer dine Apache-serverers 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.

    Apache Tutorials for begyndere

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

    for at forhindre Apache fra at vise disse oplysninger, skal vi æ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å indstillet “ServerTokens Prod”, der fortæller internetserveren at returnere kun apache og undertrykke os major og minor version

    Når du har ændret konfigurationsfilen, skal du genstarte/genindlæse din apache-server for at gøre den effektiv.

    service httpd restart

    Apache Tutorials for begyndere

    2) Deaktiver Mappeliste

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

    Apache Tutorials for begyndere

    denne funktion kan slukkes for en bestemt mappe gennem “options directive” tilgængelig i Apache-konfigurationsfilen.

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

    Apache Tutorials for begyndere

    3) Deaktivering af unødvendige moduler

    det er god praksis at deaktivere alle unødvendige moduler, der ikke er i brug. Du kan se en liste over aktiveret modul, der er tilgængeligt i din Apache – konfigurationsfil –

    #httpd –Mperl_module (shared)php5_module (shared)proxy_ajp_module (shared)python_module (shared)ssl_module (shared)

    mange af de anførte moduler kan deaktiveres sommod_imap, mod_include, mod_info, mod_userdir, mod_autoindeks, da de næppe bruges af nogen produktionsservere.

    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 restart

    4) begrænsning af adgangen til filer uden for rodmappen

    Hvis du vil sikre dig, at Filer uden for rodmappen ikke er tilgængelige, skal du sørge for, at mappen er begrænset med “Tillad” og “Afvis valgmulighed” i din serverkonfigurationsfil.

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

    Når du begrænser adgang uden for internetrod directoy, vil du ikke kunne få adgang til nogen fil placeret på en anden mappe på din internetserver, får du 404 returkode.

    Apache Tutorials for begyndere

    5) Brug af mod_evasive til at modbevise dos-angrebet

    Hvis du gerne vil beskytte din internetserver mod Dos (dvs.lammelsesangreb), 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 tilbage for at køre. Det kunne hentes her.

    Hent ovenstående fil

    6) Brug af mod_security til at forbedre apache-sikkerheden

    Dette modul fungerer som en brandvæg til Apache og giver dig mulighed for at overvåge trafikken i realtid. Det forhindrer også internetserveren fra brute force angreb. Mod_security-modulet kan installeres med standardpakkeadministratoren for din distribution.

    Apache Tutorials for begyndere

    7) begrænsning af anmodningsstørrelse

    Apache har ingen begrænsning på den samlede størrelse af http-anmodningen, der kan føre til et DoS-angreb. Du kan begrænse anmodningsstørrelsen på et Apache-direktiv “Limit Recommestbody” 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, der er tilgængelige i apache config-fil, 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 i henhold til indstillede parametre.

    <VirtualHost www.example.com> ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it. DocumentRoot /usr/www/example/httpd/htdocs/ ServerName www.example.com ServerAlias example.com www.example ErrorLog /usr/www/example/httpd/logs/error_log TransferLog/usr/www/example/httpd/logs/accesslog CustomLog /usr/www/example/httpd/logs/accesslog combined</VirtualHost>

    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 based systems) file

    Common Log Format

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

    Common Log genereret af Apache

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

    kombineret logformat

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

    Her,

    • %h er fjernværten
    • %l er brugerens identitet bestemt af identd
    • %u er brugernavnet bestemt af HTTP-godkendelse
    • %t er det tidspunkt, hvor 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 bytes)
    • Refereren er den side, der linkede til denne URL.
    • User-agent er en brugeridentifikationsstreng.

    kombineret Log genereret af Apache:

    199.187.122.91 - - "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; 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 sektionen virtuel vært i konfigurationsfilen.

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

    Apache Tutorials for begyndere

    Konfigurer din allerførste Produktionssnit

    1. For at have en kørende produktionsserver har du brug for en dedikeret node (fysisk/virtuel eller cloud-forekomst), der kører.

    2. Internetserveren 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 hjemmesider. Hvis en server behandler PHP-sider, skal den have PHP-modul aktiveret.

    Apache Tutorials for begyndere

    1. det skal også have et godt antivirusprogram konfigureret og kører for at sikre internetserveren fra ondsindede eller virusangreb. Du har også brug for mekanisme til at opdatere den konfigurerede antivirus/anti-program på regelmæssig basis uden manuel indgriben for at få maksimalt udbytte af dem.
    2. hvis du har hundredvis af domæner, der skal hostes på din internetserver, skal du implementere begrænsninger på filsystemkvote for hvert domæne, antal databaser, som hvert domæne kan oprette, antal e-mail-konti pr.domæne osv.
    3. hvis din internetserver er blevet konfigureret til delte hostingtjenester, skal brugere på din internetserver begrænses. En delt hosting bruger skal have mindst bruger privilegium, så han ikke beskadiger vigtige filer & bryde hele serveren. Apache giver ikke nogen sådan funktionalitet og har brug for forskellige tredjeparts applikationer, tilpasning af OS for at opnå dette.
    4. hvis du tilføjer et nyt domæne på din internetserver, skal det redigere hundredvis af konfigurationsfiler for at aktivere alle funktioner for 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 implementeringen af dette i core Apache-serveren meget kompleks og kræver i høj grad tilpasning af din internetserver.
    6. en produktionsserver har brug for en brandvæg for at blokere uønsket trafik, der kan forårsage høj belastning på din server. Implementering af IPTABLE regler med kommandolinje er meget kompleks. Det har brug for ekspertise inden for kernemiljø for at skrive effektive brandvægsregler til blokering af uønsket trafik. IPTABLE er baseret på netfilter modul; Det er et OS-niveau brandvæg, der giver en administrator mulighed for at oprette regler for indgående/udgående trafik på serveren.
    7. en produktionsserver kræver flere forskellige applikationer som e-mail, FTP til filoverførsel, domænenavnssystem til parkerede domæner. Håndtering af alle disse applikationer på et kernesystem kræver ekspertise inden for de respektive teknologier.

    så man kan sige, at styring af en internetserver til flere domæner er meget kompleks opgave og kræver redigering af hundredvis af konfigurationsfiler, der tilpasser hver applikation 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 program

    Cpanel giver en grafisk måde at administrere din internetserver på. Det er beregnet til at levere massehostingtjenester, der er nemme at bruge og konfigurere. cPanel har reduceret de tekniske hindringer for adgang til hosting og serverstyring. Det gør kompleks opgave lettere, det giver mange nyttige og nemme at bruge internetgrænseflader, der udfører fælles systemadministrationsopgaver, der kræves for at drive en internetserver.

    Apache Tutorials for begyndere

    cPanel kompilerer sin egen version af programmet.

    Hvis du skal kompilere din server igen, dvs. apache på normal platform skal du manuelt vælge / søge i det modul, der kræves. cPanel giver Easyapache funktionalitet, der er et script baseret server kompilering metode.

    Apache Tutorials for begyndere

    det giver dig ikke kun internettjenester, men også Mail, DNS, FTP og mange flere tjenester, der kræves til din internetapplikation.

    en opgave, der har brug for ekspertise inden for grundlæggende hosting som installation af SSL ‘ er, genkompilering af Apache med forskellige PHP-moduler, opdatering af internetsikkerhed, konfiguration af effektive IPTABLE-regler, tilføjelse af ftp-brugere, Oprettelse af mailkonti for hvert domæne, scanning af din dokumentrod med antivirus og oprettelse af databaser er let at gennemføre med cPanel.

    det giver en masse scripts, der løser, installere og fejlfinding fælles 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 dokumentrodmappe, e-mail-konti og mails, ftp-konti, databaser, DNS-poster og andre applikationer.

    det giver også en robust dokumentation oghar 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 internetserver med nødvendige funktioner. Det giver dig, nem at bruge interface til styring af dit domæne og en mekanisme til at undgå kompleksiteten af forvaltningen kerne Server.

    der er mange konkurrerende produkter til cPanel som Plesk, ISPConfig, Ajenti, Klokso, Open Panel, panel osv.



Skriv et svar

Din e-mailadresse vil ikke blive publiceret.