facebooktwittertwitterRSS csatorna

Weblapkészítést, keresőoptimalizálást vállalok. Bővebben...

Lighttpd beüzemelése openwrt alatt

Speeedfire, 2011-07-24 14:50:03

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

 


(#1) hupzona 5 éve
hupzona
Hsz: 10
(Tag)

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á...)


Szólj hozzá:

A hozzászóláshoz belépés/regisztráció szükséges.