我使用apache 2.2.22和debian stable作为服务器。
我为webdav共享创建了一个虚拟主机。我可以通过Web浏览器访问/ webdav中包含的所有符号链接,而不是来自webdav客户端。如果我在/ webdav中放置文档或适当的文件夹,我可以在客户端看到它们。
以下是我的分享配置:
<VirtualHost *:80>
ServerAdmin webmaster@mydomain.com
ServerName mydomain.com
ServerAlias *.mydoman.com
DirectoryIndex index.html
Options Indexes FollowSymLinks
DocumentRoot /var/www/html/www.mydomain.com/htdocs/
ScriptAlias /cgi-bin/ /var/www/html/www.mydomain.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
ErrorLog /var/www/html/www.mydomain.com/logs/error.log
CustomLog /var/www/html/www.mydomain.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@mydomain.com
ServerName mydomain.com
ServerAlias *.mydomain.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/mykey.crt
SSLCertificateKeyFile /etc/apache2/ssl/mykey.key
DirectoryIndex index.html
Options Indexes FollowSymLinks
DocumentRoot /var/www/html/www.mydomain.com/htdocs/
ScriptAlias /cgi-bin/ /var/www/html/www.mydomain.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
ErrorLog /var/www/html/www.mydomain.com/logs/error.log
CustomLog /var/www/html/www.mydomain.com/logs/access.log combined
Alias /webdav /var/www/html/mydomain/htdocs
<Location /webdav-public>
Options Indexes FollowSymLinks
#AllowOverride None
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /etc/apache2/webdav.password
Require valid-user
</Location>
</VirtualHost>
root和webdav文件夹的权限: 所有者:root,创建/删除;组www-数据,访问;其他,没有
符号链接指向的公用文件夹的权限: 所有者:myusername,create / delete;组:www-data,access;其他,访问
有什么想法吗?显然我正在尝试学习apache的方法,所以上面可能有一些错误,我欢迎任何非主题批评。
答案 0 :(得分:4)
所以,事实证明:
<Location /webdav-public>
上述位置可以是符号链接。但是,无论出于何种原因,都不支持共享位置内的符号链接(至少对于debian stable repo中的apache 2.2.22)。它们确实在我通过firefox或chrome访问时显示,但不是来自webdav客户端或在Windows资源管理器中映射时(在家庭网络上,未在其他地方测试)。
我不得不重新安排我的文件以适应webdav,这很糟糕。