SDB:使用 WebDAV

跳转到:导航搜索

WebDAV

我想从我的主机和笔记本电脑访问我的日历和通讯录。我现在正在参加考试,所以这是做其他事情的最佳时机。我已经设置了一个 WebDAV 来存储我的通讯录和日历,这样我就可以从任何地方使用 KOrganizer、Mozilla Sunbird 或 KAdressbook 访问它。

首先,我们需要为 WebDAV 数据库创建目录(lock, user)。

 mkdir -p /var/lib/apache2/dav
chgrp www /var/lib/apache2/dav
chmod 775 /var/lib/apache2/dav

现在我们需要一个用户

 htpasswd2 -c /etc/apache2/dav_users.db username

将用户名更改为您的用户,并输入密码。现在让我们创建 Web 可访问的目录。

 mkdir /srv/www/webdav
chgrp www /srv/www/webdav
chmod 775 /srv/www/webdav

下一步是编辑配置文件 /etc/sysconfig/apache2,并添加 dav 模块 add "dav" 和 "dav_fs"。请参阅下面的示例。

APACHE_MODULES="dav dav_fs"

当然,这两个条目不会是唯一的条目,您可以将它们添加到末尾。

创建文件 /etc/apache2/mod_dav.conf,内容如下

<IfModule mod_dav_fs.c>
	# Location of the WebDAV lock database.
	DAVLockDB /var/lib/apache2/dav/lockdb
</IfModule>

<IfModule mod_dav.c>
	# XML request bodies are loaded into memory;
	# limit to 128K by default
	LimitXMLRequestBody 131072
	
	# Location of the WebDav Repository.
	Alias /webdav "/srv/www/webdav"
	
	<Directory /srv/www/webdav>
		# enable webdav for this directory
		DAV On
		Options +Indexes
		IndexOptions FancyIndexing
		AddDefaultCharset UTF-8
		AuthType Basic
		AuthName "WebDAV Server"
		# htpasswd2 -c /etc/apache2/dav_users.db <username>
		AuthUserFile /etc/apache2/dav_users.db
		<LimitExcept GET OPTIONS>
			Require valid-user
		</LimitExcept>
                # needs a2enmod mod_access_compat
		Order allow,deny
		Allow from all
	</Directory>
</IfModule>

创建文件

/etc/apache2/httpd.conf.local

然后放入以下行

Include /etc/apache2/mod_dav.conf

接下来,编辑文件 /etc/sysconfig/apache2。查找 APACHE_CONF_INCLUDE_FILES 条目并进行编辑。

APACHE_CONF_INCLUDE_FILES="/etc/apache2/httpd.conf.local"

您需要重新启动 apache2,对于 12.x,运行命令

 systemctl restart apache2.service

对于 11.x 或更低版本,运行命令

 rcapache2 restart

现在您可以通过 https:///webdav 访问您的 WebDAV 目录

您可以通过 dolphin、konqueror 或 nautilus 使用以下 URL 访问它。

webdav:///webdav


从您的本地局域网访问它,您需要将 localhost 替换为正确的 IP 地址。



SSL

我相信您希望以安全的方式访问您的服务器,因此我们需要 mod_ssl 和证书。我有一个 CACert 帐户,所以我创建了一个真实的证书;)

您需要为 CACert 创建 CSR(证书签名请求)。此文件包含有关您的证书和公钥的信息。它由证书颁发机构用于签署您的证书。
生成加密密钥

键入以下命令以生成一个文件加密的私钥。

openssl genrsa -des3 -out server.key 1024

系统将提示您输入访问该文件的密码,以及在启动 Web 服务器时输入密码。警告:如果您丢失或忘记密码短语,则必须生成另一个证书。如果您稍后决定使用未加密的密钥(因为您不想在启动时输入密钥),您可以通过执行以下操作在 server.key.unsecure 中创建 server.key 的未加密版本

openssl rsa -in server.key -out server.key.unsecure
请求服务器证书

登录到您的 CACert 帐户并发布 CSR,您将通过邮件收到 server.crt。将 server.key 替换为 /etc/apache2/ssl.key 中的 CSR,并将 server.crt 替换为 /etc/apache2/ssl.crt 中的证书。
配置 SSL

在 /etc/sysconfig/apache2 中编辑,将选项 -DSSL 添加到 APACHE_SERVER_FLAGS。重新启动您的 apache2,并使用 konqueror 连接到您的 webdav 并登录

webdavs:///webdav

参考:http://tr.opensuse.org/Webdav(使用 google 找到的(...))