我的第一章:WebDAV的简单配置

127 阅读2分钟

1、更新系统

//安装EPEL存储库
sudo yum install epel-release
//更新软件包
sudo yum update -y
//重启系统
sudo shutdown -r now

2、安装 Apache

使用 YUM 安装 Apache:

sudo yum install httpd

禁用 Apache 的默认欢迎页面:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

阻止 Apache Web 服务器显示 Web 目录中的文件:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

启动 Apache Web 服务器:

sudo systemctl start httpd.service
​
sudo systemctl enable httpd.service

3、设置WebDAV

对于 Apache,有三个与 WebDAV 相关的模块,在 Apache Web 服务器启动时将默认加载这些模块。您可以使用以下命令确认:

sudo httpd -M | grep dav

您应该看到:

dav_module (shared)
​
dav_fs_module (shared)
​
dav_lock_module (shared)

接下来,为 WebDAV 创建专用目录:

sudo mkdir /var/www/html/webdav(替换为你的目录)
​
sudo chown -R apache:apache /var/www/html
​
sudo chmod -R 755 /var/www/html

为了安全起见,您需要创建一个用户帐户,假设它是“user001”,以访问WebDAV服务器,然后输入您想要的密码。稍后,您将使用此用户帐户登录 WebDAV 服务器。

sudo htpasswd -c /etc/httpd/.htpasswd user001

修改所有者和权限以增强安全性:

sudo chown root:apache /etc/httpd/.htpasswd
​
sudo chmod 640 /etc/httpd/.htpasswd

4、为WebDAV创建虚拟主机

sudo vi /etc/httpd/conf.d/webdav.conf

使用以下内容填充文件(相关配置修改为自己的):

*VirtualHost :80中的80端口和/etc/httpd/conf/httpd.conf文件中的Listen接口同步修改

DavLockDB /var/www/html/DavLock
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/webdav/
    ErrorLog /var/log/httpd/error.log
    CustomLog /var/log/httpd/access.log combined
    Alias /webdav /var/www/html/webdav
    <Directory /var/www/html/webdav>
        DAV On
        AuthType Basic
        AuthName "webdav"
        AuthUserFile /etc/httpd/.htpasswd
        Require valid-user
    </Directory>
</VirtualHost>

保存并退出:

:wq!

重新启动 Apache 以使更改生效:

sudo systemctl restart httpd.service

5、修改防火墙规则

//向firewalld防火墙配置中添加HTTP服务
sudo firewall-cmd --zone=public --permanent --add-service=http
//重新加载防火墙配置
sudo firewall-cmd --reload

6、从本地计算机测试 WebDAV 服务器的功能

为了利用 WebDAV,您需要使用合格的客户端。例如,您可以在 CentOS 7 桌面上安装名为 cadaver 的程序:

sudo yum install cadaver

安装 cadaver 后,使用以下命令访问 WebDAV 服务器:

cadaver http://<your-server-ip>/webdav/

使用用户名“user001”和您之前设置的密码登录。

在 cadaver shell 中,您可以根据需要上传和组织文件。这里有些例子。

要将本地文件“/home/user/abc.txt”上传到 WebDAV 服务器:

dav:/webdav/> put /home/user/abc.txt

要在 WebDAV 服务器上创建目录“dir1”:

dav:/webdav/> mkdir dir1

退出WebDav:

dav:/webdav/> exit

如果你想了解更多有关 cadaver 的知识,可以在 Bash shell 中查找 cadaver 手册:

man cadaver

或者

cadaver -h