====== DokuWiki安裝程序(Docker) ====== ===== Docker 安裝方式 ===== * 安裝環境 - [[tech/alpine_docker|Alpine 3 + Docker compose]] - [[tech/docker|Ubuntu 20.04 + Docker compose]] ===== 採用 linuxserver/dokuwiki 的 image ===== * 參考網址 - https://github.com/linuxserver/docker-dokuwiki * 安裝方式 - 編輯 docker-compose.yml vi docker-compose.yml version: '2' services: dokuwiki: image: lscr.io/linuxserver/dokuwiki:latest container_name: dokuwiki environment: - PUID=1000 - PGID=1000 - TZ=Asia/Taipei ports: - '80:80' - '443:443' restart: always volumes: - './dokuwiki_data:/config' * wiki data 實際存放在 ./dokuwiki_data/dokuwiki 目錄內 * cert 憑證檔存放位置在 ./dokuwiki_data/keys 目錄內 - 啟動 docker compose docker compose up -d **移轉原本 wiki data 簡易操作程序** - 將原本資料目錄內的 data lib conf 三個目錄打包成 tar - 將打包好的 data.tar lib.tar conf.tar 複製到 ./dokuwiki_data/dokuwiki/ 目錄 - 關閉 dokuwiki 服務 - 進入 ./dokuwiki_data/dokuwiki/ - 將原本 data lib conf 三個目錄更名為 data.org lib.org conf.org - 解開 data.tar lib.tar conf.tar 打包檔成為 data lib conf 三個目錄 - 改正 data lib conf 三個目錄權限 - 重新啟動 dokuwiki 服務 * ++看實際處理 linux 命令語法| docker compose down cd dokuwiki_data/dokuwiki/ mv conf conf.org tar -xvf conf.tar mv lib lib.org tar -xvf lib.tar mv data data.org tar -xvf data.tar chown -R 1000:1000 data chown -R 1000:1000 lib chown -R 1000:1000 conf cd docker compose up -d ++ * 如果有安裝 [[http://www.dokuwiki.org/plugin:statistics|Statistics Plugin]] 需要 mysql 資料庫, 可參考 [[tech:dokuwiki:statistics]] ===== 採用 bitnami/dokuwiki 的 image ===== * 安裝方式 curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dokuwiki/docker-compose.yml > docker-compose.yml docker-compose up -d * 預設帳號密碼 : user / bitnami1 * 參考網址 - https://hub.docker.com/r/bitnami/dokuwiki * 如果要使用最新版以及每次開機可自動啟動, 需要在 docker-compose.yml 內**將 image 的 tag 改成 latest** 以及加上 **restart: always** Exp. $ cat docker-compose.yml # Copyright VMware, Inc. # SPDX-License-Identifier: APACHE-2.0 version: '2' services: dokuwiki: image: docker.io/bitnami/dokuwiki:latest restart: always ports: - '80:8080' - '443:8443' volumes: - 'dokuwiki_data:/bitnami/dokuwiki' volumes: dokuwiki_data: driver: local * wiki data 實際存放目錄 **/var/lib/docker/volumes/root_dokuwiki_data/_data** , 可以建立 wiki_data 當捷徑 ln -s /var/lib/docker/volumes/root_dokuwiki_data/_data wiki_data * 如果要設定使用自己的 SSL 憑證, 需要將憑證檔依照以下的方式掛入 Exp. 由 Let's Encrypt 取得憑證檔:fullchain.pem , 金鑰檔:privkey.pem - 將憑證檔與金鑰檔複製到憑證目錄 Exp. /root/certs cp fullchain.pem /root/certs/server.crt cp privkey.pem /root/certs/server.key - 修改憑證目錄與檔案符合 docker 可存取的權限 Exp. 1001 chown -R 1001 /root/certs - 修改 docker-compose.yml 增加掛載憑證目錄 : volumes: - 'dokuwiki_data:/bitnami/dokuwiki' - /root/certs:/certs : - 重新啟動 docker compose docker compose up -d ---- ====== 傳統安裝方式 ====== ===== - 下載安裝檔 ===== - 先切換到安裝目錄 - 下載 dokuwiki 最新版本((dokuwiki 最新版本下載網址 : https://download.dokuwiki.org/))檔案 - 解開壓縮檔 - 將目錄名稱更改為自己所希望的目錄名稱 - 將檔案目錄權限更改為 apache((Web Server Owner)) ++++ 實際處理語法| cd /tmp/ wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz tar -zxvf dokuwiki-stable.tgz rm -f dokuwiki-*.tgz mv dokuwiki-* /var/www/html/ cd /var/www/html/ rm -f /tmp/dokuwiki.xx mv /tmp/dokuwiki.x /tmp/dokuwiki.xx mv dokuwiki /tmp/dokuwiki.x mv dokuwiki-* dokuwiki chown -R apache:apache dokuwiki ++++ ===== - 安裝參數設定 ===== - 在 2006-11-06 版之後, 就提供網頁安裝參數設定功能 - 所以在安裝路徑網址下 install.php (Exp. http://192.168.11.236/dokuwiki/install.php) - 右上角將語系改成 zh-tw - 左邊欄位就開始一一輸入 - Wiki Name : MyWiki - 依據將所有的欄位填好 - 我是設定預設的 ACL 是屬於 Closed Wiki - 點下[儲存] - 將 install.php 刪除掉 ..++實際命令語法| cd /var/www/html/dokuwiki rm install.php ++ ==== - 第一次登入 ==== - 輸入新的 wiki 網址後, 因為剛剛設定為 Closed Wiki 所以會出現 **拒絕尚未授權** 的訊息 - 點[登入]輸入剛剛設定的管理者帳號密碼登入 - 點[管理選單]->[Configuration Settings] - [Use first heading for pagenames] <- 打勾, 讓每頁的 Header 當頁面名稱 - [Send info on newly registered users to this email address] <- tryweb@ichiayi.com 有新註冊就通知到這個 E-Mail - [Allow embedded HTML] <- 打勾, 允許使用 html 語法 - [Send change notifications to this email address] <- tryweb@ichiayi.com 有改到網頁就通知到這個 E-Mail - [Enable page subscription support] <- 打勾, 允許使用者訂閱網頁 - [Use nice URLs] <- .htaccess ((設定 .htaccess 必須在 apache 的設定檔內也要將 AllowOverride All 開啟)) - [Email address to use for automatic mails] <- tryweb@ichiayi.com 表示寄信者的 E-Mail - [Generate Google sitemap (days)] <- 1 表示每天都更新 Google Sitemap - [XML feed type] <- RSS 2.0 - 點[儲存] - 登入主機, 確認 apache 設定檔 AllowOverride 設定為 All -- 修改 .htaccess 設定檔 ++++ 實際處理語法| su - root vi /etc/httpd/conf/httpd.conf : # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All # # Controls who can get stuff from this server. # : vi /var/www/html/dokuwiki/.htaccess Order allow,deny Deny from all Satisfy All RewriteEngine on RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L] RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L] RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L] RewriteRule ^$ doku.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) doku.php?id=$1 [QSA,L] RewriteRule ^index.php$ doku.php # 如果需要強制轉 SSL 就將以下兩行前面的 # 去掉 #RewriteCond %{SERVER_PORT} !^443$ #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/dokuwiki/$1 [L,R] ++++ ===== - 原有資料帳號連結 ===== 如果有需要將原本的資料頁面移轉過來, 只需要將 data 的內容搬移到新的路徑內即可. ++++實際命令語法| cd /var/www/html/dokuwiki mv data data.org cp -a /var/www/html/dokuwiki.old/data . ++++ * 在 2006 年版本中, data 內並無 index 目錄, 所以要自己先加入一個空的 index 目錄, 然後設定可以讓 apache 讀寫的權限 * 在 2007 年版本中, data 內並無 tmp 目錄, 所以要自己先加入一個空的 tmp 目錄, 然後設定可以讓 apache 讀寫的權限++實際處理語法| cd /var/www/html wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2008-05-05.tgz tar -zxvf dokuwiki-2008-05-05.tgz 原本安裝的 wiki 在 /var/www/html/wiki 目錄內 mv wiki wiki.old mv dokuwiki-2008-05-05 wiki chown -R apache:apache wiki cd wiki rm install.php cp -a ../wiki.old/.htaccess . mv data data.org cp -a ../wiki.old/data . cd data mkdir tmp chown -R apache:apache tmp/ rm -rf cache/* cd ../lib mv tpl tpl.org cp -a ../../wiki.old/lib/tpl . cp -a tpl.org/* tpl/ mv plugins plugins.org cp -a ../../wiki.old/lib/plugins . cp -a plugins.org/* plugins/ cd ../conf cp -a ../../wiki.old/conf/users.auth.php . cp -a ../../wiki.old/conf/acl.auth.php . cp -a ../../wiki.old/conf/local.php . 再複製有更改過的設定檔 cp -a ../../wiki.old/conf/mime.conf . cp -a ../../wiki.old/conf/interwiki.conf . 開啟 wiki 頁面確認沒問題就可移除掉剛剛所 mv 的 *.org cd /var/www/html/wiki rm -rf data.org rm -rf lib/plugins.org rm -rf lib/tpl.org ++ ===== - 安裝 Plugin ===== 參考 **[[tech:dokuwiki_plugin]]** ===== - 下載其他 Template ===== * 參考 **[[http://wiki.splitbrain.org/wiki%3Atpl%3Atemplates|wiki:tpl:templates]]** * 推薦 **[[http://www.chimeric.de/projects/dokuwiki/template/simple|Simple Template]]** ++++實際安裝 simple template 程序語法| cd /var/www/html/wiki/lib/tpl wget http://www.chimeric.de/_media/projects/dokuwiki/template/simple/download/template-simple-2007-05-24.tgz tar zxvf template-simple-2007-05-24.tgz 如果需要, 可以到 lib/tpl/simple 內修改 main.php 與 style.ini 內容 ++++ ===== - 延伸參考資料 ===== {{topic>dokuwiki}} ---- * http://www.dokuwiki.org/dokuwiki {{tag>dokuwiki 安裝}}