Lighttpd beüzemelése openwrt alatt
Telepítsük is fel a lighttpd-t és hozzá néhány hasznos modot.
opkg update && opkg install lighttpd lighttpd-mod-access lighttpd-mod-alias lighttpd-mod-auth lighttpd-mod-cgi lighttpd-mod-fastcgi lighttpd-mod-redirect \ lighttpd-mod-rewrite lighttpd-mod-scgi lighttpd-mod-simple-vhost lighttpd-mod-status
Ennyi bőven elég is szerintem, így van log, virtual host, fastcgi, authentication, szép url. Ezeket a modulokat engedélyeznünk is kell majd a configurációs fájlban.
nano /etc/lighttpd/lighttpd.conf
Egyből az elején találjuk a modulokat amiket engedélyezni szeretnénk, ehhez csak ki kell törölni az előtte lévő # jelet.
Nálam így néz ki ez a rész:
server.modules = (
"mod_rewrite",
"mod_redirect",
"mod_alias",
"mod_auth",
"mod_status",
# "mod_setenv",
"mod_fastcgi",
# "mod_proxy",
"mod_simple_vhost",
"mod_cgi",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_webdav"
)
1-2 preconfig, ami hasznos lehet. Azt hiszem sok hozzáfűznivaló nincs.
url.access-deny = ( "~", ".inc", ".htaccess")
dir-listing.encoding = "utf-8"
server.dir-listing = "disable"
Állítsuk is be a monduljainkat.
Egyből az elején a log-olást és a gyökér könyvtárat kell beállítani neki, majd azokat a fájlokat amiket a könyvtárakban keressen és töltsön be automatikusan.
## a static document-root, for virtual-hosting take look at the ## server.virtual-* options server.document-root = "/mnt/adatok/www/webroot" ## where to send error-messages to server.errorlog = "/mnt/adatok/www/log/lighttpd/error.log" ## files to check for if .../ is requested
index-file.names = ( "index.html", "default.html", "index.htm", "default.htm", "index.php", "default.php" )
Ha lejebb megyünk akkor a virtual host résznél tudunk könyvtárakhoz domaineket hozzárendelni. Példa konfiguráció, ezt nem kell megcsinálni a müködés érdekében.
$HTTP["host"] == "speeedfire.com" {
server.name = "speeedfire.com"
# #documentroot
server.document-root ="/mnt/adatok/www/valami/webroot"
compress.cache-dir = "/var/cache/lighttpd/compress/" + server.name
}
Lejebb találjuk az alapértelmezett feltöltések helyét. Ezt is érdemes a hdd-re irányítani, mert alap esetben a ram-ba mentené el. Én erre a célre hoztam létre egy mappát.
## change uid to <uid> (default: don't care)
#server.username = "nobody"
#
server.upload-dirs = ( "/mnt/adatok/www/tmp" )
A fastcgi engedélyezése:
#### fastcgi module
## read fastcgi.txt for more info
fastcgi.server = (
".php" => (
"localhost" => (
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi",
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 30,
"bin-envitorment" => (
"PHP_FCGI_CHILDREN" => "2",
"PHP_FCGI_REQUEST" => "100"
),
"broken-scriptfilename" => "enable"
)
)
)
Próbáltam úgy beállítani, hogy ne egye meg a vasat alóla. A CGI, ssl és a status modul beállítása.
A CGI modul felelős a shell scriptek lefutásáért. Ezeket a cgi-bin alá kell illeszteni, minden file ami itt van kiterjesztés nélkül és .sh kiterjesztéssel az schell scriptként lesz kezelve, de akár be lehet állítani pythont is ki mivel akar foglalkozni.
Az ssl mondul a 433-as portot figyeli, eszerint indul be az titkosítás. Ehhez előtte telepíteni kell a ssl-t és készíteni kell egy kulcsot is hozzá. Ezt majd a végén leírom.
A status mondul nagyon egyszerű és hasznos lehet. Ha az ip-nk mögé odaírjuk, hogy /status vagy /config aszerint kiirja ezeket az adatokat. Sima egyserű táblázatban.
cgi.assign = ( )
$HTTP["url"] =~ "^/cgi-bin" {
cgi.assign = ( "" => "/bin/sh", ".sh" => "/bin/sh" ) }#### ssl
$SERVER["socket"] == ":443" {
#### SSL engine
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/server.pem"
server.document-root = "/mnt/adatok/www/secured"
}
$HTTP["scheme"] == "https" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/server.pem"
server.document-root = "/mnt/adatok/www/secured"
}
#### status module
status.status-url = "/status"
status.config-url = "/config"Most pedig leírom, hogy lehet a kulcsot elkészíteni, a kész kulcsot a megfelelő helyre kell másolni.
opkg update && opkg install openssl-util //generálunk egy 2048bit-es kulcsot első lépésben openssl genrsa -des3 -out server.key 2048
//a végén 2x meg kell adni neki egy jelszót, amivel használni is tudjuk majd a végén
Generating RSA private key, 2048 bit long modulus................................................. ........++++++ e is 65537 (0x10001) Enter PEM pass phrase:Verifying password - Enter PEM pass phrase:
// hozzuk létre a CSR fájlt
openssl req -new -key server.key -out server.csr
//hozzuk létre a kulcsunkat
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
//hozzuk létre a server.pem fájlt
cat server.key server.crt > server.pem
Ha a fájl nem a megfelelő helyen van akkor mozgassuk oda, majd indítsuk újra a szervert.
mv server.pem /etc/lighttpd/ && /etc/init.d/lighttpd restart
-
- A hozzászóláshoz regisztráció és belépés szükséges

- 1476 olvasás


Fórumozók,
Tudom hogy régi ez a cikk, de hogyan tunám elérni azt az oldalt amit így készítettem? (felmásoltam a /www/webroot alá...)
- A hozzászóláshoz regisztráció és belépés szükséges
Beküldő: hupzona. Beküldés időpontja: h, 2012/02/20 - 23:58.