因為要驗證能否在 thttpd 上面跑 webDAV, 所以先在 VM 上試著裝一個 thttpd 玩玩看.
1. 安裝 thttpd
1-1. 下載 source code
由於 thttpd 已經不在 Ubuntu (12.04) 的套件內,
故決定手動下載 open source.
下載連結: (支援 i386)
https://launchpad.net/ubuntu/+source/thttpd/2.25b-11
下載完後, 解壓縮 (tar.gz), 再放到適合的路徑.
1-2 build code
./configure ... ok
make ... 不ok
看了錯誤訊息,
htpasswd.c:52:12: 錯誤: 與 「getline」 類型衝突
/usr/include/stdio.h:675:20: 附註: 「getline」 的上一個宣告在此
那就把 htpasswd.c 的 getline 改名吧 !!
再 make 一次就 ok 了
make install ... 又不ok
這次的錯誤訊息是
chgrp: 無效的群組:‘www’
先檢查 /etc/group, 還真的沒有 www 這個群組.
因為我不知道新增群組還要再加上什麼東西, 所以不往這個方向改.
我的想法是, 先找到哪一行執行 chgrp, 再把 "www" 改成 /etc/group 裡面的其中一項 ... 就決定是 "www-data" 吧 !
執行 grep chgrp ... 查到了, chgrp 是在 /extras/makefile ,
然而紀錄 "www" 的變數 "WEBGROUP" 卻是在上一層的 makefile.
於是, 回到上一層, 把 "WEBGROUP" 從 "www" 改成 "www-data"
重新 make install ... ok !
結論:
1. 下載 i386 的 thttpd source code
2. ./configure
3. 修改 extras/htpasswd.c, 更名 getline.
4. make
5. 修改 Makefile, 把 WEBGROUP = www 改成 WEBGROUP = www-data
6. make install
留言列表