Apache õpetused algajatele

Lang L: none (table-of-contents)

Mis on Apache?

Apache on märkimisväärne rakendustarkvara. See on maailmas enimkasutatav veebiserverakendus, millel on üle 50% -lise turuosa kommertsveebiserverite turul. Apache on Unixi-laadsetes operatsioonisüsteemides kõige enam kasutatav veebiserveri rakendus, kuid seda saab kasutada peaaegu kõigil platvormidel, nagu Windows, OS X, OS / 2 jne. Sõna Apache on võetud Native'i nimest Ameerika hõim Apache, mis on kuulus sõjategevuse ja strateegiate väljatöötamise oskuste poolest.

See on modulaarne protsessipõhine veebiserveri rakendus, mis loob iga samaaegse ühendusega uue lõime. See toetab mitmeid funktsioone; Paljud neist on kompileeritud eraldi moodulitena ja laiendavad selle põhifunktsionaalsust ning suudavad pakkuda kõike alates serveripoolsest programmeerimiskeelest kuni autentimismehhanismini. Virtuaalne hostimine on üks selliseid funktsioone, mis võimaldab ühel Apache veebiserveril teenindada mitmeid erinevaid veebisaite.

Apache'i installimine

Paketi või rakenduse installimiseks on palju võimalusi. Allpool on neid värvatud -

  1. Selle avatud lähtekoodiga veebirakenduse üks omadusi on see, et igaüks saab installeri teha vastavalt oma keskkonnale. See on võimaldanud erinevatel müüjatel, nagu Debian, Red Hat, FreeBSD, Suse jne, kohandada faili asukohta ja apache'i konfiguratsiooni, võttes arvesse muid installitud rakendusi ja baas-OS-i.
  2. Peale selle, et installite selle müüjapõhiselt installerilt, on alati võimalus see ehitada ja installida lähtekoodist. Apache'i installimine lähtefailist on platvormist sõltumatu ja töötab kõigi OS-de jaoks.

Apache veebiserver on modulaarne rakendus, kus administraator saab valida vajaliku funktsionaalsuse ja installida erinevaid mooduleid vastavalt oma nõudmistele.

Kõiki mooduleid saab kompileerida dünaamiliste jagatud objektidena (DSO on objektifail, mida võib mitu rakendust nende täitmise ajal jagada), mis eksisteerib peamisest apache-failist eraldi. DSO-lähenemine on väga soovitatav, see muudab serverite konfiguratsioonist moodulite lisamise / eemaldamise / värskendamise ülesande väga lihtsaks.

Installige Apache: Linuxi platvorm

Red Hatil või pööretel põhinevatel süsteemidel

Kui kasutate rpm (RedHat Package Manager on utiliit rakenduse installimiseks Linuxi süsteemidesse) põhist Linuxi jaotust, st Red Hat, Fedora, CentOs, Suse, saate selle rakenduse installida kas tarnija konkreetse paketihalduri abil või ehitades otse rpm-faili saadaolevast allikast tarball.

Apache'i saate installida vaikimisi pakettihalduri kaudu, mis on saadaval kõikides Red Hatil põhinevates distributsioonides, nagu CentOs, Red Hat ja Fedora.

[root @ amsterdam ~] # installige httpd

Apache'i allika tarballi saab järgmise käsu abil teisendada rpm-failiks.

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

Allikast .rpm-faili loomiseks on teie serverisse installitud -devel pakett.

Kui teisendate lähtefaili rpm installeriks, võite Apache'i installimiseks kasutada järgmist käsku.

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

Pärast installimist ei käivitu server automaatselt, et teenuse käivitamiseks kasutada Fedora, CentOs või Red Hati mis tahes järgmist käsku.

[root @ amsterdam ~] # / usr / sbin / apachectl algab[root @ amsterdam ~] # teenus httpd start[juur @ amsterdam ~] # /etc/init.d/httpd algus

Installige Apache allikast

Apache'i installimine allikast nõuab paketi -devel installimist teie serverisse ... Apache uusima võimaliku versiooni leiate siit, saate selle alla laadida. Kui olete lähtefaili alla laadinud, teisaldage see kausta / 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[juur @ amserversterdam ~] httpd-2.2.26

Kõigi Apache jaoks saadaolevate seadistusvõimaluste nägemiseks võite kasutada valikut ./configure -help. Kõige tavalisem konfiguratsioonivõimalus on -prefix = {install kataloogi nimi}.

[root @ amserversterdam ~] ./ konfigureeri --help[root @ amserversterdam ~] ./ konfigureeri -prefix = / usr / local / apache -enable-so[root @ amserversterdam ~] tee[root @ amserversterdam ~] tee install

Ülaltoodud näide näitab Apache kompileerimist kataloogis / usr / local / apache koos DSO võimega. Valik -enable-so võib DSO-mehhanismi kaudu laadida käivitusajal vajalikud moodulid, et taaskompileerimist nõuda.

Kui installimine on lõpule jõudnud, saate oma lemmikbrauseriga veebiserverite vaikelehte sirvida. Kui teie serveris on tulemüür lubatud, peate oma OS-i tulemüüris tegema pordi 80 erandi. Pordi 80 avamiseks võite kasutada järgmist käsku.

iptables -I SISEND -p tcp --port 80 -j VASTU

teenuse iptables salvestada

Vaikimisi Apache2 tervituskuva näete sirvides oma serveri IP-aadressi.

Mis on virtuaalne host?

Apache'i veebiserver võib SAME- serveris majutada mitut veebisaiti . Iga veebisaidi jaoks pole vaja eraldi serverimasinat ja apache'i tarkvara. Selle saab saavutada virtuaalse hosti või VHosti kontseptsiooni abil.

Igal domeenil, mida soovite veebiserveris majutada, on apache konfiguratsioonifailis eraldi kirje.

Apache Virtualhost tüübid

  1. Nimepõhine virtuaalne host
  2. Aadressipõhine või IP-põhine virtuaalne host ja.

Nimepõhine virtuaalne host

Nimepõhist virtuaalset hostimist kasutatakse mitme virtuaalse saidi majutamiseks ühel IP-aadressil.

Nimepõhise virtuaalse hostimise konfigureerimiseks peate määrama IP-aadressi, millele soovite kõigi soovitud veebisaitide Apache-päringuid vastu võtta. Seda saab teha apache konfiguratsioonis käsku NameVirutalHost, st failis httpd.conf / apache2.conf.

Apache virtuaalse hosti näide:

NameVirtualHost *: 80ServerAdmin See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.DocumentRoot /var/www/html/example1.comServeri nimi www.example1.comServerAdmin See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti. DocumentRoot /var/www/html/example2.com Serveri nimi www.example2.com 

Saate lisada nii palju virtuaalseid masinaid, nagu teie nõue on. Veebikonfiguratsioonifaile saate kontrollida järgmiselt:

[juur @ amsterdam ~] #httpd -tSüntaks OK

Kui konfiguratsioonifailil on vale süntaks, viskab see vea

[juur @ 115 konf.d] # httpd -tSüntaksiviga /etc/httpd/conf/httpd.conf real 978:Vale käsk '*', võib-olla valesti kirjutatud või määratletud mooduliga, mida serveri konfiguratsioonis pole

IP-põhine virtuaalne host

IP-põhise virtuaalse hostimise seadistamiseks vajate oma serveris konfigureeritud rohkem kui ühte IP-aadressi. Niisiis, vhost-apache'i arv sõltub teie serveris konfigureeritud IP-aadressi arvust. Kui teie serveril on 10 IP-aadressi, saate luua 10 IP-põhist virtuaalset hostit.

Ülaltoodud diagrammil määrati kahele veebisaidile example1.com ja example2.com erinevad IP-d ning nad kasutavad IP-põhist virtuaalset hostimist.

Kuula 192.168.0.100:80ServerAdmin See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.DocumentRoot /var/www/html/example1.comServeri nimi www.example1.comServerAdmin See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti. DocumentRoot /var/www/html/example2.com Serveri nimi www.example2.com 

Mida Apache vajab Php-faili käivitamiseks?

Apache'is Php-failide käitamine vajab teie serveris mod_php lubamist. See võimaldab Apache'il tõlgendada .Php-faile. Sellel on Php-töötlejad, kes tõlgendavad PHP-koodi apache'is ja saadavad HTML-i teie veebiserverisse.

Kui teie server on mod_php lubatud, on kataloogis /etc/httpd/conf.d/ fail nimega php.conf. Saate seda kontrollida ka:

httpd -M | grep "php5_module"

Väljund on sarnane järgmisega:

PHP-käitlejad Apache'is

  • mod_php
  • CGI
  • FastCGI
  • suPHP

mod_php on vanim PHP-haldur, see muudab PHP-d apache osaks ega kutsu ühtegi välist PHP-protsessi. See moodul on vaikimisi installitud igasse Linuxi jaotushoidlasse, seega on selle mooduli lubamine / keelamine väga lihtne.

Kui kasutate oma PHP- haldurina FastCGI-d , saate seadistada mitu PHP-versiooni, mida teie serveri erinevad kontod kasutavad.

FastCGI st mod_fastcgi on jätk mod_fcgid , kus on mod_fcgid on suure jõudlusega alternatiiv CGI st mod_cgi. See käivitab samaaegsete veebipäringute töötlemiseks piisava arvu CGI-de eksemplare. Samuti kasutab see suexeci erinevate kasutajate toetamiseks oma PHP eksemplaridega ja parandab veebiturvalisust.

Rubiinifailide käitamine Apache'is peab olema lubatud mod_ruby. Apache saab rubiinfaile käsitleda ka FastCGI kaudu. Rubiini mitut versiooni on võimalik kasutada mod_fcgid ehk FastCGI abil.

Samuti saate installida apache reisija ja seadistada Apache seda rubiinlehtede teenindamiseks kasutama.

(Phusion Passenger, mida nimetatakse ka reisijaks, on tasuta veebiserveri moodul, mis on loodud integreeruma Apache ja Nginxiga)

Mod_ruby oma serverisse installimise sammud -

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 - koos-apr-sisaldab = / usr / include / apr-1tegematee install

Kuidas käivitada Ruby Apache'iga

Peame lisama mooduli mod_ruby Apache'i seadistustesse, st /etc/httpd/conf.d/ruby.conf ja lisama järgmise rea.

LoadModule ruby_module modules / mod_ruby.so

Kui soovite neid mooduleid lubada või keelata, peate redigeerima apache'i konfiguratsioonifaili ja kommenteerima või kommenteerima neid mooduleid, kui veebiserver on nende moodulitega juba kompileeritud.

Kuidas Apache veebiserverit turvata

Veebiserveri turvalisus on väga oluline, see tähendab, et lubate teistel näha ainult ettenähtud teavet, kaitstakse teie andmeid ja piiratakse juurdepääsu.

Need on tavalised asjad, mis parandavad teie Apache veebiserverite turvalisust.

1) Apache'i versiooni ja operatsioonisüsteemi teabe peitmine:

Apache kuvab vigades oma versiooni ja operatsioonisüsteemi nime, nagu on näidatud alloleval ekraanipildil.

Häkker saab seda teavet kasutada rünnaku algatamiseks, kasutades serveri või operatsioonisüsteemi konkreetse versiooni üldkasutatavaid haavatavusi.

Selleks, et vältida Apache veebiserveri selle teabe kuvamist, peame seda muutma

„Serveri allkiri” on saadaval apache konfiguratsioonifailis. Vaikimisi on see sees, peame selle välja lülitama.

vim /etc/httpd/conf/httpd.conf
Serveri allkiri on väljasServerTokens Prod

Oleme seadistanud ka „ServerTokens Prod”, mis käsib veebiserveril tagastada ainult apache ja summutada OS-i duuri ja alaealise versiooni

Pärast konfiguratsioonifaili muutmist peate selle tõhusaks muutmiseks oma apache veebiserveri taaskäivitama / uuesti laadima.

teenuse httpd taaskäivitamine

2) Keela kataloogide loend

Kui teie dokumendi juurkataloogil pole indeksfaili, näitab vaikimisi teie apache veebiserver kogu dokumendi juurkataloogi sisu.

Selle funktsiooni võib konkreetse kataloogi jaoks välja lülitada Apache'i konfiguratsioonifailis oleva valikuvõimaluste kaudu.

Valikud -indeksid

3) Ebavajalike moodulite keelamine

Hea tava on keelata kõik mittevajalikud mittevajalikud moodulid. Apache konfiguratsioonifailis on saadaval lubatud mooduli loend -

[juur @ amsterdam ~] #httpd -Mperl_module (jagatud)php5_module (jagatud)proxy_ajp_module (jagatud)python_module (jagatud)ssl_module (jagatud)

Paljusid loetletud mooduleid saab keelata: likemod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, kuna neid ei kasuta peaaegu ükski tootmise veebiserver.

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

Kui olete moodulit kommenteerinud, salvestage fail.

Taaskäivitage apache-teenused järgmise käsuga.

/etc/init.d/httpd taaskäivitage

4) Juurdepääsu piiramine väljaspool veebi juurkataloogi asuvatele failidele

Kui soovite veenduda, et failidele, mis asuvad väljaspool veebi juurkataloogi, pole juurdepääsu, peate veenduma, et teie veebiserveri konfiguratsioonifailis on kataloog piiratud "Luba" ja "Keela valik".

Valikud poleAllowOverride PuudubKäsk eita, lubaKeela kõigilt

Kui olete juurdepääsu piiranud väljaspool veebi juurdirektorit, ei pääse te enam ühegi faili juurde, mis asub teie veebiserveri muus kaustas, saate 404 tagastuskoodi.

5) Mod_evasive kasutamine DoS-i rünnaku ümberlükkamiseks

Kui soovite oma veebiserverit Dos'i eest kaitsta (st teenuse keelamine), peate lubama mooduli mod_evasive. See on kolmanda osapoole moodul, mis tuvastab Dos-rünnaku ja takistab rünnakul tekitamast nii palju kahju, kui see oleks siis, kui ta jätaks oma rada käima. Selle sai alla laadida siit.

Laadige ülaltoodud fail alla

6) mod_security kasutamine apache turvalisuse suurendamiseks

See moodul töötab Apache'i tulemüürina ja võimaldab teil liiklust reaalajas jälgida. Samuti hoiab see veebiserverit toore jõu rünnakute eest. Mod_security mooduli võiks installida teie levitamise vaikepaketi halduriga.

7) Taotluse suuruse piiramine

Apache ei piira http-päringu kogumahtu, mis võib viia DoS-i rünnakuni. Kataloogimärgendiga saate piirata Apache direktiivi „LimitRequestBody” päringu suurust. Väärtuseks võib vastavalt teie nõudele määrata vahemikus 0–2 GB (st 2147483647 baiti).

LimitRequestBody 512000

Apache logivorming

Apache'i logid pakuvad üksikasjalikku teavet, mis aitab tuvastada serveriga levinud probleeme.

Juurdepääsulogide loomiseks peab olema lubatud mod_log_configmodule.

Apache konfiguratsioonifailis on saadaval kolm direktiivi, st

  • TransferLog: logifaili loomine.
  • LogFormat: kohandatud vormingu määramine.
  • CustomLog: logifaili loomine ja vormindamine.

TransferLogi direktiiv on saadaval apache'i konfiguratsioonifailis ja see pöörab virtuaalhosti logifaile vastavalt määratud parameetritele.

ServerAdmin See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.DocumentRoot / usr / www / example / httpd / htdocs /Serveri nimi www.example.comServerAlias ​​example.com www.näideErrorLog / usr / www / example / httpd / logs / error_logTransferLog / usr / www / example / httpd / logs / accesslogCustomLog / usr / www / example / httpd / logs / accesslog kokku

Kaks tüüpi Apache logivormingut

  • Ühine logivorming
  • Kombineeritud logivorming.

Saate need lubada, muutes apache konfiguratsioonifaili, st faili apache2.conf (Debian / ubuntu) või httpd.conf (rpm-põhised süsteemid)

Ühine logivorming

LogFormat "% h% l% u% t \"% r \ "%> s% b" levinudCustomLogi logid / access_log ühised

Apache'i loodud ühine logi

[Kolmapäev 11. oktoober 14:32:52 2000] [viga] [klient 127.0.0.1] klienti ei saanud serveri konfiguratsioon: / eksport / kodu / live / ap / htdocs / test

Kombineeritud logivorming

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

Siin,

  • % h on kaughost
  • % l on identiteediga määratud kasutaja identiteet
  • % u on HTTP-autentimisega määratud kasutajanimi
  • % t on aeg, mil server lõpetas päringu töötlemise.
  • % r on kliendi päringurida. ("GET / HTTP / 1.0")
  • %> s on serverist kliendile saadetud olekukood (500, 404 jne)
  • % b on kliendile saadetud vastuse suurus (baitides)
  • Viitaja on leht, mis viitas sellele URL-ile.
  • User-agent on brauseri identifitseerimisstring.

Apache'i loodud kombineeritud logi:

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

Kohandatud logi loob eraldi logifaili teie serveri iga virtuaalse hosti jaoks. See tuleb täpsustada konfiguratsioonifaili jaotises virtuaalne host.

Allpool näete mainitud virtuaalse hosti konfiguratsiooni, genereeritud logi on selle virtuaalse hosti jaoks kohandatud ja vorming ühendatakse.

Konfigureerige oma esimene Production Web Sever

1. Töötava tootmisserveri saamiseks vajate spetsiaalset sõlme (füüsiline / virtuaalne või pilveeksemplar), milles töötab Linux / Unix, Windows, MacOS jne.

2. Veebiserveril peab olema otsene võrguühendus ja sellel on konfigureeritud staatiline IP-aadress .

3. Sellel peavad olema kõik veebilehtede käitamiseks vajalikud moodulid . Kui veebiserver töötleb PHP-lehti, peab sellel olema lubatud PHP-moodul.

  1. Samuti peab sellel olema konfigureeritud ja töötama hea viirusetõrjerakendus, et kaitsta veebiserverit pahavara või viiruse rünnakute eest. Samuti vajate mehhanismi, et konfigureeritud viirusetõrje / pahavaratõrjet värskendada regulaarselt ilma käsitsi sekkumata, et neist maksimaalset kasu saada.
  2. Kui teie veebiserveris on hostitud sadu domeene, peate rakendama piirangud iga domeeni failisüsteemi kvoodile, iga domeeni loodud andmebaaside arvule, e-posti kontode arvule domeeni kohta jne.
  3. Kui teie veebiserver on jagatud hostimisteenuste jaoks seadistatud, tuleb teie veebiserveri kasutajaid piirata . Jagatud hostiga kasutajal peaks olema vähemalt kasutajaõigused, et ta ei kahjustaks olulisi faile ega lõhuks tervet serverit. Apache ei paku sellist funktsionaalsust ja vajab selle saavutamiseks erinevaid kolmanda osapoole rakendusi, OS-i kohandamist.
  4. Kui lisate oma veebiserverisse uue domeeni , peab see lisatud domeeni kõigi funktsioonide lubamiseks muutma sadu konfiguratsioonifaile.
  5. Kui mõni hostitud domeenidest nõuab teistest domeenidest erinevat PHP-seadistust , on selle juurutamine Apache põhiserveris väga keeruline ja vajab suures osas teie veebiserveri kohandamist.
  6. Tootmisveebiserver vajab tulemüüri, et blokeerida soovimatu liiklus, mis võib teie serverile suurt koormust põhjustada. IPTABLE- reeglite rakendamine käsureal on väga keeruline. Soovimatu liikluse blokeerimiseks tõhusate tulemüürireeglite kirjutamiseks on vaja Linuxi / Unixi tuumkeskkonna teadmisi. IPTABLE põhineb netfilter moodulil; see on OS-i tulemüür, mis võimaldab administraatoril luua reeglid serverisse siseneva / väljuva liikluse jaoks.
  7. Tootmisveebiserver nõuab mitut erinevat rakendust, nagu e-post , failide üleslaadimiseks FTP , pargitud domeenide jaoks domeeninimede süsteem . Kõigi nende rakenduste haldamine Linuxi / Unixi põhisüsteemis nõuab vastavate tehnoloogiate asjatundlikkust.

Nii võib öelda, et mitme domeeni veebiserveri haldamine on väga keeruline ülesanne ja nõuab sadade konfiguratsioonifailide redigeerimist, iga rakenduse kohandamist soovitud tulemuse saavutamiseks. Mis tahes konfigureerimise veaotsing on algajatele väga keeruline.

Lahendus Cpaneli või sarnase tarkvara abil

Cpanel pakub graafilist viisi teie veebiserveri haldamiseks . See on mõeldud mass-hostimisteenuste pakkumiseks, mida on lihtne kasutada ja konfigureerida. cPanel on vähendanud tehnilisi tõkkeid hostimise ja veebiserveri haldamisel. See muudab keeruka ülesande lihtsamaks, pakub palju kasulikke ja hõlpsasti kasutatavaid veebiliideseid, mis täidavad veebiserveri haldamiseks vajalikke tavalisi süsteemihalduse ülesandeid.

cPanel koostab oma versiooni tarkvarast.

Kui peate oma veebiserveri, st apache'i kompileerima tavalisel Linuxi platvormil, peate käsitsi valima / otsima vajaliku mooduli. cPanel pakub funktsiooni Easyapache, mis on skriptipõhine veebiserveri kompileerimismeetod.

See pakub teile lisaks veebiteenustele ka e-posti, DNS-i, FTP-d ja palju muud teie veebirakenduse jaoks vajalikke teenuseid.

Ülesanne, mis vajab teadmisi Linuxi / Unixi põhipõhise hostimise kohta, näiteks SSL-ide installimine, Apache'i kompileerimine erinevate PHP-moodulitega, veebiturbe värskendamine, tõhusate IPTABLE-reeglite konfigureerimine, ftp-kasutajate lisamine, iga domeeni postikontode loomine, dokumendijuure viirusetõrjega skannimine ja andmebaaside loomist on cPaneliga lihtne lõpule viia.

See pakub palju skripte, mis parandavad, installivad ja otsivad levinud haldusülesandeid.

See pakub varundamise ja taastamise funktsionaalsust, välistades vajaduse faile käsitsi varukoopiatesse kopeerida. Kui varundate oma domeeni, loob cPanel tõrvafaili, mis sisaldab dokumendi juurkausta, e-posti kontosid ja kirju, ftp-kontosid, andmebaase, DNS-kirjeid ja muid rakendusi.

See pakub ka põhjalikku dokumentatsiooni ja sellel on väga suur kasutajaskond, kus saaksite oma probleemide üle arutada ja lahendusi leida.

Nii võib öelda, et cPanel on parim rakendus teie veebiserveri haldamiseks koos vajalike funktsioonidega. See pakub teile hõlpsasti kasutatavat liidest oma domeeni haldamiseks ja mehhanismi põhiveebiserveri haldamise keerukuse vältimiseks.

CPaneli jaoks on palju konkureerivaid tooteid nagu Plesk, ISPConfig, Ajenti, Kloxo, Open Panel, Zpanel jne.

Huvitavad Artiklid...