过于折腾,在有了一台群晖后我个人已弃用此方法。
安装相关软件
1 | opkg update |
配置Lighttpd端口号
为什么要这么做?
因为Lighttpd的默认端口号为80,与LuCI的默认端口号冲突。后续启用Lighttpd会导致LuCI无法正常访问(即便WebDAV可以使用)。
修改Lighttpd的配置文件:/etc/lighttpd/lighttpd.conf
;
在其中添加/修改下行:
1 | server.port = <PORT> |
此处的
<PORT>
为你想要设置的端口号。
配置Lighttpd
此处假设你要共享的目录为:
/mnt/disk
注意:下方的配置为映射整个磁盘分区的方法,这个做法在我自己的软路由上成功实现了,但是亦有说法称不能对磁盘根目录进行映射,并且我在其他软路由上也未能成功配置。
若有需要,建议“配置Lighttpd”这一步跟随官方教程。区别在于官方教程映射的是某个具体的目录,而非整块分区。
此外还需要注意:如果映射的URL有大写字母,在部分操作系统(如Windows)提供的原生映射支持(如资源管理器)可能会出现“0x80070043 无法找到网络名”的错误。
手动创建所需目录
1 | mkdir -p /etc/lighttpd/conf.d /var/lib/lighttpd |
为 http:www-data 分配目录访问权限
1 | chown http:www-data /mnt/disk /var/lib/lighttpd |
向配置文件写入配置(注意,配置中的内容要根据具体情况修改,详见下方说明)
1 | cat << "EOF" > /etc/lighttpd/conf.d/99-disk.conf |
这里最后一个命令可能需要改动的地方有:
- 第三行的
/mnt
,需要改为你要共享的根目录,这里是一般磁盘挂载的目录。 - 第二行的一个、第七行的两个
disk
,需要改为你要共享的子目录。
这里的配置含义是,将/mnt/disk
目录通过WebDAV共享,日后可以通过http://<IP>:<PORT>/disk
的形式访问。
设置密码
1 | echo "<youruser>:<somesecret>" > /etc/lighttpd/webdav.shadow |
其中<youruser>
为用户名,<somesecret>
为密码。
注意:这个密码未经编码,并以明文形式保存在路由器上(以确保更好的性能)。如果黑客可以访问该文件,它可以看到您的密码。所以不要在这里放置您在其他任何地方使用的密码。
重启Lighttpd
1 | /etc/init.d/lighttpd restart |
关于Windows映射WebDAV
在某些版本的Windows中,默认只支持映射HTTPS协议的WebDAV(即WebDAVs),并且WebDAV驱动器的最大文件大小被限制为50MB。
这个文件可以解除这个限制,并把大小放大到4GB。