CentOS 5.5下建立Apache2 与WebDAV

本指南说明如何建立与Apache2 WebDAV在CentOS 5.5服务器。WebDAV代表网络分布式创作及版本,是一套延伸到HTTP协议,允许用户直接编辑文件架阿帕奇服务器上以便它们不需要通过FTP上传下载。当然,WebDAV也可以被用来上传和下载文件。

我不敢保证这个方法对你也试用。

1首项附注

我正在使用一个CentOS 5.5服务器的IP地址 192.168.0.100192.168.0.100here.在这里。

2安装WebDAV 2

如果阿帕奇不是已经安装了,将它安装如下:

yum install httpd

然后打开/etc/httpd/conf/httpd.conf 并确认 dav and dav_fs 在 LoadModule 模块中开启并是其中一部分,(他们应该是默认的)。

vi /etc/httpd/conf/httpd.conf

[...]
LoadModule dav_module modules/mod_dav.so
[...]
LoadModule dav_fs_module modules/mod_dav_fs.so
[...]
然后创建系统启动链接,重新启动阿帕奇,

chkconfig --levels 235 httpd on
/etc/init.d/httpd start

3创建一个虚拟主机,

我将创建一个默认的阿帕奇vhost在该目录下 /var/www/web1/web网页.。为了这个目的,我将增加一个默认的vhost结束的时候 /etc/httpd/conf/httpd.confhttpd.conf. 。如果你已经有了一个vhost为你务必调整WebDAV本教程,你必须对你所处情况进行调整。

首先,我们创建目录 /var/www/web1/web 而使架阿帕奇用户和组为该目录的主人。


mkdir -p /var/www/web1/web
chown apache:apache /var/www/web1/web

然后加入新vhost在结束的时候 /etc/httpd/conf/httpd.conf

vi /etc/httpd/conf/httpd.conf

[...]
NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/web1/web/
        <Directory /var/www/web1/web/>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>
然后重新加载阿帕奇。

/etc/init.d/httpd reload

4 配置WebDAV上的虚拟主机

现在我们创建WebDAV密码文件 /var/www/web1/passwd.dav 进行用户测试,

htpasswd -c /var/www/web1/passwd.dav test

你将被要求键入一个密码为用户 test测试.(请不要使用-c 开关如果/var/www/web1/passwd.dav is 已经存在,可能会造成文件内容丢失和肯能重建。)


现在我们改变/var/www/web1/passwd.dav 文件权限,只容许root和阿帕奇组可以访问。

chown root:apache /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav

现在我们修改一下vhost 在/etc/httpd/conf/httpd.conf 中几行信息。

vi /etc/httpd/conf/httpd.conf

[...]
        Alias /webdav /var/www/web1/web

        <Location /webdav>
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /var/www/web1/passwd.dav
           Require valid-user
       </Location>
[...]当调用指令呼叫/webdav, WebDAV 但是你仍然可以访问文档的vhost根源,所有其他的url的vhost仍然是“正常”的HTTP。

最后vhost应该看起来像这样:


[...]
NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/web1/web/
        <Directory /var/www/web1/web/>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        Alias /webdav /var/www/web1/web

        <Location /webdav>
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /var/www/web1/passwd.dav
           Require valid-user
       </Location>

</VirtualHost>


然后加载阿帕奇

/etc/init.d/httpd reload

5测试WebDAV 5

我们现在  安装cadaver,一个命令行WebDAV客户:

yum install cadaver

为了验证WebDAV类型,

cadaver http://localhost/webdav/

应该提示用户名。密码类型测试。如果一切顺利的话,以为着webdav工作正常。

相关推荐