web server - cloud.politala.ac.idcloud.politala.ac.id/politala/1. jurusan/teknik informatika/1....
TRANSCRIPT
Web serverWeb server
KomponenKomponen SistemSistem WebWeb
Mapping URL Mapping URL SistemSistem WebWeb
Web Server Web Server vsvs Web ApplicationWeb Application
Web Application:Web Application:–– MenggunakanMenggunakan bahasabahasa Pemprograman(misalPemprograman(misal ASP, PHP, Java, ASP, PHP, Java,
.Net, .Net, PerlPerl atauatau C)C)Web Server:Web Server:–– MelayaniMelayani permintaanpermintaan client client dandan meneruskanmeneruskan keke aplikasiaplikasi yang yang
sesuaisesuai selanjutnyaselanjutnya diprosesdiproses oleholeh aplikasiaplikasi yang yang sesuaisesuai ((misalmisal IIS, IIS, Apache, Apache, thttpdthttpd dlldll.).)
Web Application Web Application tidaktidak bisabisa jalanjalan tanpatanpa Web ServerWeb ServerWeb Server Web Server bisabisa bekerjabekerja tanpatanpa Web Application (Web Application (TapiTapihanyahanya bisabisa melayanimelayani web web dengandengan content content statisstatis))
URLsURLsEach file managed by a server has a unique name called a Each file managed by a server has a unique name called a URL (Universal Resource Locator)URL (Universal Resource Locator)URLs for static content:URLs for static content:–– http://www.cs.cmu.edu:80/index.htmlhttp://www.cs.cmu.edu:80/index.html
–– http://http://www.cs.cmu.edu/index.htmlwww.cs.cmu.edu/index.html
–– http://http://www.cs.cmu.eduwww.cs.cmu.eduIdentifies a file called Identifies a file called index.html,index.html, managed by a Web server at managed by a Web server at www.cs.cmu.eduwww.cs.cmu.edu that is listening on port 80.that is listening on port 80.
URLs for dynamic content:URLs for dynamic content:–– http://www.cs.cmu.edu:8000/cgihttp://www.cs.cmu.edu:8000/cgi--bin/adder?15000&213bin/adder?15000&213
Identifies an executable file called Identifies an executable file called adderadder, managed by a Web server at , managed by a Web server at www.cs.cmu.eduwww.cs.cmu.edu that is listening on port 8000, that should be called that is listening on port 8000, that should be called with two argument strings: with two argument strings: 1500015000 and and 213213..
InstalasiInstalasi dandan konfigurasikonfigurasiDownload file httpdDownload file httpd--2.0.55.tar.gz 2.0.55.tar.gz daridari apache.orgapache.orgExtract file Extract file tersebuttersebut#tar #tar ––xzvfxzvf httpdhttpd--2.0.55.tar.gz2.0.55.tar.gzPindahPindah keke directory httpddirectory httpd--2.0.552.0.55##cdcd httpdhttpd--2.0.552.0.55#./configure#./configuretunggutunggu sampaisampai keluarkeluar prompt prompt lagilagi#make#maketunggutunggu sampaisampai keluarkeluar promptprompt#make install#make installsetelahsetelah keluarkeluar prompt prompt kembalikembali, program apache2 , program apache2 sudahsudahterinstallterinstall didi /usr/local/apache2/usr/local/apache2
SusunanSusunan directorydirectorybin bin filefile--file programfile programbuildbuildcgicgi--bin bin script script cgicgiconf conf tempattempat konfigurasikonfigurasierror error error messageerror messagehtdocshtdocs dokumendokumen yang yang akanakan dipublishdipublishicons icons gambargambar--gambargambar kecilkecilincludeincludelibliblogslogsman man manual pagesmanual pagesmanual manual dokumentasidokumentasimodules modules modulemodule
Directory yang Directory yang digunakandigunakan
binbinhtdocshtdocsconfconf
KonfigurasiKonfigurasi apache2apache2
DiletakkanDiletakkan didi dalamdalam sub dir sub dir confconfDiDi dalamdalam file file httpd.confhttpd.confMenggunakanMenggunakan directivesdirectives
KonfigurasiKonfigurasi DasarDasarServerRootServerRoot Root Root daridari apache2apache2Listen Listen Port http (Port http (biasanyabiasanya 80)80)DocumentRootDocumentRoot lokasilokasi dokumendokumen HTMLHTMLUsers Users apache apache akanakan dijalankandijalankan sebagaisebagai
user user dandan group group iniiniGroup Group ServerNameServerName assign assign NamaNama mesinmesinServerAdminServerAdmin email address adminemail address adminDirectoryIndexDirectoryIndex file default yang file default yang akanakan
dijalankandijalankan
MenjalankanMenjalankan Apache2Apache2
CukupCukup menggantimengganti KonfigurasiKonfigurasi dasardasardengandengan isianisian yang yang sesuaisesuai, apache2 , apache2 sudahsudahsiapsiap untukuntuk dijalankandijalankan dengandengan kemampuankemampuandasardasar yaituyaitu bisabisa didi browsebrowseMenjalankanMenjalankan : : #/usr/local/apache2/bin/apachectl start#/usr/local/apache2/bin/apachectl startMengentikanMengentikan::#/usr/local/apache2/bin/apachectl stop#/usr/local/apache2/bin/apachectl stop
MeletakkanMeletakkan DokumenDokumen HTMLHTML
DokumenDokumen--dokumendokumen HTML yang HTML yang akanakandipublikasikandipublikasikan keke Internet, Internet, bisabisa diletakkandiletakkandidi dalamdalam Directory yang Directory yang disebutkandisebutkan didiDocumentRootDocumentRoot
Per User Web DirectoriesPer User Web Directories
MenggunakanMenggunakan module module mod_userdirmod_userdirSecaraSecara default directory user yang default directory user yang bisabisa didi--browse browse adalahadalah directory user yang directory user yang didibawahbawah /home/homeDirective Directive UserDirUserDir diisidiisi dengandengan namanamadirectory yang directory yang diinginkandiinginkan
Per User web DirectoryPer User web Directory
jikajika path yang path yang diberikandiberikan tidaktidak didahuluididahuluidengandengan slash, slash, makamaka diasumsikandiasumsikan bahwabahwaituitu adalahadalah directory path yang relative directory path yang relative terhadapterhadap home dir home dir daridari user user tertentutertentu
UserDirUserDir public_htmlpublic_html
http://http://example.com/~rbowen/file.htmlexample.com/~rbowen/file.html/home//home/rbowen/public_html/file.htmlrbowen/public_html/file.html
Per User Web DirectoryPer User Web Directory
jikajika path path diberikandiberikan dengandengan slash, slash, makamakadirectory path directory path akanakan dibuatdibuat menggunakanmenggunakanpath path tsbtsb, plus username yang , plus username yang ditentukanditentukan
UserDirUserDir //varvar/html/html
http://http://example.com/~rbowen/file.htmlexample.com/~rbowen/file.html//var/html/rbowen/file.htmlvar/html/rbowen/file.html
Per User Web DirectoryPer User Web Directory
jikajika sebuahsebuah path path didi sediakansediakan dengandengan * * (asterisk) (asterisk) makamaka * * tersebuttersebut akanakan digantidigantidengandengan username yang username yang ditentukanditentukan
UserDirUserDir //varvar/www/*/docs/www/*/docs
http://example.com/~rbowen/file.htmlhttp://example.com/~rbowen/file.html ----> > //var/www/rbowen/docs/file.htmlvar/www/rbowen/docs/file.html
Virtual HostVirtual Host
IP BasedIP Based–– BerbasisBerbasis IPIP–– SatuSatu IP IP untukuntuk tiaptiap WebsiteWebsiteName BasedName Based–– BerbasisBerbasis NamaNama–– LebihLebih daridari satusatu website per IP addresswebsite per IP addressDalamDalam KasusKasus iniini kitakita akanakan menggunakanmenggunakanName Based VHName Based VH
Name Based Virtual HostName Based Virtual Host
Name based VH, Name based VH, memungkinkanmemungkinkan kitakitauntukuntuk bisabisa mempunyaimempunyai banyakbanyak site site walaupunwalaupun kitakita hanyahanya punyapunya satusatu IPIPPer site Per site identikidentik dengandengan satusatu Block Block directive directive VirtualHostVirtualHost
Per user home directoryPer user home directoryEdit Edit httpd.confhttpd.confCariCari UserDirUserDir public_htmlpublic_html hapushapus tandatanda ##HapusHapus barisbaris yang yang adaada ““UserDirUserDir disable”disable”KeluarKeluar daridari httpd.confhttpd.confRestart apache Restart apache dengandengan /etc//etc/rc.d/init.d/httpdrc.d/init.d/httpd restartrestart
MenambahkanMenambahkan user:user:UseraddUseradd <<namausernamauser>>PasswdPasswd <<namausernamauser>>RubahRubah mode access mode access homedirhomedir user user tersebuttersebut ::–– ##chmodchmod a+xa+x /home/</home/<namausernamauser>>
BuatlahBuatlah directory directory public_htmlpublic_html didi dalamdalam homedirhomedir user user MasukkanMasukkan file HTML file HTML keke dalamdalam direktoridirektori tersebuttersebut
Name Based Virtual HostName Based Virtual HostNameVirtualHostNameVirtualHost *:80*:80
<<VirtualHostVirtualHost *:80>*:80>ServerNameServerName www.domain.tldwww.domain.tldServerAliasServerAlias domain.tlddomain.tld *.*.domain.tlddomain.tldDocumentRootDocumentRoot /www/domain/www/domainErrorLogErrorLog /www/domain/error/www/domain/error
</</VirtualHostVirtualHost>>
<<VirtualHostVirtualHost *:80>*:80>ServerNameServerName www.otherdomain.tldwww.otherdomain.tldDocumentRootDocumentRoot /www//www/otherdomainotherdomainErrorLogErrorLog /www//www/otherdomainotherdomain/error/error
</</VirtualHostVirtualHost> >
KonfigurasiKonfigurasi VHVH
<<VirtualHostVirtualHost *:80>*:80>ServerNameServerName [[nama_mesinnama_mesin]]ServerAliasServerAlias [alias][alias]DocumentRootDocumentRoot [[letakletak directory site]directory site]ErrorLogErrorLog [ file [ file untukuntuk mencatatmencatat error]error]
</</VirtualHostVirtualHost>>