2

我无法理解如何在 WebDAV 设置上编辑文件。我已经正确设置了身份验证,已通过大量在线教程进行验证,但有些文件.htaccess我无法编辑。

VirtualHost 设置的内容是

<VirtualHost *:80>

        ServerAdmin xxx
        ServerName xxx

        DocumentRoot /data/www/vhosts/xxx
        <Directory /data/www/vhosts/xxx>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        <Location />
                DAV On
                AuthType Basic
                AuthName "WebDAV Access"
                AuthUserFile /data/www/.htpasswd-webdav
                Require valid-user
        </Location>

</VirtualHost>

我也在文件中生成了正确的用户名,我可以成功登录并查看所有文件。就像我说的,问题在于某些文件不可读和不可写,主要的罪魁祸首是.htaccess.gitignore.

664我已将所有文件和所有文件夹775的权限设置user:groupxxx:www-data. 原因是这允许 PHP 可以读取/写入文件,而我们的远程登录用户xxx也可以在没有权限问题的情况下执行相同的操作。

我需要做些什么来允许对这些隐藏的点文件进行读写吗?我完全被难住了,因为我读过的大多数教程都告诉我,如果我不将点文件的权限设置为,root:root那么它们将是可写的。我正在使用 Mac 连接到在 Ubuntu 上运行的 WebDAV 服务,如果这有什么不同的话

为了清楚起见,xxx这个问题中的所有内容都是隐藏信息。

4

2 回答 2

3

所以看来我可以允许使用下面的访问特定文件

<Files .htaccess>
 order allow,deny
 deny from all
</Files>

我忘记.htaccess了默认情况下通过 HTTP 阻止文件。

编辑:

使用 Digest 安全身份验证使所有文件在 webdav 环境中可写的最终工作设置是:

<VirtualHost *:80>

        ServerAdmin xxx
        ServerName www.domain.name

        DocumentRoot xxx
        <Directory xxx>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        <FilesMatch "\.(htaccess|php)$">
        Order allow,deny
        allow from all
        ForceType text/plain
    </FilesMatch>

        <Location />
                DAV On

                AuthType Digest
                AuthName "Webdav Access"
        AuthDigestDomain / http://www.domain.name/

        AuthDigestProvider file
                AuthUserFile /data/www/digest.users
                Require valid-user

        php_value engine off
        </Location>

</VirtualHost>

我希望这对其他人有帮助。在网上找到所有这些信息需要几天的时间。

于 2012-06-28T14:31:31.207 回答
0

还要检查 /data/www/ 本身的权限。它应该对 apache 用户是可写的。

于 2013-04-24T09:03:52.113 回答