Project

General

Profile

Lighttpd with HttpBasicAuthentication

Added by politech almost 14 years ago

Hi, i want to do the basic authentication to my server so my config:

# lighttpd configuration file
# 
## modules to load
# all other module should only be loaded if really neccesary
# - saves some time
# - saves memory
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" 
)

# force use of the "write" backend (closes: #2401)
server.network-backend = "write" 

## a static document-root, for virtual-hosting take look at the 
## server.virtual-* options
server.document-root = "/www/" 

## where to send error-messages to

#server.errorlog = "/var/log/lighttpd/error.log" 

## files to check for if .../ is requested
index-file.names = ( "index.html", "default.html", "index.htm", "default.htm","index.php" )

## mimetype mapping
mimetype.assign = (  
    ".pdf"   => "application/pdf",
    ".class" => "application/octet-stream",
    ".pac"   => "application/x-ns-proxy-autoconfig",
    ".swf"   => "application/x-shockwave-flash",
    ".wav"   => "audio/x-wav",
    ".gif"   => "image/gif",
    ".jpg"   => "image/jpeg",
    ".jpeg"  => "image/jpeg",
    ".png"   => "image/png",
    ".css"   => "text/css",
    ".html"  => "text/html",
    ".htm"   => "text/html",
    ".js"    => "text/javascript",
    ".txt"   => "text/plain",
    ".dtd"   => "text/xml",
    ".xml"   => "text/xml" 
 )

## Use the "Content-Type" extended attribute to obtain mime type if possible
#mimetypes.use-xattr = "enable" 

## send a different Server: header
## be nice and keep it at lighttpd
#server.tag = "lighttpd" 

$HTTP["url"] =~ "\.pdf$" {
    server.range-requests = "disable" 
}

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

######### Options that are good to be but not neccesary to be changed #######

## bind to port (default: 80)
#server.port = 81

## bind to localhost (default: all interfaces)
#server.bind = "localhost" 

## error-handler for status 404
#server.error-handler-404 = "/error-handler.html" 
#server.error-handler-404 = "/error-handler.php" 

## to help the rc.scripts
server.pid-file = "/var/run/lighttpd.pid" 

###### virtual hosts
##
##   If you want name-based virtual hosting add the next three settings and load
##   mod_simple_vhost
##
## document-root =
##   virtual-server-root + virtual-server-default-host + virtual-server-docroot or
##   virtual-server-root + http-host + virtual-server-docroot
##
#simple-vhost.server-root = "/home/weigon/wwwroot/servers/" 
#simple-vhost.default-host = "grisu.home.kneschke.de" 
#simple-vhost.document-root = "/pages/" 

## 
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix = "/www/error-" 

## virtual directory listings
#server.dir-listing = "enable" 

## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers = "enable" 

### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot = "/" 

## change uid to <uid> (default: don't care)
#server.username = "nobody" 
#
server.upload-dirs = ( "/tmp" )

## change uid to <uid> (default: don't care)
#server.groupname = "nobody" 

#### compress module
#compress.cache-dir          = "/dev/null/" 
#compress.filetype           = ("text/plain", "text/html")

#### proxy module
## read proxy.txt for more info
#proxy.server = (
#    ".php" => (
#        "localhost" => (
#            "host" => "192.168.0.101",
#            "port" => 80
#        )
#    )
#)

#### fastcgi module
## read fastcgi.txt for more info
#fastcgi.server = (
#    ".php" => (
#        "localhost" => (
#            "socket" => "/tmp/php-fastcgi.socket",
#            "bin-path" => "/usr/local/bin/php" 
#        )
#    )
#)

#### CGI module
cgi.assign = (".php" => "/usr/bin/php-cgi", ".pl"  => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" )

#### SSL engine
#ssl.engine = "enable" 
#ssl.pemfile = "server.pem" 

#### status module
#status.status-url = "/server-status" 
#status.config-url = "/server-config" 

#### auth module
## read authentification.txt for more info
#auth.backend = "plain" 
#auth.backend.plain.userfile = "lighttpd.user" 
#auth.backend.plain.groupfile = "lighttpd.group" 
#auth.require = (
#    "/server-status" => ( 
#        "method"  => "digest",
#        "realm"   => "download archiv",
#        "require" => "group=www|user=jan|host=192.168.2.10" 
#    ),
#    "/server-info" => ( 
#        "method"  => "digest",
#        "realm"   => "download archiv",
#        "require" => "group=www|user=jan|host=192.168.2.10" 
#    )
#)

#### url handling modules (rewrite, redirect, access)
#url.rewrite = ( "^/$" => "/server-status" )
#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )

#### both rewrite/redirect support back reference to regex conditional using %n
#$HTTP["host"] =~ "^www\.(.*)" {
#    url.redirect = ( "^/(.*)" => "http://%1/$1" )
#}

#### expire module
#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")

#### ssi
#ssi.extension = ( ".shtml" )

#### setenv
#setenv.add-request-header  = ( "TRAV_ENV" => "mysql://user@host/db" )
#setenv.add-response-header = ( "X-Secret-Message" => "42" )

#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar" 
#bar = 1
#var.mystring = "foo" 

## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com" 
#server.name = "www." + mystring + var.bar + ".com" 
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")

#### include
#include /etc/lighttpd/lighttpd-inc.conf
## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf" 
#include "lighttpd-inc.conf" 

#### include_shell
#include_shell "echo var.a=1" 
## the above is same as:
#var.a=1
$HTTP["host"]== "domain.in"{
server.document-root = "www" 
server.errorlog = "/www/error.log" 
accesslog.filename = "/www/access.log" 

auth.backend = "plain" 
auth.backend.htdigest.userfile= "/www/.passwd" 
auth.debug = 2
auth.require = ( "/www/" =>
(
"method" => "basic",
"realm" => "Authorized users only:",
"require" => "user=admin" 
)
)
}

and i got :

root@MMnet:/# /etc/init.d/lighttpd start
1970-01-01 01:12:06: (network.c.300) can't bind to port:  80 Address already in use

also i don't know how to set domain(what it is?)


Replies (3)

RE: Lighttpd with HttpBasicAuthentication - Added by fastcgi almost 14 years ago

that's because you have used 80 port.

kill all your web server and restart
or
set your port to another value, such as 8080 or the like.

RE: Lighttpd with HttpBasicAuthentication - Added by politech almost 14 years ago

ok i've changed it to 81 port but now basic auth doesn't work

does that mode works with lighttpd-1.4.19 version?

RE: Lighttpd with HttpBasicAuthentication - Added by stbuehler almost 14 years ago

perhaps start with fixing your systime :D
and sry, 1.4.19 is too old. i have no idea what bugs that version had.

    (1-3/3)