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 找到的(...))