Linux中用lighttpd建立WebDAV服務器

最近都在玩Linux,有點體會。和大家分享下lighttpd在WebDAV的應用。在這裏,我以Fedora Core 4來製作有關lighttpd的WebDAV服務器。
因爲Fedora Extras的lighttpd-1.3.16-2.fc4中沒有包含WebDAV的組件,所以我使用從lighttpd的官方站(http://www.lighttpd.net/)下載的最新版”SRPM(lighttpd-1.4.10-1.src.rpm)”來製作RPM。之所以從SRPM再來製作RPM,是因爲RPM的lighttpd是以SSL爲OFF狀態下編譯完成的。

如果你下載了lighttpd-1.4.10-1.src.rpm,就在命令行下把SSL修改成如下:

# rpmbuild –rebuild –with ssl lighttpd-1.4.10-1.src.rpm

在/usr/src/redhat/RPMS/i386裏將lighttpd-1.4.10-1.i386.rpm編譯好並安裝。由於在yum命令行上安裝Fedora Extras的lighttpd,就必須remove一下。以防保險還必須將/etc/lighttpd/lighttpd.conf做下備份。

# cp /etc/lighttpd/lighttpd.conf /etc/lighttpd.conf.org
# yum remove lighttpd lighttpd-fastcgi
(省略)
Is this ok [y/N]: y ←「y」輸入Y然後回車
# rpm -Uhv lighttpd-1.4.10-1.i386.rpm

接下來設置SSL和Digest。

# mkdir -p /etc/lighttpd/ssl
# cd /etc/lighttpd/ssl
# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
(省略)
—–
Country Name (2 letter code) [GB]:CN (國別)
State or Province Name (full name) [Berkshire]:FuJian (省份)
Locality Name (eg, city) [Newbury]:XXXX (市區名)
Organization Name (eg, company) [My Company Ltd]:Example Corp. (公司名)
Organizational Unit Name (eg, section) []:Example Dept. 
Common Name (eg, your name or your server's hostname) []:Plvo
Marfoxs (管理者或者服務器名)
Email Address []:[email protected] (Email等)

接着,由htdigest命令建立用戶並設置密碼。

# cd /etc/lighttpd
# htdigest -c lighttpd.user.htdigest “WebDAV” secret
Adding password for secret in realm WebDAV.
New password:qq354153 ←輸入密碼 在這裏,我輸入qq354153
Re-type new password:qq354153 ←再輸入密碼

接下來製作WebDAV用的目錄文件夾,在這裏用yum編譯下的/srv/www/lighttpd文件夾下再建立一個dav文件夾。設置可寫屬性。

# mkdir -p /srv/www/lighttpd/dav
# chmod 777 /srv/www/lighttpd/dav

最後編輯/etc/lighttpd/lighttpd.conf 如果該文件不存在的話,可以從剛纔備份的/etc/lighttpd/lighttpd.conf複製上去,或者複製
/usr/share/doc/lighttpd-1.4.10/lighttpd.conf 也行。

server.modules = (
(省略)
“mod_fastcgi”,
(省略)
“mod_cgi”,
(省略)
“mod_webdav”,
“mod_accesslog” )

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

## where to send error-messages to
server.errorlog = “/var/log/lighttpd/error_log”

#### SSL engine ←設定SSL
ssl.engine = “enable”
ssl.pemfile = “/etc/lighttpd/ssl/server.pem”

#### auth module ←設定Digest
## read authentication.txt for more info
auth.backend = “htdigest”
auth.backend.htdigest.userfile = “/etc/lighttpd/lighttpd.user.
htdigest”
auth.require = ( “/dav/” =>
(
“method” => “digest”,
“realm” => “WebDAV”,
“require” => “valid-user”
)
)

$HTTP["url"] =~ “^/dav($|/)” { ←設定WebDAV
webdav.activate = “enable”
# webdav.is-readonly = “enable”
}

設定完之後,啓動lighttpd,並確認一下。lighttpd啓動之後,會要求輸入密碼,這時候就輸入剛纔輸入的密碼(qq354153)回車。

# service lighttpd start
lighttpd 啓動中: Enter PEM pass phrase: 輸入密碼!

文章作者:Marfoxs
來自:https://www.eviloctal.com/thread-24860-1-1.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章