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.

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

Tananyag: konzultáció
Operációs Rendszerek I.
1 Internet. 2 WWW  World Wide Web  Hivatkozásokkal összekötött hipermédia dokumentumok rendszere  Dokumentumok -> Weboldalak  A weboldalak hipertext.
Internet ismeretek II..
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Egy kisvállakozás dinamikus weboldalának fejlesztése: tervezés, problémák, megoldások Szilágyi Gábor.
Social Networking alkalmazás fejlesztése ASP.NET 3.5-tel Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
2007 ISP TANFOLYAM ÉSZAKNET, LH COM. USER AUTHENTIKÁCIÓ •MAC – IP •MAC – DHCP •MAC – IP – RADIUS •PPPoE – RADIUS.
FRAME-k (keretek). FRAME-k A frame-ek (keretek) segítségével a képernyőt felosztva egyszerre jeleníthetünk meg több webes dokumentumot a képernyőn. Fejlec.html.
Hálózat összeállítási feladat 2
megismerése, mintaadatbázis létrehozása
PHP fordító telepítése és integrálása az Apache http szerverbe.
HTML űrlapok kezelése és feldolgozása PHP segítségével
Az előd – IIS 6 2 Forrás: Secunia, Forrás: Netcraft, August 2007 Web Server Survey Elterjedtség.
1 Hálózati Operációs Rendszerek gyakorlat Bevezető Előadó: Bilicki Vilmos
Készítette: Rummel Szabolcs
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
WSDL alapismeretek A WSDL (Web Services Description Language – Web szolgáltatások leíró nyelv) egy XML-alapú nyelv a Web szolgáltatások leírására és azok.
 Az Apache webszervernek semmi köze az Apache indiánokhoz, akik az Egyesült Államok dél-nyugati részén élõ õslakók. A név egy szójáték: "a patchy server”,
Szombathely Dinamikus WEB programozás: PHP és JSP.
Elektronikus levelezés
Vizuális és web programozás II.
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
PHP III. Fájlok, űrlapok.
Exchange Server 2007 Client Access Role
Buris Katalin V. földrajz - informatika
Információ és kommunikáció Szilágyi András. Követelmények A cd-n az anyag a következő részeket fedte le: Kliensprogramok, letöltés-vezérlők Kliensprogramok,
a Moodle autentikációjához a PTE FEEK-en
Korpásné Szűcs Melinda web-referens DEENK Korpásné Szűcs Melinda web-referens DEENK.
Segédlet vizuális programozáshoz Kovács László
Az internetes keresőkben a felhasználó az őt érdeklő szavakra, adatokra kereshet rá egy általában egyszerű oldalon, egy beviteli mező és egyéb szűrési.
Az Interneten az állományok mozgatására leggyakrabban az FTP program használatos. Az FTP felhasználók általában az alábbi funkciókkal rendelkeznek: kapcsolódás.
Felhasználók és jogosultságok
PHP szkriptek alkalmazása a webes adatbázis kezelésére
Fejlesztés PHP-NUKE portál rendszerre Horváth Zoltán Második Magyarországi PHP Konferencia március 27. Copyright PHP Konferencia,
Flash és PHP? De még mennyire! Kiss-Tóth Marcell
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Műszer vezérlő - kezelő program GPI-745A teszterhez.
Fontos információk.
Web fejlesztés V. Illés Zoltán ELTE Informatikai Kar
Illés Zoltán ELTE Informatikai Kar
Adatbázis-kezelés Tarcsi Ádám január. 15. MySQL és PHP.
Az Internet alkalmazásai
Hálózat menedzsment Óravázlat Készítette: Toldi Miklós.
Topológiák Hálózati eszközök
Fejlett Programozási Technológiák II. 2009, Nagy Csaba JSP – Java Server Pages.
Első lépések a szövegszerkesztő használatában
Illés Zoltán ELTE Informatikai Kar
Violet nails Készítette: Csőke Vivien. Bevezetés Téma: Violet nails - műkörömkészítő weblapjának elkészítése A weboldal elérhető az alábbi címen: violetnails.atw.hu.
Webprogramozó tanfolyam
Illés Zoltán ELTE Informatikai Kar
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
Desktop virtualizáció Microsoft VDI használatával Háló Gyula.
Modern Alarm Hungary.  A szoftver telepítése előtt telepítse a hardware kulcs drivert (ne csatlakoztassa a hardware kulcsot amíg nem telepítette a drivert)
Operációs Rendszerek gyakorlat Rövid András
Kiss Tibor System Administrator (MCP) ISA Server 2006.
COMPU-CONSULT Ltd. Saját kábeltv IP kamerával Előadók: Szabó Bence, COMPU-CONSULT Kft. Imre Gábor Panasonic, Előadás közben telefonálhat:
Webáruház rendszerek Reisz Péter G-3S
A HTML alapjai Az internet és a web.
A HTML alapjai Az internet és a web.
Fülemüle informatika tehetségkutató verseny
(Iskolai) Beléptető rendszer Raspberry Pi 2-vel.
Alkalmazott Informatikai Tanszék
Az FTP felhasználók általában az alábbi funkciókkal rendelkeznek:
Internet és kommunikáció
Kisvállalati hálózat kialakítása raspberry szerverrel
Előadás másolata:

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: 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.

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.

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:

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:

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

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.

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

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:

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:

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)

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

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:

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:

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!

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:

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!

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:

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:

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):

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

.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ó.

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:

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

Á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!

Jelszavas beléptetés könyvtárakra

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

Megoldás

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.

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:

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

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:

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!

Virtuális hostok ( ) ( )

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.

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