Apache web server Ceshtjet Njohuri mbi Apache Instalimi
Apache web server
Ceshtjet: • • • Njohuri mbi Apache Instalimi dhe konfigurimi i Apache Perdorimi i CGI, SSI dhe SSL Monitorimi i serverit Përmirësimi i performances Ruajtja e sigurisë se serverit
Njohuri mbi Apache • Web serveri Apache filloi perdorimin si serveri HTTP i NCSA (National Center for Supercomputing Applications – Qendra Kombëtare për Aplikime Superkompjuterike) i quajtur httpd. • Në prill 1995, ky grup i organizuar, grupi origjinal Apache, lëshuan versionin e parë zyrtar të Apache të destinuara për perdorim public, Apache 0. 6. 2. Pavarësisht defekteve te saj të njohur, serveri Apache u be popullor menjëherë • Versioni i pare (beta) I hedhur bazuar në arkitekturën e ridizenjuar ende mban një bazë të fortë te ngjashmërise me Apache qe eshte në perdorim. Një tjetër raund i kodit bazë të stabilizuar, buge te rregulluar, funksione te permiresuara, dhe dokumentacion të ri, u përfundua në 30 nëntor 1995.
Emri "Apache" • Apache është "Një server i modifikuar" (A PAt. CHy server). Bazuar në nje kod ekzistues dhe një seri të "skedaresh te modifikuar (patch files)". Karakteristika te Apache Karakteristika baze per web servera ne pajtueshmeri me protokollin HTTP. Karakteristika e vërtetë per te cilen shquhet Apache janë shpejtësia e tij, configurimi, stabiliteti, dhe grupi i tij i pasur me funksione të caktuara. I lehte ne konfigurimin dhe në rikonfigurim Informacioni i konfigurimit te tij eshte skedare me tekst të thjeshtë dhe përdor direktivave të thjeshta në gjuhën angleze. Rikonfigurimi i një serveri ne pune eshte një çështje e thjeshtë duke ndryshuar direktivat përkatëse te konfigurimit dhe ristartimi i serverit. Apach është percaktuar me më pak bugs se Web serverat e tjere, sidomos serverat me kod burim te mbyllur. Apache është një projekt programi me burim të hapur kështu që kushdo mund të kontribuojë për kodin.
Konfigurimi i një Web Serveri Reagimet e perdoruesve orientojne zhvillimin e Apache dhe përcaktojne grupin e karakteristikave te tij. Apache është lehtësisht i zgjerueshem duke përdorur Dynamic Shared Objects (DSO), zakonisht te njohur si module. Modulet zgjerojnë aftësitë e Apache dhe karakteristika të reja pa kërkuar rikompilim sepse ato mund të ngarkohen dhe shkarkohen në kohën e punes. Apache përdor një format binar te bazës së të dhënave për të vërtetuar kërkesat e përdoruesve për faqet e mbrojtura me fjalëkalim. Ky format mundëson Apache për të mbështetur numër shumë të madh përdoruesish pa u bllokuar ne ekzekutimin e kërkesave te autentifikimit. Apache mbështet hostet virtuale, te njohur edhe si servera multihomed, i cili mundëson një makinë te vetme për të siguruar shërbime Web për domain-e të shumte ose adresa IP.
• Apache u mundëson administratorëve të përcakojne skedare indeksimi direktorie të shumte, flete standarte për të shfaqur kur një klient kërkon një URL te direktorise Web • Mbështetje e pasur për logimet ne server. mund te percaktoni modele te ndryshme skedaresh logesh dhe te kontrolloni nivelin e detajeve të përfshira në çdo hyrje log. Ky funksion lejon çdo manipulim arbitrar te logeve që mund të realizohet. • Apache mund të konfigurohet për të gjeneruar një identifikues unik që dallon një goditje nga çdo goditje tjeter, edhe pse ka disa kufizime që zbatohen.
Brenda kufijve, Apache rregullohet automatikisht ne baze te kapaciteteve te klientëve te lidhur, një proces i quajtur negociator përmbajtjeje Si punon një Web Server Klienti Web (një shfletues) filimisht kryen një DNS lookup, merr adresën IP te serverit, dhe pastaj lidhet në porten 80 në atë adresë IP (ose në një tjetër port, nëse serveri nuk përdorur porten standarte 80 HTTP). Kur lidhja është e vendosur, klienti dërgon një kërkesë HTTP GET për dokumentat në URL, e cila mund të jetë, ndër mundësitë tjera, një document specifik HTML, një imazh, një skedar, apo një listë direktorishe. Pasi serveri pranon kërkesën, ai përkthen dokumentin URL në një emer skedari në sistemin lokal. dokumenti URL http: //localhost/~ kwall/news. html kthehet ne /home/kwall/public_html/news. html Apache vlerëson nëse dokumenti i kërkuar eshtë apo jo subjekt për ndonjë lloj kontrolli te hyrjes dhe kërkohet perdorimi i një emri përdoruesi dhe fjalëkalimin nga klienti Nëse URL e kërkuar specifikon një direktori (që është, URL përfundon në /) dhe jo një dokument i caktuar, Apache shikon për indeksit e direktorise ne faqe, index. html, dhe kthen atë dokument tek klienti Nëse direktoria e indeksuar nuk ekziston, Apache mund të dërgojë një listë direktorish në formatin HTML tek klienti ose dërgon një mesazh gabimi, në varësi se si është konfiguruar serveri. Dokumenti gjithashtu mund të të jetë një skript special i shkruar posaçërisht per nje funksion te caktuar, një (Common Gateway Interface) script CGI. Në këtë rast, Apache ekzekuton skriptin, në qoftë se lejohet për ta bërë këtë, dhe i dërgon rezultateve tek klienti. •
Së fundi, pasi Apache ka përcjellë dokumentin e kërkuar dhe klienti e ka marre atë, klienti mbyll lidhjen dhe Apache shkruan një hyrje në një ose më shumë skedare logesh duke përshkruar kërkesën në nivele të ndryshme detajimi. Ne varësi te faqes, si shkruar ajo dhe atë që përmban, ndonje përpunim plotësues ndodh gjatë transferimit. Për shembull, Skripte te bashkuar ose Java applets transferohen dhe ekzekutohen në anën e lidhjes se klientit, proceset apo skriptet e anes se serverit perpunohen në anën e serverit, sic janë Scripts CGI, akses ne bazën e të dhënave, e kështu me radhë. Instalimi i Apache Instalimi i RPM binar Për të instaluar Apache nepermjet RPM-s nga CD-ROM instalimit i Red Hat, ndiqen këto hapa: • Hyni si përdoruesi “root” ose përdorni “su” për t'u bërë rrënjë. • Bejini “Mount” CD se instalimit te Red Hat Linux. • Futni komandat e mëposhtme për të instaluar Apache dhe paketat e tij mbështetëse: # rpm -ivh /mnt/cdrom/Red. Hat/RPMS/apache*rpm • Vazhdoni me instalimin e paketave shtesë për të instaluar me tej paketa te nevojshme.
Konfigurimi i Apache • ai lexon dhe proceson tre skedare, sipas rradhes: /etc/httpd/conf/httpd. conf, /etc/httpd/conf/srm. conf, dhe /etc/httpd/access. conf • Vendi standart për secilin prej këtyre skedareve është kompiluar në Apache, por mund të ndryshohet duke përdorur opsionin -f. • lexon /etc/mime. types, të cilat konfigurojne nënsistemin MIME duke bashkerenduar prapashtesat e emrave te skedareve me tipet e permbajtjes. • httpd. conf është skedari peresor i konfigurimit. • Të gjitha direktivat e konfigurimit mund dhe duhet të vendosen në httpd. conf ose të përfshira ne skedare të tjere te përcaktuara duke përdorur direktivën “Include” Përfshij. Pas përpunimit të këtyre skedareve te konfigurimit, Apache kryen disa verifikime të tjera kontrolli dhe hap skedaret e tijj te logimit.
Pastaj, ky proces fillestar i Apache, shpesh i quajtur master server, i cili është në pronësi te rrënjes (root) në shumicën e rasteve, nis një ose më shumë procese “child”, të përcaktuara nga direktivat e krijimit të procesit, që janë në pronësi të një përdoruesi dhe grupi më pak të privilegjuar (apache, në Red Hat Linux). Këto procese “child” bëjë punën aktuale të dëgjimit për kërkesa në porten HTTP (80, si standart) dhe u përgjigjur atyre. Konfigurimi i sjelljes se pergjithshme te Apache Server. Type standalone Kontrollon nese Apache punon si proces i pavarur apo niset nga inetd (xinetd për Red Hat Linux) Server. Root /etc/httpd Përcakton direktorine e nivelit të lartë për skedaret e konfigurimit te Apache dhe skedaret e logimit. (duke përfshirë edhe loget e gabimeve) Pid. File /var/run/httpd. pid Përcakton skedarin që përmban PID e procesit te master server. Timeout 300 Përcakton kohen maksimale në sekonda qe pret Apache për permbushjen e operacionit te marrjes dhe dergimit te paketave. Keep. Alive On Lejon kërkesa të shumta në të njëjtën lidhje, duke përshpejtuar dorezimin e dokumenteve HTML. Max. Keep. Alive. Requests 100 Vendos numrin e kërkesave të lejuara për lidhje. Keep. Alive. Timeout 15 Përcakton numrin e sekondave te lejuar të kalimit mes kërkesave të të njëjtit klient në te njëjtën lidhje kur Keep. Alive është On.
Min. Spare. Servers 5 Përcakton numrin minimal të lejuar te serverave child (idle). Max. Spare. Servers 20 Përcakton numrin maksimal të serverave child (idle) qe krijon serveri master. Start. Servers 8 Përcakton numrin e serverave child qe krijohen kur Apache starton. Max. Clients 150 Vendos numrin maksimal të lidhjeve te njëkohshme të mbështetura (serverat e child) Max. Requests. Per. Child 100 Vendos numrin maksimal të kërkesave qe secili server child mbush para perfundimit. Listen [ipaddress: ] 80 Përcakton kombinimin e adresës IP dhe portes në të cilën Apache dëgjon për lidhje direktiva “multiple Listen” mund të përdoret. Load. Module modname filename Lidh modulin apo librarine filename në server dhe e shton ate në listën e moduleve aktive duke përdorur emrin modname Clear. Module. List Pastron listën e ndërtuar brenda Apache te moduleve aktive, të cilat duhet të rindërtohen pastaj duke përdorur direktivën Add. Module module. c Aktivizon modulin module. c te ndërtuar brenda, por joaktiv. Direktivat Min. Spare. Servers dhe Max. Spare. Servers i mundesojne Apache të vetërregullohet, duke shtuar dhe fshire proceset child ne baze te luhatjeve te përdorimit te Web serverit Kur tentohet te lidhen me shume se Max. Clients, çdo kërkesë lidhjeje vendoset ne pritje (në mënyrë të veçantë, një FIFO ose nje rradhe first come first served) dhe shërbyer në mënyrë të rradhitur sic kane ardhur kur mbyllet lidhja aktuale. Për përdoruesit, një kohë të gjatë pritje, megjithatë, bën që ata ose të dërgojnë një kërkesë tjetër, ose për te shkëputen.
Konfigurimi i serverit standart • serveri standart ose primar i referohet Web serverit që u përgjigjet të gjitha kërkesave HTTP qe nuk trajtohen nga hostet virtuale, i njohur gjithashtu si serverat virtuale. • Një server virtual ose host virtual është një Web server që punon në të njëjtën makinë si serveri standart, por që dallohet nga serveri kryesor (serveri standart) nga një emër hosti ose IP adresa e ndryshme. • Megjithatë, direktivat e konfigurimit te përcaktuara për serverin primar mund të zbatohet gjithashtu për të serverat virtual përveç rasteve te vecanta. Anasjelltas, direktivat e përdorura për konfigurimin e serverit standart gjithashtu mund të përdoren për të konfiguruar serverat virtual.
Pershkrimi i Direktivave Port 80 Përcakton porten ne te cilen serveri kryesor pret për lidhje nëse asnje direktive e Bind. Address apo Listen nuk përcakton një numër porte me : Port, User [#]apache Specifikon emrin e përdoruesit apo, në qoftë se vendoset prefiksi #, UID (user ID) nen të cilin ekzekutohen child servers. Group [#]apache Specifikon emrin e grupit ose, në qoftë se vendoset prefiksi #, GID nen të cilin ekzekutohen child servers. Server. Admin root@localhost Përcakton adresën e-mail të përfshira në mesazhet e gabimit të shfaqur në lidhjet e klientit. Server. Name Përcakton një emër alternativ për serverin, të tilla si www. emri. al, i cili është i ndryshëm nga Emri aktual i hostit (web. emri. al). Document. Root "/var/www/html". Përcakton direktorine bazë nga e cila do të sherbehen të gjitha dokumentet e kërkuara, URL-te e dokumentave (emrat e skedareve) janë interpretuar relativisht në lidhje me Document. Root. User. Dir public_html Përcakton nendirektorine në direktorine home te një useri që është përdorur klientët kërkojnë dokumentet që i përkasin një useri të caktuar. Directory. Index skedar Përcakton një ose më shumë skedare që shërbejë si një Indeks direktorish kur një kërkesë nuk përcakton një skedar të veçantë ose dokument. Access. File. Name. htaccess Liston një ose më shumë emra skedaresh në rrugën e plotë (complete path) per tek dokumenti i kërkuar që përcakton dhe kontrollon aksesin në dokumente në secilen direktori ose nendirektori në të njëjtin nivel ose më poshtë nivelit ku gjendet skedari i specifikuar nga Access. File. Name.
Use. Canonical. Name On Kontrollon se si Apache ndërton një vetë-referues URL, nëse eshte On, përdor Server. Name dhe Port, perndryshe, nëse eshtë Off, përdor emrin e hostit dhe porten e ofruar nga klienti (nëse ka) ose emrin kanonik. Types. Config /etc/mime. types Vendos emrin e skedarit të konfigurimit të llojeve MIME (krahasuar me Server. Root nëse emri i file nuk fillon me /), e cila rrugezon prapshtesat e skedareve me tipet e permbajtjes. Default. Type text/plain Përcakton llojin e standartit MIME kur nje lloj dokumenti MIME i kërkuar nuk mund të përcaktohet duke përdorur direktivat Types. Config ose Add. Type. Hostname. Lookups Off Kontrollon nëse Apache kryen apo jo verifikime DNS-je (DNS lookups) ne lidhjet e Hosteve ne menyre qe te ruaje ne Log-e keto te dhena. Error. Log /var/log/httpd/ Përcakton emrin e log-eve te gabimit ne Apache, në krahasim me error_log Server. Root nese emri nuk fillon me /. Log. Level warn Vendos shumën dhe detajimin e informacionit qe rregjistron Apache ne log të tij. Log. Format formatstr Përcakton formatin në formatstr qe përdor Apache për mesazhet që shkruan në log-et e aksesit. Server. Signature On Drejton Apache për te vendosur emrin e serverit dhe numrin e versionit si poshte-shenim “footer”ne dokumentat e gjeneruara, te tilla si mesazhe gabimi, listim i skedareve FTP dhe kështu me radhë. Index. Options Fancy. Indexing Përcakton sjelljen e funksionit të indeksimit te direktorise se Apache. Readme. Name README. html Përcakton skedarin README. html, përmbajtja e të cilit do të jetë e bashkangjitur në fund të një listimi te direktorive. Header. Name HEADER. html Përcakton skedarin HEADER. html si skedarin, përmbajtja e të cilit do të jetë futur në krye të një listimi te direktorive.
- Slides: 14