====== 建立多個 wiki(farm/農場) ======
===== 參考 =====
* ++官方說明|[[doku>farms|(連結)]]{{url>https://www.dokuwiki.org/farms}}++
* ++範例說明 |[[https://www.dokuwiki.org/farms:example01|(原文連結)]]
{{url>https://www.dokuwiki.org/farms:example01}}++
===== plugin =====
2016/7 出現++官方 plugin 耶!|[[doku>plugin:farmer|(連結)]]{{url>https://www.dokuwiki.org/plugin:farmer}}++
===== 做法 =====
* virtual hosts 好像挺不賴的,但 Synology NAS 可以做到嗎?
* /^20160609^/ 喔!有耶,Web Station 裡有 Virtual Host 功能\\ ↑但 virtual host 似乎也要先買到多餘的域名,設定 CNAME 之類的才能用?
* 後來已實現,感謝 神 <<大眼>>
===== 實做 =====
- /^20160801^/ 在 MBA 站上把新推出的 farmer plugin 裝起來
* 但裝好後,指定相對路徑 ''../dws'' 作為 animals 資料夾,卻一直被說「必須位於目前的 DokuWiki 外」。我明明是照說明文件教的來指定相對路徑啊。怪了,我的 DokuWiki 是 ''~/web/dw'',那 animals 放 ''~/web/dws'' 不行嗎?
* /^20160802^/ 後來我指定 ''../../dws'' 結果就真的建好了,但這樣的話 animals 是位於 ''~/dws'',這樣 MAMP 根本吃不到吧,這樣也無法運作啊
* 還有,farmer plugin 不知道是還在開發有點 buggy 還是怎樣,有些設定頁面的表單是空白的,不知是否 template 相容性還不太夠?→ /-反映 farmer plugin 的 template 相容性-/
* 咦,不是啊,改成 dokuwiki template,狀況也一樣
* 啊,farmer plugin 太新,只相容於 2016 Elenor of Tsort 的 DokuWiki → 升級 DokuWiki 後,farmer plugin 就正常
* 至於 animals 資料夾的問題,考慮是否手動修改 ''conf/farm.ini''?
- /^20160802^/ 手動修改 ''conf/farm.ini'',把 animals 路徑設為 ''~/web/dws'',存檔後透過 Farming 介面新增 ''test'' animal → 成功!:D 這個 plugin 真的是太無痛、太方便了!Andi((DokuWiki 之父 Andreas Gohr)) 還有其他開發者真的很棒!
* 目前看來,新建的 animal 會有一個新的預設 logo
* 每個 animal 會不一樣嗎?
* favicon……沒有 XD,不會繼承,也沒有預設的
- /^20160803^/ 想把主 wiki 的頁面移到 animal 去,想用 [[doku>plugin:farmsync|farmsync plugin]],卻發現它無法以 farmer wiki 作為同步來源。查了一下[[https://github.com/cosmocode/dokuwiki-plugin-farmsync/issues/6?_pjax=%23js-repo-pjax-container|原來是故意的 → 我留言詢問可否手動搬移頁面]]
- /^20160824^/ 開始研究 virtual host 法,需要[[it:網域名稱|網域名稱]],也要瞭解 [[it:dns|DNS]] 及 [[it:virtual_host|virtual host]] 的運作 以下都針對 NAS!暫時不做 MBA MAMP 伺服器的 virtual host!
- 試著至 freenom.com 申請 ''ciangbrides.ml'',並先利用它內建的 DNS 指向 NAS 的固定 IP、選擇 12 個月免費 → 預設兩筆 A 紀錄,讓 ''ciangbrides.ml'' 及 ''www.ciangbrides.ml'' 都指向 NAS → ''ciangbrides.ml/dw'' 順利開啟本站!
- 再來該怎樣用 subdomain 指向本站呢?例如 ''dw.ciangbrides.ml'' = ''/dw''?這時該繼續用 DNS 的哪種紀錄來設定,還是該是 virtual host 出馬的時候了?→ 試著參考[[http://www.mobile01.com/topicdetail.php?f=494&t=2731791#ct36097363|網友教學]],好像 DNS 和 virtual host 都要設定 :o\\ → 試著在 DNS 新增一筆 CNAME ''doku'',指向 ''ciangbrides.ml''\\ 然後到 NAS 設 virtual host ''doku.ciangbrides.ml'',資料夾為 ''web/dw'' ← 成功了!感謝 神!:D
- 再來要試著設定 subdomain 制的 animal 了,我猜是要在 NAS 上設定 ''conf/farm.ini'' 及 Farming 相關設定吧\\ → 上 ''doku.ciangbrides.ml'' 看 Farming 設定,看到 Farm Host Name 仍是 ''ciangbrides.myds.me'' → 想辦法理解說明文字((一處是 Farming 設定頁面,一處是[[https://www.dokuwiki.org/plugin:farmer#(Sub-)-Domain-Based|farmer plugin 官方說明]];其中這句:
> Setting up a wildcard sub domain in your DNS makes it easy to create new animals with a button click using the farmer plugin.
尤為費解──什麼是 wildcard sub domain?:s [[https://en.wikipedia.org/wiki/Wildcard_DNS_record|維基百科的說明]]也不好懂;照[[https://www.namecheap.com/support/knowledgebase/article.aspx/9191/29/how-to-create-a-wildcard-subdomain-in-cpanel|這裡]]說的,似乎是在 DNS 設一個 A record 為 ''*.example.com''))的意思後,試著改為 ''ciangbrides.ml'';''Base Domain for subdomain Animals'' 則試著設為 ''doku.ciangbrides.ml''↓
^ Farming ^^ DNS ^ animal ^ NAS virtual host ^ 結果 ^
^ ''Farm Host Name'' ^ ''Base Domain for subdomain Animals'' ^:::^:::^:::^:::^
^ 第一波摸索 ^^^^^^
| /-''ciangbrides.ml''-/\\ ''doku.ciangbrides.ml'' | ''doku.ciangbrides.ml'' | /-CNAME ''test'' → ''ciangbrides.ml''-/\\ A ''*'' → ''doku.ciangbrides.ml''((作為 wildcard subdomain?)) | | | freenom 好像不允許用 ''*'' 作為 Name |
| ::: | ::: | CNAME ''test'' → ''doku.ciangbrides.ml'' | 建 test | | ''test.doku.ciangbrides.ml'' 失敗了,廢話!DNS 設的是 ''test'',又不是 ''test.doku'' :s |
| 同上 | 同上 | CNAME ''test.doku'' → ''doku.ciangbrides.ml'' | 同上 | | 只能連到 ''ciangbrides.ml'',無法連上 DokuWiki,遑論是 test animal |
| 同上 | 同上 | 同上 | 同上 | 新增 ''test.doku.ciangbrides.ml'' 指向 ''web/dw'' | 同上 → 卡關了 |
| 同上 | 同上 | /^20160825 0:00^/ 喔?!CNAME ''test.doku'' → ''ciangbrides.ml'' | 同上 | 同上 | ''test.doku.ciangbrides.ml'' 可以讀取 test animal 了!((這樣看來,DNS 無法設定 wildcard subdomain 也無妨,若有,可能就不用每次在 DNS 上設定;若無,就逐筆設定進去,如此而已))
* 但這樣不理想,subdomain 要用到兩層
* /-而且 animal 有一個問題:雖然設定了 inherit farmer 的 user style,但對 animal 似無效-/ ← /^0:12^/ 喔!在 animal 這邊編輯一下 CSS 並儲存,再次 purge CSS cache 後有效了!:D
|
^ /^20160825 4:00^/ 挑戰單層 subdomain ^^^^^^
^ ''doku.ciangbrides.ml'' ^ ''ciangbrides.ml'' | CNAME ''test'' → ''ciangbrides.ml'' | 同上 | ''test.ciangbrides.ml'' 指向 ''web/dw'' |
成功了!哭了哭了 <<大哭>>\\ (順手把 Farming 的 ''Plugin State'' 也設為 inherit) |
^ /^20160826^/
進一步挑戰 domain 式 animal! ^^^^^^
^ ''doku.ciangbrides.ml'' ^ ''ciangbrides.ml'' |
新註冊一個 ''ghsrobert.ml''\\ A「 」→ ''(NAS 固定 IP)'' | 建「ghsrobert.ml」 | ''ghsrobert.ml'' 指向 ''web/dw'' |
也成功了!好棒喔!(灑花)domain animal 是否只能透過 domain name 存取?
名為 ghsrobert.ml 的 animal,是否只能透過 ghsrobert.ml 存取?本來擔心這樣一來,不就無法在 MBA localhost 上使用該 animal?但剛發現,用 http://localhost/dw/!ghsrobert.ml/ 這個 URL 也行!
→ DokuWiki 的 farm 機制真是又簡單又強大啊!!!:D
|
^ /^20180213^/
挑戰雙層 domain 式 animal:雙層 domain(上級 domain 本身也是 animal) ^^^^^^
^ ''doku.ciangbrides.ml'' ^ ''ciangbrides.ml'' | 不用註冊新的域名,直接在現有 ''ghsrobert.tk'' 的 DNS 中設定\\ A「toa」→ ''(NAS 固定 IP)'' | 建「toa.ghsrobert.tk」 | ''toa.ghsrobert.tk'' 指向 ''web/dw'' |
經過試誤終於成功。原本設 DNS 用 CNAME 然後指到 ciangbrides.ml 是錯誤的 |
- /^20161214^/ 因為 [[https://github.com/dokufreaks/plugin-include/issues/199|include farm animal page 的功能]]至今乏人問津,導致我至今一直不敢認真規劃拆分 animal 及運用 domain/subdomain 啊……
* {{anchor:symlink-folder}}/^20180327^/ /-今天也試了把某個頁面資料夾的 symlink 放到別的 animal 中,但 DW 不吃 symlink 的樣子……-/今天試了 macOS「替身」← DW 不吃;但 NAS Linux 的 symlink 是可以的!:D 頁面會顯示一個「外部編輯」的版本,然後系統會自動製作這邊的 meta、indexed 的樣子;然後 tag、sitemap 是列得出來的,甚至還可以在這邊的 animal 編輯或刪除連結過來的頁面,成果一律歸到原資料夾裡!:D 看來暫時有解決方案了!<<大哭>>
* /^20190327^/ 事隔一年,都忘了這回事了,今天赫然在 test animal 中看到 :hist namespace,下面的文章通通是 !ghsrobert:hist 裡的耶,新文章也有。原來我之前設定 symlink 的就是在這邊測試的啊
* /^20190329^/ 然後今天也發現,MBA 上就可以做 symlink 了,DW 也接受(所以只有不接受 macOS「替身」啊):D<<大心>> 這樣幾乎解決了!
- {{anchor:rename}}/^20180326^/ 最近可能需要把 toa.ghsrobert.tk 改名到 abcdori.ga
* 如果 farming 不提供更名的功能,那可能就是建新 animal,然後把所有資料複製/移動過去,再刪掉舊 animal 即可?
* 不過建新 animal 時也可以選擇複製現有的 animal ∴或許也可以選擇把 toa 複製過去
- 先嘗試新建+移動法
- 新建,隨便設定
- 把系統建好的 ''/abcdori.ga'' 更名為 ''/[default] abcdori.ga''
- 把 ''/toa.ghsrobert.tk'' 直接更名為 ''/abcdori.ga''!
* Cloud Station 開始在背景處理眾多檔案……不過應該只是進行比對確認無誤而已,後來都沒有任何檔案異動的紀錄,只有資料夾「本地端更新命名」而已
- → http://localhost/dw/!abcdori.ga/,得登入 → 用 ghsrobert 帳密登入↓
- 首頁、sidebar、template、顏色設定,看來正常,和原本的 toa 都一樣 :D
- 全站最近更新紀錄也都完整
- ✔ 大概還要改全站的 userall.css,記得裡面有一些與 toa 有關的設定
- 本來想說應該還要把 toa.ghsrobert.tk animal 刪掉,卻發現系統早已把 animal 名稱改掉了,所以 DW 系統是直接吃 /dws 下面的資料夾名稱的啊 XD 那這樣也沒有東西需要刪了(只有那個 ''[default] abcdori.ga'' 吧)