OpenWRT

aus PUG, der Penguin User Group
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (hat Benutzer:Laurence:ASUS WL-HDD nach OpenWRT verschoben)
K (Images entfernt)
(28 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
__NOTOC__
+
=Einleitung=
==Einleitung==
 
   
OpenWRT ist eine GNU/Linux-Distribution für WLAN-Router. Anstatt einer statischen Firmware setzt OpenWRT auf ein voll beschreibbares Dateisystem sowie einen Paketmanager. OpenWRT läuft unter anderem auf Geräten der Firmen Linksys, ALLNET, ASUS, Belkin, Buffalo, Microsoft und Siemens.
+
{{Überarbeiten}}
   
[[Image:Asus-wlhdd.jpg|right|thumbnail|ASUS WL-HDD...]]
+
OpenWrt ist eine GNU/Linux-Distribution für [http://wiki.openwrt.org/toh/start embedded Geräte] und bietet ein voll beschreibbares Dateisystem sowie einen Paketmanager.
[[Image:Asus-wlhdd-groesse.jpg|right|thumbnail|... so groß darf ein Server sein!]]
 
   
Leider ist der Speicher auf diesen Routern oftmals sehr begrenzt. Verfügt ein Router jedoch über einen USB- oder IDE-Controller, so bietet sich die Möglichkeit die OpenWRT-Distribution auf entsprechende Medien auszudehnen und den Router zu einem kleinen Server auszubauen.
+
* [http://wiki.openwrt.org/de/doc/howto/user.beginner Leitfaden für Anfänger]
   
OpenWRT gibt es bei http://openwrt.org inklusive einem recht ausführlichem [http://wiki.openwrt.org/ Wiki] mit Installationsanleitungen und einer Liste der [http://wiki.openwrt.org/TableOfHardware unterstützten Geräte].
+
Die Vorteile von kleinen embedded Geräten gegenüber PCs sind der geringere Stromverbrauch, der geringere Preis und der minimale Platzbedarf. ALs Nachteile sind die knappen Hardware-Ressourcen zu nennen.
   
Die Vorteile gegenüber einem "normalen" Server liegen auf der Hand: Geringerer Stromverbrauch und minimaler Platzbedarf. Die Nachteile jedoch auch: So ist der Broadcom 4710 Chipsatz in meiner ASUS WL-HDD mit 125MHz recht langsam. Man sollte es sich also zwei mal überlegen, ob man CPU-lastige Dienste auf dem Router laufen lässt. Als Fileserver für ein kleines Heim-Netzwerk sollte dies jedoch voll und ganz ausreichen.
+
Eine Liste der Dienste, die z.B. auf einem Router laufen könnten:
+
* [[#SSH|SSH]]
Auf meinem OpenWRT-Router laufen momentan folgende Dienste:
 
* SSH
 
 
* FTP
 
* FTP
 
* NFS
 
* NFS
* Samba
+
* [[#Samba|Samba]]
 
* WLAN mit WPA
 
* WLAN mit WPA
 
* DNS
 
* DNS
 
* DHCP
 
* DHCP
* NTP
+
* [[#NTP-Client|NTP-Client]]
 
* sowie ein abgespeckter HTTP-Server
 
* sowie ein abgespeckter HTTP-Server
   
   
==Pakete==
+
= Installation =
Da es bislang nur wenig Software für OpenWRT gibt, habe ich einige Pakete und Scripte selbst gebaut/portiert. '''''Diese sind NOCH NICHT AUSREICHEND GETESTET und werden hier OHNE JEGLICHE GEWÄHRLEISTUNG angeboten.'''''
+
[http://wiki.openwrt.org/de/doc/howto/generic.flashing Installation von OpenWrt]
  +
  +
= Grundkonfiguration =
  +
[http://wiki.openwrt.org/de/doc/howto/basic.config Grundkonfiguration von OpenWrt]
  +
  +
= Erweiterte Einstellungen =
  +
  +
== Massenspeicher einbinden ==
  +
Da der Speicher auf den Routern sehr begrenzt ist, lohnt es sich auf Routern die über USB- oder IDE-Controller verfügen, diesen einzubinden und Applikationen darauf zu installieren.
  +
  +
=== USB ===
  +
[http://wiki.openwrt.org/doc/howto/usb.storage USB Massenspeicher einbinden]
  +
  +
=== IDE ===
  +
Kernel-Module installieren
  +
ipkg install kmod-ide
  +
ipkg install kmod-ext3
  +
  +
Damit die Module bei einem Neustart geladen werden, müssen sie in <tt>/etc/modules</tt> aufgenommen werden:
  +
ide-core
  +
pdc202xx_old
  +
ide-detect
  +
ide-disk
  +
jbd
  +
ext3
  +
  +
Nun die Module laden
  +
insmod ide-core
  +
insmod pdc202xx_old
  +
insmod ide-detect
  +
insmod ide-disk
  +
insmod jbd
  +
insmod ext3
  +
  +
In der Datei <tt>/proc/partitions</tt> sollte nun ein Eintrag für die Festplatte und je einer pro Partition erscheinen.
  +
  +
===Partitionen anlegen===
  +
Falls auf der Festplatte noch keine Partitionen vorhanden sind benötigt man die Pakete <tt>fdisk</tt> und <tt>e2fsprogs</tt> um diese anzulegen:
  +
ipkg install fdisk
  +
ipkg install e2fsprogs
  +
ipkg install swap-utils
  +
  +
Partition anlegen (<tt><device></tt> entspricht dem Eintrag in Zeile 1 von <tt>/proc/partitions</tt>)
  +
fdisk <device>
  +
  +
====ext3====
  +
Symbolischen Link für mk2efs anlegen
  +
ln -s /proc/mounts /etc/mtab
  +
  +
Dateisystem erzeugen
  +
mke2fs -j <partition>
  +
  +
Dateisystem einbinden
  +
mount -t ext3 <partition> <mount-point>
  +
  +
====swap====
  +
Das Paket <tt>swap-utils</tt>, zum Anlegen und einbinden von swap-Partitionen gibt es im Repository <tt>backports/rc5</tt>. Um dieses nutzen zu können muss <tt>/etc/ipkg.conf</tt> um folgende Zeile erweitert werden:
  +
src kamikaze-backports http://downloads.openwrt.org/backports/rc5/
  +
  +
Partition erzeugen
  +
mkswap <partition>
  +
  +
Partition einbinden
  +
swapon <partition>
  +
  +
====Automounter====
  +
Die neuen Partitionen müssen nun in die Datei <tt>/etc/fstab</tt> eingetragen werden (Beispiel)
  +
/dev/ide/host0/bus0/target0/lun0/part5 /mnt/part5 ext3 defaults 0 0
  +
/dev/ide/host0/bus0/target0/lun0/part6 /mnt/part6 ext3 defaults 0 0
  +
/dev/ide/host0/bus0/target0/lun0/part7 /mnt/part7 ext3 defaults 0 0
  +
/dev/ide/host0/bus0/target0/lun0/part1 none swap
  +
  +
und dann benötigt man ein Script <tt>/etc/init.d/mount</tt> und einen entsprechenden Aufruf (cd /etc/rc.d; ln -s /etc/init.d/mount S20mount), damit die Dateisysteme bei einem Neustart automatisch eingebunden werden:
  +
#!/bin/sh
  +
  +
if [ -f /etc/fstab ]; then
  +
## switch on swap spaces
  +
swapspaces=`grep swap /etc/fstab | awk ' { print $1 } ' `
  +
for i in $swapspaces; do
  +
echo -n "adding swap space $i... "
  +
swapon $i
  +
echo " done."
  +
done
  +
  +
## just mount everything else
  +
echo -n "mounting all filesystems... "
  +
mount -a
  +
echo " done."
  +
else
  +
echo "fstab not found!"
  +
fi
  +
  +
Hardwarespezifische Anmerkung: Bei meiner nslu2 entsteht eine race condition, es wird versucht, auf usb zuzugreifen, bevor verfügbar. Ein "sleep 5" vor diesem script schafft dann Abhilfe, 5 Sekunden sollten ausreichen. Ich habe die mounts auch stattdessen im custom-user-startup (S90) eingetragen, dies sollte allerdings egal sein, da der Prozess, der die Usb Hardware zur Verfügung stellt scheinbar parallel zu dieser Sequenz abgearbeitet wird. (axm)
  +
  +
=== opkg einrichten ===
  +
[http://wiki.openwrt.org/doc/techref/opkg opkg] Der neue Speicherplatz muss nun in <tt>/etc/ipkg.conf</tt> eingerichtet werden
  +
dest <name> <mount-point>
  +
  +
Damit die entsprechenden Dateien auch gefunden werden können, müssen die Variablen <tt>PATH</tt> und <tt>LD_LIBRARY_PATH</tt> in der Datei <tt>/etc/profile</tt> entsprechend erweitert werden und ein symbolischer Link für das Verzeichnis <tt>/etc</tt> auf dem neuen Speicherplatz eingerichtet werden:
  +
ln -s /etc <mount-point>/etc
  +
  +
Nun kann man Pakete dorthin installieren:
  +
ipkg -d <name> install <paket>
  +
  +
  +
== Mehrere Benutzer ==
  +
Wegen der knappen Ressourcen ist standardmäßig nur ein Benutzer eingerichtet, der User <tt>root</tt>. Die Multi-User-Fähigkeit lässt sich jedoch ganz leicht wieder einrichten:
  +
* Die [http://wiki.openwrt.org/doc/howto/build Firmware selber kompilieren] und bei BusyBox <tt>su</tt> und <tt>adduser</tt> zusätzlich auswählen
  +
* <tt>loginutils</tt> installieren
  +
* Zusätzliche User per Hand in <tt>/etc/passwd</tt> eintragen, Passwort mit <tt>passwd</tt> setzen und <tt>sudo</tt> benutzen
  +
  +
== Pakete ==
  +
  +
Eine Suchmaschine für offizielle Pakete, backports und Pakete aus third party ipkg repositories gibt es unter http://www.ipkg.be/
  +
  +
==NTP-Client==
  +
Als erstes empfielt es sich einen NTP-Client zu installieren, um die Zeit auf dem Router aktuell zu halten:
  +
ipkg install ntpclient
  +
  +
Zeitzone für Mitteleuropa (inkl. Sommerzeit/Winterzeit) in <tt>/etc/TZ</tt> eintragen:
  +
CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00
   
'''''These packages have NOT BEEN FULLY TESTED yet are provided WITHOUT WARRANTY OF ANY KIND!'''''
+
Cronjob erstellen für die Aktualisierung:
  +
ntpclient -c 1 -s -h de.pool.ntp.org
   
[http://www.pug.org/~laurence/OpenWRT/experimental/apr_1.2.7-0.1_mipsel.ipk apr_1.2.7-0.1_mipsel.ipk] (libapr)
+
==Samba==
  +
Samba installieren, Freigaben und Benutzer einrichten:
  +
ipkg install samba
  +
vi /etc/samba/smb.conf
  +
smbpasswd -a <username>
  +
IP-Adresse und Hostname des Routers in <tt>/etc/hosts</tt> eintragen und Samba starten:
  +
/etc/init.d/samba start
  +
Wenn es funktioniert, Start-Script umbenennen, damit Samba beim Systemstart gestartet wird:
  +
mv /etc/init.d/samba /etc/init.d/S70samba
   
[http://www.pug.org/~laurence/OpenWRT/experimental/apr-util_1.2.7-0.1_mipsel.ipk apr-util_1.2.7-0.1_mipsel.ipk] (libaprutil)
+
==HTTP-Server==
  +
=== httpd ===
  +
Um einfache HTML-Seiten darzustellen, genügt es den mitgelieferten <tt>httpd</tt> auf einem beliebigen Port mit beliebigem Root-Verzeichnis zu starten:
  +
httpd -p <port> -h <verzeichnis> -r OpenWrt
  +
Sogar eine minimale Authentifizierung lässt sich in <tt>/etc/httpd.conf</tt> einstellen.
   
[http://www.pug.org/~laurence/OpenWRT/experimental/diffutils_2.8.1-0.1_mipsel.ipk diffutils_2.8.1-0.1_mipsel.ipk] (diff, diff3, sdiff, cmp)
+
===lighttpd===
  +
Etwas komfortabler und umfangreicher ist da das Paket '''<tt>lighttpd</tt>''':
   
[http://www.pug.org/~laurence/OpenWRT/experimental/patch_2.5.4-0.1_mipsel.ipk patch_2.5.4-0.1_mipsel.ipk] (patch)
+
====SSL====
  +
Der <tt>lighttpd</tt> verfügt auch über SSL Support. Dazu muss man ein SSL-Zertifikat erstellen:
  +
ipkg install openssl-util
  +
cd /etc/ssl/certs/
  +
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
   
[http://www.pug.org/~laurence/OpenWRT/experimental/subversion_1.4.0-0.1_mipsel.ipk subversion_1.4.0-0.1_mipsel.ipk] (subversion)
+
SSL in <tt>/etc/lighttpd.conf</tt> einschalten:
  +
ssl.engine = "enable"
  +
ssl.pemfile = "/etc/ssl/certs/server.pem"
  +
server.port = 443
   
[http://www.pug.org/~laurence/OpenWRT/experimental/sudo_1.6.8p12-0.1_mipsel.ipk sudo_1.6.8p12-0.1_mipsel.ipk] (sudo)
+
und den <tt>lighttpd</tt> neu starten
  +
/etc/init.d/S70lighttpd stop
  +
/etc/init.d/S70lighttpd start
   
[http://www.pug.org/~laurence/OpenWRT/wlanbutton.sh wlanbutton.sh] (ASUS WL-HDD Reset-Button zum Ein- und Ausschalten des WLAN benutzen)
+
====Authentifizierung mit htpasswd====
  +
Modul installieren:
  +
ipkg install lighttpd-mod-auth
   
  +
<tt>passwd</tt>-Datei anlegen (kann auch auf einem PC erfolgen):
  +
htpasswd -c lighttpd.user <benutzer>
  +
cp lighttpd.user /etc
   
==Links==
+
<tt>/etc/lighttpd.conf</tt> anpassen:
  +
server.modules = (
  +
"mod_auth"
  +
)
  +
auth.backend = "htpasswd"
  +
auth.backend.htpasswd.userfile = "/etc/lighttpd.user"
  +
auth.require = ( "<verzeichnis>" =>
  +
(
  +
"method" => "basic",
  +
"realm" => "<beliebiger name>",
  +
"require" => "valid-user"
  +
)
  +
)
   
* [http://openwrt.org/ OpenWRT-Website]
+
und den <tt>lighttpd</tt> neu starten
* [http://wiki.openwrt.org/TableOfHardware Liste der unterstützten Hardware]
+
/etc/init.d/S70lighttpd stop
* [http://wiki.openwrt.org/OpenWRTPackages Pakete für OpenWRT]
+
/etc/init.d/S70lighttpd start
* [http://www.ipkg.be Tracker für inoffizielle OpenWRT-Pakete]
 
* [http://www.freewrt.org/trac/ FreeWRT-Website]
 
* [http://wiki.tuxbox.org/NAS:ASUS_WL-HDD WL-HDD-Wiki]
 
* [http://www.asus.de/products.aspx?l1=12&l2=44&l3=0&model=460&modelmenu=1 ASUS WL-HDD]
 
   
   
==NO WARRANTY==
 
   
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+
=Links=
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+
* [http://openwrt.org/ OpenWrt-Website]
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+
* [http://wiki.openwrt.org/toh/start Liste der unterstützten Hardware]
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+
* [http://wiki.openwrt.org/de/doc/howto/user.beginner OpenWrt - Erste Schritte]
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+
* [http://i18n.luci.subsignal.org/de/ LuCI: deutsche Übersetzung]
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
* [http://www.ipkg.be Tracker für inoffizielle Pakete]
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
   
 
[[Category:Linux]]
 
[[Category:Linux]]

Version vom 8. Februar 2012, 09:59 Uhr

Inhaltsverzeichnis

Einleitung

Achtung: Diese Seite entspricht nicht dem aktuellen Stand der Dinge und sollte bei Gelegenheit überarbeitet werden!

Näheres auf der Diskussionsseite.


OpenWrt ist eine GNU/Linux-Distribution für embedded Geräte und bietet ein voll beschreibbares Dateisystem sowie einen Paketmanager.

Die Vorteile von kleinen embedded Geräten gegenüber PCs sind der geringere Stromverbrauch, der geringere Preis und der minimale Platzbedarf. ALs Nachteile sind die knappen Hardware-Ressourcen zu nennen.

Eine Liste der Dienste, die z.B. auf einem Router laufen könnten:


Installation

Installation von OpenWrt

Grundkonfiguration

Grundkonfiguration von OpenWrt

Erweiterte Einstellungen

Massenspeicher einbinden

Da der Speicher auf den Routern sehr begrenzt ist, lohnt es sich auf Routern die über USB- oder IDE-Controller verfügen, diesen einzubinden und Applikationen darauf zu installieren.

USB

USB Massenspeicher einbinden

IDE

Kernel-Module installieren

ipkg install kmod-ide
ipkg install kmod-ext3

Damit die Module bei einem Neustart geladen werden, müssen sie in /etc/modules aufgenommen werden:

ide-core
pdc202xx_old
ide-detect
ide-disk
jbd
ext3

Nun die Module laden

insmod ide-core
insmod pdc202xx_old
insmod ide-detect
insmod ide-disk
insmod jbd
insmod ext3

In der Datei /proc/partitions sollte nun ein Eintrag für die Festplatte und je einer pro Partition erscheinen.

Partitionen anlegen

Falls auf der Festplatte noch keine Partitionen vorhanden sind benötigt man die Pakete fdisk und e2fsprogs um diese anzulegen:

ipkg install fdisk
ipkg install e2fsprogs
ipkg install swap-utils

Partition anlegen (<device> entspricht dem Eintrag in Zeile 1 von /proc/partitions)

fdisk <device>

ext3

Symbolischen Link für mk2efs anlegen

ln -s /proc/mounts /etc/mtab

Dateisystem erzeugen

mke2fs -j <partition>

Dateisystem einbinden

mount -t ext3 <partition> <mount-point>

swap

Das Paket swap-utils, zum Anlegen und einbinden von swap-Partitionen gibt es im Repository backports/rc5. Um dieses nutzen zu können muss /etc/ipkg.conf um folgende Zeile erweitert werden:

src kamikaze-backports http://downloads.openwrt.org/backports/rc5/

Partition erzeugen

mkswap <partition>

Partition einbinden

swapon <partition>

Automounter

Die neuen Partitionen müssen nun in die Datei /etc/fstab eingetragen werden (Beispiel)

/dev/ide/host0/bus0/target0/lun0/part5  /mnt/part5      ext3    defaults       0 0
/dev/ide/host0/bus0/target0/lun0/part6  /mnt/part6      ext3    defaults       0 0
/dev/ide/host0/bus0/target0/lun0/part7  /mnt/part7      ext3    defaults       0 0
/dev/ide/host0/bus0/target0/lun0/part1  none            swap

und dann benötigt man ein Script /etc/init.d/mount und einen entsprechenden Aufruf (cd /etc/rc.d; ln -s /etc/init.d/mount S20mount), damit die Dateisysteme bei einem Neustart automatisch eingebunden werden:

#!/bin/sh
 
if [ -f /etc/fstab ]; then
       ## switch on swap spaces
       swapspaces=`grep swap /etc/fstab | awk ' { print $1 } ' `
       for i in $swapspaces; do
               echo -n "adding swap space $i... "
               swapon $i
               echo " done."
       done
 
       ## just mount everything else
       echo -n "mounting all filesystems... "
               mount -a
       echo " done."
else
       echo "fstab not found!"
fi

Hardwarespezifische Anmerkung: Bei meiner nslu2 entsteht eine race condition, es wird versucht, auf usb zuzugreifen, bevor verfügbar. Ein "sleep 5" vor diesem script schafft dann Abhilfe, 5 Sekunden sollten ausreichen. Ich habe die mounts auch stattdessen im custom-user-startup (S90) eingetragen, dies sollte allerdings egal sein, da der Prozess, der die Usb Hardware zur Verfügung stellt scheinbar parallel zu dieser Sequenz abgearbeitet wird. (axm)

opkg einrichten

opkg Der neue Speicherplatz muss nun in /etc/ipkg.conf eingerichtet werden

dest <name> <mount-point>

Damit die entsprechenden Dateien auch gefunden werden können, müssen die Variablen PATH und LD_LIBRARY_PATH in der Datei /etc/profile entsprechend erweitert werden und ein symbolischer Link für das Verzeichnis /etc auf dem neuen Speicherplatz eingerichtet werden:

ln -s /etc <mount-point>/etc

Nun kann man Pakete dorthin installieren:

ipkg -d <name> install <paket>


Mehrere Benutzer

Wegen der knappen Ressourcen ist standardmäßig nur ein Benutzer eingerichtet, der User root. Die Multi-User-Fähigkeit lässt sich jedoch ganz leicht wieder einrichten:

  • Die Firmware selber kompilieren und bei BusyBox su und adduser zusätzlich auswählen
  • loginutils installieren
  • Zusätzliche User per Hand in /etc/passwd eintragen, Passwort mit passwd setzen und sudo benutzen

Pakete

Eine Suchmaschine für offizielle Pakete, backports und Pakete aus third party ipkg repositories gibt es unter http://www.ipkg.be/

NTP-Client

Als erstes empfielt es sich einen NTP-Client zu installieren, um die Zeit auf dem Router aktuell zu halten:

ipkg install ntpclient

Zeitzone für Mitteleuropa (inkl. Sommerzeit/Winterzeit) in /etc/TZ eintragen:

CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00

Cronjob erstellen für die Aktualisierung:

ntpclient -c 1 -s -h de.pool.ntp.org

Samba

Samba installieren, Freigaben und Benutzer einrichten:

ipkg install samba
vi /etc/samba/smb.conf
smbpasswd -a <username>

IP-Adresse und Hostname des Routers in /etc/hosts eintragen und Samba starten:

/etc/init.d/samba start

Wenn es funktioniert, Start-Script umbenennen, damit Samba beim Systemstart gestartet wird:

mv /etc/init.d/samba /etc/init.d/S70samba

HTTP-Server

httpd

Um einfache HTML-Seiten darzustellen, genügt es den mitgelieferten httpd auf einem beliebigen Port mit beliebigem Root-Verzeichnis zu starten:

httpd -p <port> -h <verzeichnis> -r OpenWrt

Sogar eine minimale Authentifizierung lässt sich in /etc/httpd.conf einstellen.

lighttpd

Etwas komfortabler und umfangreicher ist da das Paket lighttpd:

SSL

Der lighttpd verfügt auch über SSL Support. Dazu muss man ein SSL-Zertifikat erstellen:

ipkg install openssl-util
cd /etc/ssl/certs/
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes

SSL in /etc/lighttpd.conf einschalten:

ssl.engine   = "enable"
ssl.pemfile  = "/etc/ssl/certs/server.pem"
server.port  = 443

und den lighttpd neu starten

/etc/init.d/S70lighttpd stop
/etc/init.d/S70lighttpd start

Authentifizierung mit htpasswd

Modul installieren:

ipkg install lighttpd-mod-auth

passwd-Datei anlegen (kann auch auf einem PC erfolgen):

htpasswd -c lighttpd.user <benutzer>
cp lighttpd.user /etc

/etc/lighttpd.conf anpassen:

server.modules = (
                  "mod_auth"
	          )
auth.backend                   = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd.user"
auth.require                   = ( "<verzeichnis>" =>
                                  (
                                  "method"  => "basic",
                                  "realm"   => "<beliebiger name>",
                                  "require" => "valid-user"
                                  )
                                 )

und den lighttpd neu starten

/etc/init.d/S70lighttpd stop
/etc/init.d/S70lighttpd start


Links