====== 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 安裝}}