Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

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: ### 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 a HTTP kérelmek fogadásának portjai. Állítsuk át a portot 80-ra! Feladat:

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 címének megadása: ServerAdmin 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" 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! Feladat:

12 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: Options FollowSymLinks AllowOverride None HTTP szerver konfigurálása (APACHE)

13 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. Opciók: Könyvtárbeállítások

14 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.).AuthDBMGroupFileAuthDBMUserFileAuthGroupFile AuthNameAuthTypeAuthUserFileRequire 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.).DefaultTypeErrorDocument ForceTypeLanguagePrioritySetHandlerSetInputFilterSetOutputFiltermod_mime 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.).AddDescriptionAddIcon AddIconByEncodingAddIconByTypeDefaultIconDirectoryIndexFancyIndexingHeaderName IndexIgnoreIndexOptionsReadmeName Limit A szerver elérhetőségét befolyásoló direktívák használhatók (Allow, Deny and Order).AllowDenyOrder Options Könyvtárspecifikus funkciók használatát engedélyezi (Options and XBitHack).OptionsXBitHack Könyvtárbeállítások Biztonsági beállítások:

15 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 Könyvtárbeállítások Egy példa:

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: 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 UserDir "My Documents/My Website" UserDir direktíva Az URL-ben a személyes webkönyvtárakra az alábbiaknak megfelelően hivatkozhatunk: 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. Beállítás a httpd.conf fájlban:

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: LoadModule userdir_module modules/mod_userdir.so Include conf/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:

20 DirectoryIndex direktíva DirectoryIndex index.html index.html.var Az indexfájlok megadása Egy html dokumentumra hivatkozva az URL-ben meg kell adnunk a html dokumentum nevét: Általában azonban a felhasználó a szerver nevét ismeri csak (pl. 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:

21 Httpd.conf AccessFileName.htaccess 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: Options FollowSymLinks AllowOverride AuthConfig 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):

22 Order allow,deny Deny from all A Files szekció lehetővé teszi, hogy a.ht –vel kezdődő állományokat a szerver NE mutassa meg a böngészőknek. 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

23 .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/ Nézzünk egy példát a.htaccess fájlra 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 Alias direktíva Alias /icons/ "C:/Program Files/Apache Group/Apache2/icons/" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all Rövidített hivatkozások definiálása (alias) 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.

31 Alias direktíva 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. # AllowOverride None Options None Order allow,deny Allow from all Rövidített hivatkozások definiálása (alias) A futtatható parancsfájlokat is elhelyezhetjük a html területen kívül:

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

33 Név alapú virtuális hostok (gazdák) definiálása. Virtuális hostok 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 é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 ( ) ( )

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

37 Httpd.conf 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) NameVirtualHost *:80 ServerAdmin DocumentRoot d:/www/pc1/ ServerName pc1.lab.agt.bme.hu ErrorLog logs/pc1-error_log CustomLog logs/pc1-access_log common ServerAdmin DocumentRoot d:/www/proba/ ServerName pc.proba.com ErrorLog logs/pc1-error_log CustomLog logs/pc1-access_log common Virtuális hostok létrehozása


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések