2017年8月7日 星期一

手機連線 owncloud 私有雲行事曆

owncloud 的行事曆 想要用雲端行事曆, 就必須把我的行程通通告訴 google 嗎? 不必! 用 owncloud 架設私有雲, 你也可以從 android 手機連線讀寫個人專屬的雲端行事曆。 其實我的 owncloud 根本就是為了行事曆這個功能而架的 :-)

建議先幫你的網頁伺服器 (apache2 之類的) 升級成 https。 這步非必須; 但若沒有 https, 保護隱的效果就大打折扣了啊, 不是嗎? EFF 推廣的免費 let's encrypt 現在已變得很簡單, 快去裝一下吧!

再來請安裝 owncloud ( 正體 ub 14.04 簡中 ub 16.04)。 這步有點囉嗦, 但並不複雜。

owncloud apps 管理頁面 用瀏覽器登入 owncloud, 從左上角的選單切換到 「應用程式」, 再啟用 calendar。 (enable)

現在左上角的選單多出一個 calendar 功能。 在這裡按 「新日曆」、 建立一個日曆並填上一些行程。 建立日曆時, 建議先用英文命名, 不要有空格等等字元, 因為這個名字會變成網址的一部分。 等建立好之後, 再編輯它、 把名字改成中文。 我建了兩個日歷, 一個叫 「公開行程」 (public), 另一個叫 「私人行程」 (private)。

點一下 「公開行程」 右側的三個點, 點一下 「連結」, 出現一個網址, 如本文第一張圖。 請抄下來, 或用 primitive ftpd adb 把它傳到手機去, 方便等一下剪貼。

在手機上, 從 f-droid 市集 或 google play 下載安裝 aCalDAV。 這個 app 不會獨立執行; 要從你的行事曆 app 裡面把它叫出來。 例如我用 cyanogenmod 12.1 內建的 calendar, 從 settings 裡面可看到 「add account」 (新增帳號), 其中一種方法就是透過 aCalDAV 與遠端行事曆服務連線。

用 aCalDAV 設定跟 owncloud 的連線 點進 aCalDAV 之後, 即可填寫你的 owncloud 帳號密碼、 剪貼剛才從電腦上傳過來的網址、 幫它取個名字、 並設定連線間隔時間 (右圖我設定每 1440 分鐘連線一次)。 剛剛在電腦上輸入的行程, 現在就出現在你手機的行事曆 app 上囉! 有一點小小遺憾的是: owncloud 的日曆只能跟同站的其他 owncloud 用戶分享, 而沒辦法直接公開分享給路人甲。 反正最近生意不好, 沒什麼演講邀約, 所以對我也沒差啦 ^_^

[8/15 補充] 在網頁介面上, 每個日曆右側的選單 (如第一張圖) 裡面還有一個 「下載」 的選項, 可以把過去所有活動下載成一個 vCalendar 格式的文字檔, 當作超級懶人日記 :-) 另外, 我在 /etc/cron.daily 底下建一個名為 backup 的 shell script (記得要 chmod a+x /etc/cron.daily/backup), 專門做每日本機重要檔案備份。 其中包含這一句 owncloud 的資料庫備份:

mysqldump --lock-tables -u root -p$(perl -ne 'print "$1\n" if m/\x27dbpassword\x27\s*=>\s*\x27(.*)\x27/' /var/www/owncloud/config/config.php) owncloud > /path/to/backup/owncloud.sql

2 則留言:

  1. 是不錯,考量到以後雲端的應用還有 self host 可能只會更普及。

    不過我目前傾向以後自己從 building from scratch 做起,畢竟如果是考量長期保存,資料內容還有資料結構到最後可能遠遠比寫出的程式碼本身還有價值,所以我可能會選擇重複發明車輪,雖然簡陋,可是系統簡單自己了解,依賴層級低,資料有辦法自己掌控修改(在自己的知識範圍內)。

    另外貴哥我一直想告訴你,網頁的縮圖(就是游標移到上面會自動放大的那個功能)我個人感覺不太好用,因為滑鼠移到邊邊,放大的圖就馬上消失了。如果跳出幻燈片的那種效果會不會比較方便?

    回覆刪除
    回覆
    1. owncloud 的資料是開放的格式沒問題的。 對呵, 趕快補上備份資料的說明。

      關於圖片特效: 如果以 http://fancybox.net/ 來說呢? 你覺得裡面哪些效果較好? 改天再來整修。

      刪除