我們在使用 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 同步中配置即可。