差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版 前次修改
下次修改
前次修改
tech:dokuwiki [2008/03/27 10:38] jonathantech:dokuwiki [2024/02/16 13:55] (目前版本) – [採用 linuxserver/dokuwiki 的 image] jonathan
行 1: 行 1:
 +====== 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 <cli>
 +vi docker-compose.yml</cli><file>
 +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'
 +</file> 
 +      * wiki data 實際存放在 ./dokuwiki_data/dokuwiki 目錄內
 +      * cert 憑證檔存放位置在 ./dokuwiki_data/keys 目錄內
 +    - 啟動 docker compose <cli>
 +docker compose up -d
 +</cli>
  
 +<note tip>
 +**移轉原本 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 命令語法|<cli>
 +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
 +</cli>++
 +  
 +</note>
 + 
 +  * 如果有安裝 [[http://www.dokuwiki.org/plugin:statistics|Statistics Plugin]] 需要 mysql 資料庫, 可參考 [[tech:dokuwiki:statistics]]
 +===== 採用 bitnami/dokuwiki 的 image =====
 +  * 安裝方式 <cli>
 +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dokuwiki/docker-compose.yml > docker-compose.yml
 +docker-compose up -d
 +</cli>
 +  * 預設帳號密碼 : user / bitnami1
 +  * 參考網址 - https://hub.docker.com/r/bitnami/dokuwiki
 +
 +<note tip>
 +  * 如果要使用最新版以及每次開機可自動啟動, 需要在 docker-compose.yml 內**將 image 的 tag 改成 latest** 以及加上  **restart: always** Exp. <cli>
 +$ 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
 +</cli>
 +  * wiki data 實際存放目錄 **/var/lib/docker/volumes/root_dokuwiki_data/_data** , 可以建立 wiki_data 當捷徑 <cli>
 +ln -s /var/lib/docker/volumes/root_dokuwiki_data/_data wiki_data
 +</cli>
 +  * 如果要設定使用自己的 SSL 憑證, 需要將憑證檔依照以下的方式掛入 Exp. 由 Let's Encrypt 取得憑證檔:fullchain.pem , 金鑰檔:privkey.pem
 +    - 將憑證檔與金鑰檔複製到憑證目錄 Exp. /root/certs <cli>
 +cp fullchain.pem /root/certs/server.crt
 +cp privkey.pem /root/certs/server.key
 +</cli>
 +    - 修改憑證目錄與檔案符合 docker 可存取的權限 Exp. 1001 <cli>
 +chown -R 1001 /root/certs
 +</cli>
 +    - 修改 docker-compose.yml 增加掛載憑證目錄 <cli>
 +:
 +    volumes:
 +      - 'dokuwiki_data:/bitnami/dokuwiki'
 +      - /root/certs:/certs
 +:
 +</cli>
 +    - 重新啟動 docker compose <cli>
 +docker compose up -d
 +</cli>
 +</note>
 +
 +----
 +
 +====== 傳統安裝方式 ======
 +===== - 下載安裝檔 =====
 +  - 先切換到安裝目錄
 +  - 下載 dokuwiki 最新版本((dokuwiki 最新版本下載網址 : https://download.dokuwiki.org/))檔案
 +  - 解開壓縮檔
 +  - 將目錄名稱更改為自己所希望的目錄名稱
 +  - 將檔案目錄權限更改為 apache((Web Server Owner))
 +++++ 實際處理語法|
 +<code sh>
 +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
 +</code>
 +++++
 +
 +===== - 安裝參數設定 =====
 +  - 在 2006-11-06 版之後, 就提供網頁安裝參數設定功能
 +  - 所以在安裝路徑網址下 install.php (Exp. http://192.168.11.236/dokuwiki/install.php)
 +  - 右上角將語系改成 zh-tw
 +  - 左邊欄位就開始一一輸入
 +    - Wiki Name : MyWiki
 +    - 依據將所有的欄位填好
 +    - 我是設定預設的 ACL 是屬於 Closed Wiki
 +    - 點下[儲存]
 +  - 將 install.php 刪除掉
 +  ..++實際命令語法|
 +<code sh>
 +cd /var/www/html/dokuwiki
 +rm install.php 
 +</code>
 +++
 +
 +
 +==== - 第一次登入 ====
 +  - 輸入新的 wiki 網址後, 因為剛剛設定為 Closed Wiki 所以會出現 **拒絕尚未授權** 的訊息
 +  - 點[登入]輸入剛剛設定的管理者帳號密碼登入
 +  - 點[管理選單]->[Configuration Settings]
 +    - [Use first heading for pagenames] <- 打勾, 讓每頁的 Header 當頁面名稱
 +    - [Send info on newly registered users to this email address] <- [email protected] 有新註冊就通知到這個 E-Mail
 +    - [Allow embedded HTML] <- 打勾, 允許使用 html 語法
 +    - [Send change notifications to this email address] <- [email protected] 有改到網頁就通知到這個 E-Mail
 +    - [Enable page subscription support] <- 打勾, 允許使用者訂閱網頁
 +    - [Use nice URLs] <- .htaccess ((設定 .htaccess 必須在 apache 的設定檔內也要將 AllowOverride All 開啟))
 +    - [Email address to use for automatic mails] <- [email protected] 表示寄信者的 E-Mail
 +    - [Generate Google sitemap (days)] <- 1 表示每天都更新 Google Sitemap 
 +    - [XML feed type] <- RSS 2.0
 +  - 點[儲存]
 +  - 登入主機, 確認 apache 設定檔 AllowOverride 設定為 All
 +  -- 修改 .htaccess 設定檔
 +++++ 實際處理語法|
 +<code sh>
 +su - root
 +vi /etc/httpd/conf/httpd.conf
 +</code><file>
 +:
 +#
 +# 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.
 +#
 +:
 +</file><code sh>
 +vi /var/www/html/dokuwiki/.htaccess
 +</code><file txt .htaccess>
 +<Files ~ "^[\._]ht">
 +    Order allow,deny
 +    Deny from all
 +    Satisfy All
 +</Files>
 +
 +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]
 +
 +</file>
 +++++
 +
 +===== - 原有資料帳號連結 =====
 +如果有需要將原本的資料頁面移轉過來, 只需要將 data 的內容搬移到新的路徑內即可.
 +++++實際命令語法|
 +<code sh>
 +cd /var/www/html/dokuwiki
 +mv data data.org
 +cp -a /var/www/html/dokuwiki.old/data .
 +</code>
 +++++
 +
 +<note warning>
 +  * 在 2006 年版本中, data 內並無 index 目錄, 所以要自己先加入一個空的 index 目錄, 然後設定可以讓 apache 讀寫的權限
 +  * 在 2007 年版本中, data 內並無 tmp 目錄, 所以要自己先加入一個空的 tmp 目錄, 然後設定可以讓 apache 讀寫的權限++實際處理語法|<code>
 +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
 +</code>++
 +</note>
 +
 +===== - 安裝 Plugin =====
 +<note>參考 **[[tech:dokuwiki_plugin]]**</note>
 +
 +===== - 下載其他 Template =====
 +<note>
 +  * 參考 **[[http://wiki.splitbrain.org/wiki%3Atpl%3Atemplates|wiki:tpl:templates]]**
 +  * 推薦 **[[http://www.chimeric.de/projects/dokuwiki/template/simple|Simple Template]]**
 +</note>
 +++++實際安裝 simple template 程序語法|
 +<code sh>
 +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
 +</code>
 +如果需要, 可以到 lib/tpl/simple 內修改 main.php 與 style.ini 內容
 +++++
 +===== - 延伸參考資料 =====
 +<quote>
 +{{topic>dokuwiki}}
 +
 +----
 +  * http://www.dokuwiki.org/dokuwiki
 +</quote>
 +
 +{{tag>dokuwiki 安裝}}