DokuWiki
インストール方法
サーバのインストール (nginx 編)
- nginx をインストールする。
$ sudo add-apt-repository ppa:nginx/stable $ sudo apt update $ sudo apt install nginx php-fpm
- 自動起動設定する。
$ sudo systemctl enable nginx
- 設定ファイルを編集する。
$ sudoedit /etc/nginx/sites-available/default
server{…}
内を以下に変更する。- 【追記】エラーページで nginx のバージョンを表示しない。
server_tokens off;
- 【変更】ルートディレクトリを必要に応じて変更する。
root /var/www/html;
- 【変更】エラーページを dokuwiki のエラーページに変更する
location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ @dokuwiki; }
- 【追記】URL 書き換えなどの設定を追記する。
#Remember to comment the below out when you're installing, and uncomment it when done. location ~ /(data/|conf/|bin/|inc/|install.php) { deny all; } location ~ ^/lib.*\.(js|css|gif|png|ico|jpg|jpeg)$ { expires 365d; } location @dokuwiki { # rewrites "doku.php/" out of the URLs if you set the userwrite setting to .htaccess in dokuwiki config page rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1&$args last; } location ~ \.php$ { try_files $uri $uri/ /doku.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REDIRECT_STATUS 200; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # fastcgi_pass unix:/var/run/php5-fpm.sock; #old php version }
- 以下の内容の dokuwiki のトップディレクトリにて .htaccess を新規作成する (URL の区切り文字をスラッシュにする場合に必要)。
$ sudoedit .htaccess
<Files ~ "^([\._]ht|README$|VERSION$|COPYING$)"> Order allow,deny Deny from 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 RewriteBase / # sub.example.com #RewriteBase /test/site # example.com/test/site/ #RewriteBase /test/dokuwiki # example.com/test/dokuwiki/
- nginx の再起動をする。
$ sudo systemctl restart nginx
- 場合によっては php7.0 の再起動も必要かもしれない。
$ sudo systemctl restart php7.0-fpm
- その他トラブルシューティング
- ブラウザでアクセスすると php ファイルがダウンロードされる。
- 原因:
/etc/nginx/sites-available/default
内の PHP の設定が間違っている。- ログファイルとか見て、修正する。
- 原因: 誤った nginx の設定をブラウザがキャッシュしている。
- 解決法: ブラウザのキャッシュを消去するか、別のブラウザでどうぞ。
- 参考サイト:
dokuwiki 本体のインストール
- サーバ環境の確認
- apache や lighttpd、nginx、Abyss などの web サーバ環境
- php 5.3.3 以上
- http://download.dokuwiki.org/ からダウンロード
- Version: Stable
- Languages: en, ja (Toggle all ボタンを押して全て無効化してから作業すると楽)
- 下の「Start Download」ボタンでダウンロード開始
- 得られたファイルをウェブ表示可能なディレクトリに展開
- パーミッションの変更
以下のいずれかを行う- 誰でもアクセス可にする
$ chmod -R 777 data $ chmod 777 conf $ chmod 666 conf/*
- Web のみからアクセスする
$ chown -R 777 data $ chown -R www-data. conf
- ウェブ上から install.php にアクセス (パーミッションが不足しているとここで注意される)
- 必要事項を入力して、Wiki ライフをスタート
既存データの移行
インストール方法のパーミッションの変更を行う。
ACL初期設定の変更
- インストール時に Wiki の公開や編集権限の設定ができる
- オープンWiki(全ての人に、閲覧・書き込み・アップロードを許可)
- パブリックWiki(閲覧は全ての人が可能、書き込み・アップロードは登録ユーザのみ
- クローズドWiki(登録ユーザにのみ使用を許可)
- これを途中で変更するには、「管理」→「アクセスコントロール管理」で編集する
- デフォルトの設定は以下の通り
- オープンWiki
- ページ/名前空間(*), ユーザ/グループ(@ALL), 権限(アップロード)
- パブリックWiki
- ページ/名前空間(*), ユーザ/グループ(@ALL), 権限(読取)
- ページ/名前空間(*), ユーザ/グループ(@user), 権限(アップロード)
- クローズドWiki
- ページ/名前空間(*), ユーザ/グループ(@ALL), 権限(なし)
- ページ/名前空間(*), ユーザ/グループ(@user), 権限(アップロード)
サイドバーの導入
- dokuwiki のページの URL の doku.php の後を、sidebar にして新規ページ (sidebar) を編集すると、その内容が sidebar になる
テンプレート (デザイン) のインストール
- lib/tpl のパーミッションを有効にする
以下のいずれかを実行- 誰でもアクセス可能にする
$ chmod 777 lib/tpl
- Web でのみのアクセス可能にする
$ chown -R www-data. lib/tpl
- dokuwiki ページの上の「管理」をクリック
- 「拡張機能管理」をクリックして、「検索とインストール」「手動インストール」などでインストールする
プラグインのインストール
- lib/plugins のパーミッションを有効にする
以下のいずれかを実行- 誰でもアクセス可能にする
$ chmod 777 lib/plugins
- Web でのみのアクセス可能にする
$ chown -R www-data. lib/plugins
- dokuwiki ページの上の「管理」をクリック
- 「拡張機能管理」をクリックして、「検索とインストール」「手動インストール」などでインストールする
- 導入したプラグイン
- Indexmenu plugin (サイドバーにある階層ツリーを表示するプラグイン)
参考サイト: 週記くらい | DokuWikiで導入したプラグイン - Google Analytics Plugin (Dokuwiki に Google analytics を導入するプラグイン)
参考サイト: Google Analytics Plugin [ほほほのほ] - tag (ページをタグ付けするプラグイン)
参考サイト: DokuWiki/プラグイン [俺の基地]
- Bookmark (任意の場所にアンカーを作るプラグイン)
- Anchor というプラグインもあるが、なぜか動かないので、同じ機能をもつこのプラグインを導入した
- 公式サイト: plugin:bookmark [DokuWiki]
ロゴや favicon の変更
- 使用しているテンプレート (
lib/tpl/テンプレート名/images
) 以下に favicon.ico や logo.png があるので、それを置き換える
連続するハイフンをダッシュにしない
- 連続するハイフンを
%%
で囲む- 例:
%%--%%
Ubuntu 16.04 に移行した際に表示されない
- /var/log/lighttpd/error.log あたりに
FastCGI-stderr: PHP Fatal error: Uncaught Error: Call to undefined function utf8_decode()
がある場合、php7 側の問題 (utf8_decode() が別パッケージに分離されたのが原因) らしい - 解決方法
$ sudo apt-get install php7.0-xml