1 / 37

A Web programozása 1. előadás Webszerver telepítése és konfigurálása

A Web programozása 1. előadás Webszerver telepítése és konfigurálása. Rózsa Szabolcs BME Általános- és Felsőgeodézia Tanszék. Tartalom. Bevezetés, tárgyismertető Webszerver telepítése és konfigurálása. Tárgyismertető. A tárgy célja:

eydie
Download Presentation

A Web programozása 1. előadás Webszerver telepítése és konfigurálása

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Web programozása 1. előadás Webszerver telepítése és konfigurálása Rózsa Szabolcs BME Általános- és Felsőgeodézia Tanszék

  2. Tartalom • Bevezetés, tárgyismertető • Webszerver telepítése és konfigurálása

  3. Tárgyismertető • A tárgy célja: • Elsajátítsuk a dinamikus weboldalak fejlesztéséhez szükséges ismereteket, ideértve: • Webszerverek telepítését és konfigurálását, • php fordítókörnyezet telepítését és konfigurálását, • a php programozási ismeretek alapjait, • MySQL adatbáziskezelő telepítését, illetve a phpMyAdmin webes adminisztrációs felület használatát, • adatbázisok kezelését/lekérdezését végző weboldalak fejlesztését.

  4. Tárgyismertető • A tárgyról: • 6 alkalommal 3-3 óra előadás gyakorlattal kombinálva, • vizsgával zárul a tárgy: egy vizsgafeladatot kell megoldani. A vizsgafeladat elkészítése során az említett témakörök ismeretéről kell tanúbizonyságot tenni. • A vizsgafeladat elkészítése önálló, otthoni munka, és bármilyen segédeszköz használható. • Az elkészített vizsgafeladat leadását követően egy szóbeli vizsgával zárul a tárgy, ahol be kell mutatni a vizsgafeladatot, és az azzal kapcsolatos kérdésekre kell választ adni.

  5. HTTP Szerver telepítése Minden gépre feltelepítjük az apache webszervert, majd elvégezzük annak konfigurálását is. A telepítőkészlet elérhető a tárgy honlapjáról:

  6. HTTP Szerver telepítése A webszervert szolgáltatásként installáljuk, a domain név: agt.bme.hu, a szerver név pedig pcXX.agt.bme.hu:

  7. HTTP Szerver telepítése Ellenőrizzük, hogy fut-e az Apache szolgáltatás (Apache Service Monitor):

  8. HTTP Szerver telepítése Nézzük meg, hogy valóban elérhető-e a szerver: Vegyük észre, hogy a 8080-as portot használja a szerver defaultként.

  9. HTTP Szerver telepítése Az Apache könyvtárstruktúrája, és a httpd.conf konfigurációs fájl

  10. HTTP szerver konfigurálása (APACHE) A http.conf konfigurációs fájl főbb beállítása: Port megadása: A HTTP kérések fogadásához felhasznált port megadása: általánosan a 80-as portot használjuk, de ettől eltérő portokat is igénybe lehet venni. Ekkor a böngészőben az URL –ben meg kell adni a port számát is. Pl. a 8080-as port esetén: http://www.server.domain:8080 ### Section 1: Global Environment A szerver alapvető működéséhez szükséges beállítások. Ált. célszerű változatlanul hagyni, kivéve: Listen 8080 - a HTTP kérelmek fogadásának portjai. Feladat: Állítsuk át a portot 80-ra!

  11. HTTP szerver konfigurálása (APACHE) Szerverbeállítások: Ezek a beállítások a ### Section 2: 'Main' server configuration részben találhatóak: A webmester e-mail címének megadása: ServerAdmin webmaster@pc1.lab.agt.bme.hu A szerver URL megadása: ServerName pc1.lab.agt.bme.hu:8080 A HTML oldalak fizikai helyének megadása: DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs" Feladat: Javítsuk a port beállítását, illetve állítsuk át a html oldalak helyét az e:\ meghajtón egy újonnan létrehozott könyvtárra!

  12. HTTP szerver konfigurálása (APACHE) Könyvtárbeállítások: Különböző opciók és jogosultsági beállítások könyvtárszintű definiálása: <Directory /> Options FollowSymLinks AllowOverride None </Directory>

  13. Könyvtárbeállítások Opciók: • All • Minden opció, kivéve a MultiView opciót. • ExecCGI • CGI szkriptek futtatása megengedett a mod_cgi modullal. • FollowSymLinks • Szimbolikus linkek követése. • Includes • Szerveroldali include fájlok megengedettek. • IncludesNOEXEC • Hasonló az előzőhöz, de futtatható szkriptek beillesztése letiltva. • Indexes • Ha nincs index fájl a könyvtárban, akkor a könyvtárlistát kapjuk vissza. • MultiViews • Több nézetet választhatunk a tartalmakból (pl. nyelvek szerint) • SymLinksIfOwnerMatch • Csak akkor követi a szerver a szimbolikus linkeket, ha a célfájl tulajdonosa azonos a hívó fájléval.

  14. Könyvtárbeállítások Biztonsági beállítások: AllowOverride direktíva Célja, hogy a webes területek közül bizonyosak csak egy-egy adott felhasználó számára legyen elérhető – pl. jelszavas beléptetés. • AuthConfig • Megengedi a hitelesítő direktívák használatát (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, stb.). • FileInfo • Megengedi a dokumentum típusokat ellenőrző direktívák használatát (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, and mod_mime Add* and Remove* directives, etc.). • Indexes • Megengedi a könyvtár listázását befolyásoló direktívák használatát (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc.). • Limit • A szerver elérhetőségét befolyásoló direktívák használhatók (Allow, Deny and Order). • Options • Könyvtárspecifikus funkciók használatát engedélyezi (Options and XBitHack).

  15. Könyvtárbeállítások Egy példa: <Directory "E:/webprog/htdocs"> Options Indexes FollowSymLinks # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory>

  16. Könyvtárbeállítások • Mentsük el a httpd.conf állományt, és indítsuk újra az Apache szolgáltatást. • Nézzük meg a szerverünket a böngészőben,URL: http://localhost Hová lett az ‘It works’ felirat? Még nincsen html dokumentumunk a htdocs könyvtárban! Másoljunk be ide is egy html oldalt!

  17. Felhasználóspecifikus könyvtárbeállítások Több felhasználót kiszolgáló webszervereknél célszerű, ha az egyes felhasználóknak saját könyvtárai vannak, amelyeket saját maguk menedzselhetnek. Így a központi tartalomhoz nem kell hozzáférést biztosítanunk, a felhasználók csak a saját területükön tehetnek kárt. Az URL-ben a személyes webkönyvtárakra az alábbiaknak megfelelően hivatkozhatunk: http://szervernev/~usernev Beállítás a httpd.conf fájlban: UserDir direktíva UserDir "My Documents/My Website"

  18. Felhasználóspecifikus könyvtárbeállítások conf/extras/httpd-userdir.conf A beállítások után kommenteljük ki a httpd.conf-ban az alábbi sort: LoadModuleuserdir_modulemodules/mod_userdir.so Includeconf/extra/httpd-userdir.conf Majd indítsuk újra az Apache szolgáltatást!

  19. Felhasználóspecifikus könyvtárbeállítások Hozzuk létre a geodezia user Dokumentumok könyvtárában egy website nevű könyvtárat, és helyezzünk el benne egy html oldalt! Ezt követően nézzük meg az alábbi URL-t a böngészőben: http://localhost/~geodezia

  20. Az indexfájlok megadása Egy html dokumentumra hivatkozva az URL-ben meg kell adnunk a html dokumentum nevét: http://www.geod.bme.hu/tutor_h/terinfor/tbev.htm Általában azonban a felhasználó a szerver nevét ismeri csak (pl. http://www.index.hu . Ilyenkor a szervernek kell megtalálnia a megfelelő html fájlt, amit megtekinthetünk a böngészőben. Ezeket a fájlokat hívjuk index fájloknak, általában index.html névre hallgatnak, de ettől akár el is térhetnek (index.php, stb.). Httpd.conf: DirectoryIndex direktíva DirectoryIndex index.html index.html.var

  21. Korlátozott elérésű könyvtárak létrehozása Olyan könyvtárak létrehozása, amelyekben elhelyezett tartalom csak jelszavas beléptetés után érhető el: Emlékezzünk vissza a könyvtárbeállításoknál taláható AllowOverride direktívára! Ezzel beállíthatjuk, ha könyvtárszinten meg akarunk különböztetni jogosultságokat: <Directory /> Options FollowSymLinks AllowOverride AuthConfig </Directory> Ezt követően be kell állítanunk azt a fájlnevet, ahol a szerver keresheti a jogosultságellenőrzéshez szükséges beállításokat (AccessFileName direktíva): Httpd.conf AccessFileName .htaccess

  22. Korlátozott elérésű könyvtárak létrehozása Mivel a .htaccess és .htpass fájlok (ahol a beléptetéshez szükséges beállítások, és a jelszavak találhatóak) a html dokumentumok könyvtáraiban helyezkednek el, így meg kell akadályoznunk, hogy a webes felhasználók azokat megtekinthessék: Httpd.conf <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> A Files szekció lehetővé teszi, hogy a .ht –vel kezdődő állományokat a szerver NE mutassa meg a böngészőknek.

  23. Nézzünk egy példát a .htaccess fájlra .htaccess AuthType Basic AuthName "Biztonságos terület" AuthUserFile d:/www/proba/sub/htpass.txt Require user usernév .htpass szabi:$apr1$pR1.....$P3aa3.K00Pk47VYdXAnKM/ Megjegyzés: a beléptetéshez szükséges .htpass fájlt a htpasswd alkalmazással állíthatjuk elő, amely az apache bin könyvtárában található.

  24. Nézzünk egy példát a .htaccess fájlra Hozzuk létre az alábbi htaccess.txt fájlt a geodezia felhasználó saját htdocs könyvtárában! Hozzuk létre a belépési jelszavat tartalmazó htpass.txt fájlt:

  25. Nézzünk egy példát a .htaccess fájlra Vessünk egy pillantást a httpd-userdir.conf fájlra:

  26. Állítsuk be a httpd.conf fájlt a htaccess fájlok kezelésére Ezt követően indítsuk újra az Apache szolgáltatást!

  27. Jelszavas beléptetés könyvtárakra

  28. Vajon tényleg biztonságos ez a megoldás?

  29. Megoldás

  30. Rövidített hivatkozások definiálása (alias) Alias direktíva Lehetővé teszi, hogy a gyakran használt könyvtárakra a dokumentumokban rövidebb nevekkel hivatkozzunk. Például a dokumentumainkhoz felhasznált képeket elhelyezhetjük a html területen kívül elhelyezkedő icons könyvtárba, majd az alias-t definiálva a html dokumentum helyétől függetlenül hivatkozhatunk az icons könyvtárra. Alias /icons/ "C:/Program Files/Apache Group/Apache2/icons/" <Directory "C:/Program Files/Apache Group/Apache2/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory>

  31. Rövidített hivatkozások definiálása (alias) Alias direktíva A futtatható parancsfájlokat is elhelyezhetjük a html területen kívül: ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache2/cgi-bin/„ # # "C:/Program Files/Apache Group/Apache2/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "C:/Program Files/Apache Group/Apache2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>

  32. Egyév fontosabb direktívák DefaultType direktíva Megadja a tartalom default típusát arra az esetre, ha a azt a tartalomfájl nem tartalmazza. DefaultType text/plain HostnameLookups direktíva A logfájlokban a kliens nevét is rögzítsük-e, vagy csak az IP címét? ErrorLog direktíva Megadja az error.log fájl helyét.

  33. Virtuális hostok Név alapú virtuális hostok (gazdák) definiálása. Fizikailag egy szerverszámítógép és egy webszerver-szoftver több hostot is kiszolgálhat:

  34. Virtuális hostok Keressük meg a www.geod.bme.hu és az fgg.agt.bme.hu hostok IP címeit: Ezt követően nézzük meg a két URL-t egy böngészőben is!

  35. Virtuális hostok http://fgg.agt.bme.hu (152.66.5.8) http://www.geod.bme.hu (152.66.5.8)

  36. Virtuális hostok Név alapú virtuális hostok (gazdák) definiálása. Httpd.conf NameVirtualHost *:80<VirtualHost *:80>ServerName www.domain.tldServerAlias domain.tld *.domain.tldDocumentRoot /www/domain</VirtualHost><VirtualHost *:80>ServerName www.otherdomain.tldDocumentRoot /www/otherdomain</VirtualHost> Ha a HTTP kérés a www.domain.tld hostra érkezik, akkor a dokumentumokat a szerver a /www/domain könyvtárból jeleníti meg. Ha a kérésben a www.otherdomain.tld szerepel, akkor a /www/otherdomain könyvtár dokumentumait jeleníti meg a szerverszoftver.

  37. Virtuális hostok létrehozása Van két URL-ünk, amelyek ugyanarra az IP-re mutatnak. Hogyan különböztetjük meg őket? (FONTOS: A DNS regisztrációnál ugyanazt az IP-t kell megadnunk mindkét szervernévre) Httpd.conf NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@pc1.lab.agt.bme.hu DocumentRoot d:/www/pc1/ ServerName pc1.lab.agt.bme.hu ErrorLog logs/pc1-error_log CustomLog logs/pc1-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@pc1.lab.agt.bme.hu DocumentRoot d:/www/proba/ ServerName pc.proba.com ErrorLog logs/pc1-error_log CustomLog logs/pc1-access_log common </VirtualHost>

More Related