Kategóriák
Új Cikkek
Legnépszerűbbek
- Otthoni webszerver titkosítással (SSL)
- Otthoni szerver Linux alapokon
- The Church of Google
- Invision Power Board IPB 3 Beta 1
- dr. Tihanyi László orvos weboldala
- Woopra, avagy a valósidejű webstatisztika
- SEO barát URL kezelés - duplikált tartalom
- Neckermann utazási iroda weblapja
- Google, mint munkahely és Google hackek
- Realtek 8101/8168/8169 PCI/PCIe Driver Vista kékhalál
- Invision Power Board IPB 3 Beta 1
- Otthoni szerver Linux alapokon
- Valid CSS dropdown menü
- Google, mint munkahely és Google hackek
- Realtek 8101/8168/8169 PCI/PCIe Driver Vista kékhalál
- Full HD-s 24" monitorok
- SEO barát URL kezelés - duplikált tartalom
- dr. Tihanyi László orvos weboldala
- Woopra, avagy a valósidejű webstatisztika
- Otthoni webszerver titkosítással (SSL)
CMS CSS Domain Feed Fejlesztések Film és Sorozat Fórum Hackek Hardver Javascript Lightning LW Online cégek PHP Programozás SEO SQL Szerver Szoftver Webworks XHTML XML
Kommentek
LW
Otthoni webszerver titkosítással (SSL)
- 2009. Oct. 24. 02:53
Az otthoni szerver beüzemelésről már volt szó, így itt az ideje, hogy szolgáltatásokat is tegyünk rá.
A cikk tartalma kulcsszavakban: Webszerver, SSL, szerveres beléptetés, dinamikus DNS, autoindex.
A cikk tartalma kulcsszavakban: Webszerver, SSL, szerveres beléptetés, dinamikus DNS, autoindex.
Mielőtt belekezdenénk fontos, hogy a szükséges programok telepítve legyenek: Apache2, PHP, (MySQL), OpenSSL. Továbbá feltételezzük, hogy alapkonfigurációnk van.
Az első lépés engedélyezni a szükséges apache modul(ok)at:
Az /etc/apache2/mods-available/ mappából átmásoljuk az ssl.conf és ssl.load fájlokat az /etc/apache2/mods-enabled/ mappába így automatikusan be fognak töltődni. De ha külön meghívjuk őket az apache2.conf vagy a httpd.conf fájlból az is megfelel. A lustáknak pedig ott az "a2enmod ssl" parancs.
Az /etc/apache2/ports.conf fájlban ez a 2 sor kell szerepeljen:
Ezután átírjuk az alap virtualhost-ot. Illetve akár létrehozhatunk egy újat is.
Az alap konfig fájl helye: /etc/apache2/sites-available/default
Íme egy konkrét példa, utána megmagyarázom a fontosabb sorokat:
Fontos, hogy az első sorban a port 443 legyen, ugyanis ez az alapértelemzett SSL port, így fog tudni a böngésző https:// hívással rátalálni. Az SSLEngine on sor aktiválja a titkosított kapcsolatot. A következő 3 sor is az SSL beállításáért felel és hacsak nincs egy aláírt SSL tanusítvány a kezünkben, ami otthonra nem is lesz, kénytelenek leszünk beérni egy saját kezűleg aláírt tanusítvánnyal, amit első alkalommal jóvá kell majd hagyni a böngészőből, ha megnyitunk egy oldalt. Ilyen tanusítványt a rendszer már automatikusan generált: ssl-cert-snakeoil. A Directory elemekhez nem kell nyúlnunk, ha az alapértelmezett /var/www/ a DocumentRoot, ha nem akkor állítsuk be az útvonalakat. Az AllowOverride all opcionális. Ez aktiválja a mod_rewrite néven ismert modult. Ha nem használjuk szedjük ki.
Ha szeretnénk globálisan jelszóval védeni az egész virtualhostot, akkor van szükségünk erre:
Fontos, hogy a legfelső szintű mappánál legyen, hogy mindenhol érvényesüljön. A Require sor mondja meg, hogy kik léphetnek be. Ha a ez "valid-user", akkor bárki, aki benne van a htpasswd fájlban, ha "user felhasznalo_egy", akkor csak egy bizonyos felhasználó, ugyan így a csoportoknál: "group csoport_egy". A felhasználók és jelszavak ebben az esetben a /var/www/.htpasswd fájlban a csoportok a /var/www/.htgroup fájlban vannak. A .htpasswd fájlt hozzuk létre, majd 2 lehetőségünk van a felhasználók hozzáadására: Vagy a "htpasswd /var/www/.htpasswd felhasznalo_egy" parancsot használjuk, vagy egy generátorral elkészíttetjük a kódot és beillesztjük. Ha csoportokat is szeretnénk, akkor a .htgroup fájl egy sora így kell kinézzen:
csoport_egy: felhasznalo_egy felhasznalo_ketto
Az alap ezzel kész is van. Ha minden jól csináltunk az apache újraindítása (apache2ctl restart) után működnie kell a belső hálózaton. Ha router mögött van a gép, akkor a 443-mas portra kell egy portforward, ami az adott gépre küld minden bejövő kapcsolatot ezen a porton. Ahhoz, hogy a netről is elérhető legyen és nincs statikus IP címünk, szükségünk lesz egy dinamikus DNS szolgáltatásra is, például DynDNS.org, dtdns.com.
A különféle PHP, Javascript, stb alapú megosztó programokon túl túl ajánlom az autoindex nevű modult, ami nagyon egyszerű readonly megosztást tud. Ezt is a mods-enabled mappába kell másolni (autoindex.conf és autoindex.load) vagy külön betölteni egy globális konfigfájlba. A konfig fájl (autoindex.conf) jól kommentálva van, így nem okozhat különösebb gondot a testreszabása se. Természetesen a megosztandó mappáknak is kell egy Directory elem a virtualhost-ba pontosan a többihez hasonlóan, illetve egy alias elé:
Alias /megosztas "/home/mappa/megosztas".
Az első lépés engedélyezni a szükséges apache modul(ok)at:
Az /etc/apache2/mods-available/ mappából átmásoljuk az ssl.conf és ssl.load fájlokat az /etc/apache2/mods-enabled/ mappába így automatikusan be fognak töltődni. De ha külön meghívjuk őket az apache2.conf vagy a httpd.conf fájlból az is megfelel. A lustáknak pedig ott az "a2enmod ssl" parancs.
Az /etc/apache2/ports.conf fájlban ez a 2 sor kell szerepeljen:
Kód
NameVirtualHost *:443 Listen 443
Ezután átírjuk az alap virtualhost-ot. Illetve akár létrehozhatunk egy újat is.
Az alap konfig fájl helye: /etc/apache2/sites-available/default
Íme egy konkrét példa, utána megmagyarázom a fontosabb sorokat:
Kód
<VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/ SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <Directory /> Options FollowSymLinks Order deny,allow Deny from all AuthUserFile /var/www/.htpasswd AuthGroupFile /var/www/.htgroup AuthName "LW" AuthType Basic Require valid-user </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all Require valid-user </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride all Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch SSLOptions +StdEnvVars Order allow,deny Allow from all Require valid-user </Directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost>
Fontos, hogy az első sorban a port 443 legyen, ugyanis ez az alapértelemzett SSL port, így fog tudni a böngésző https:// hívással rátalálni. Az SSLEngine on sor aktiválja a titkosított kapcsolatot. A következő 3 sor is az SSL beállításáért felel és hacsak nincs egy aláírt SSL tanusítvány a kezünkben, ami otthonra nem is lesz, kénytelenek leszünk beérni egy saját kezűleg aláírt tanusítvánnyal, amit első alkalommal jóvá kell majd hagyni a böngészőből, ha megnyitunk egy oldalt. Ilyen tanusítványt a rendszer már automatikusan generált: ssl-cert-snakeoil. A Directory elemekhez nem kell nyúlnunk, ha az alapértelmezett /var/www/ a DocumentRoot, ha nem akkor állítsuk be az útvonalakat. Az AllowOverride all opcionális. Ez aktiválja a mod_rewrite néven ismert modult. Ha nem használjuk szedjük ki.
Ha szeretnénk globálisan jelszóval védeni az egész virtualhostot, akkor van szükségünk erre:
Kód
AuthUserFile /var/www/.htpasswd AuthGroupFile /var/www/.htgroup AuthName "LW" AuthType Basic Require valid-user
Fontos, hogy a legfelső szintű mappánál legyen, hogy mindenhol érvényesüljön. A Require sor mondja meg, hogy kik léphetnek be. Ha a ez "valid-user", akkor bárki, aki benne van a htpasswd fájlban, ha "user felhasznalo_egy", akkor csak egy bizonyos felhasználó, ugyan így a csoportoknál: "group csoport_egy". A felhasználók és jelszavak ebben az esetben a /var/www/.htpasswd fájlban a csoportok a /var/www/.htgroup fájlban vannak. A .htpasswd fájlt hozzuk létre, majd 2 lehetőségünk van a felhasználók hozzáadására: Vagy a "htpasswd /var/www/.htpasswd felhasznalo_egy" parancsot használjuk, vagy egy generátorral elkészíttetjük a kódot és beillesztjük. Ha csoportokat is szeretnénk, akkor a .htgroup fájl egy sora így kell kinézzen:
csoport_egy: felhasznalo_egy felhasznalo_ketto
Az alap ezzel kész is van. Ha minden jól csináltunk az apache újraindítása (apache2ctl restart) után működnie kell a belső hálózaton. Ha router mögött van a gép, akkor a 443-mas portra kell egy portforward, ami az adott gépre küld minden bejövő kapcsolatot ezen a porton. Ahhoz, hogy a netről is elérhető legyen és nincs statikus IP címünk, szükségünk lesz egy dinamikus DNS szolgáltatásra is, például DynDNS.org, dtdns.com.
A különféle PHP, Javascript, stb alapú megosztó programokon túl túl ajánlom az autoindex nevű modult, ami nagyon egyszerű readonly megosztást tud. Ezt is a mods-enabled mappába kell másolni (autoindex.conf és autoindex.load) vagy külön betölteni egy globális konfigfájlba. A konfig fájl (autoindex.conf) jól kommentálva van, így nem okozhat különösebb gondot a testreszabása se. Természetesen a megosztandó mappáknak is kell egy Directory elem a virtualhost-ba pontosan a többihez hasonlóan, illetve egy alias elé:
Alias /megosztas "/home/mappa/megosztas".
Ajánlott Cikkek
- Realtek 8101/8168/8169 PCI/PCIe Driver Vista kékhalál
- SEO barát URL kezelés - duplikált tartalom
- Otthoni szerver Linux alapokon
Komment küldése
| A komment küldéshez regisztráció szükséges! |
| Bejelentkezés / Regisztráció |

