我们在使用 omnifocus 时,由于官方服务器在海外,当我们在 iphone 上添加一个事项时,通常会隔了十几秒,才能在 mac 上同步到,最不能忍受的是,事项在 mac 或者 iphone 上操作已完成时,在另一个设备上仍然会提醒,这差点让我想彻底放弃 omnifocus,但面对当初 “巨额” 的购入投资,我还是低头了,开始寻找替代官方服务器同步的方案。
比较了众多自建 webdav 方案后,决定采用 github 上一个用 GO 写的开源的 webdav 服务,原因很简单:
- 占用资源小
- 部署方便
GitHub - hacdias/webdav: Simple Go WebDAV server.
首先根据服务器的硬件以及系统下载相应的发布包(以 centos7 为例)
下载后解压出运行程序 webdav 移动至 /usr/bin/ 下
mv webdav /usr/bin/
编辑配置文件(必须是 JSON, YAML 或者 TOML 格式), vim /opt/webdav.yaml
# Server related settings
address: 0.0.0.0
port: 18080
auth: true
tls: false
cert: cert.pem
key: key.pem
prefix: /
debug: false
users:
- username: kaimin
password: ******
scope: /data
modify: true
配置开机启动
cd /lib/systemd/system
vim webdav.service
[Unit]
Description=WebDAV server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/webdav --config /opt/webdav.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl enable webdav.service
systemctl start webdav.service
systemctl status webdav.service
在 omnifocus 同步中配置即可。