====== DokuWiki ======
===== インストール方法 =====
==== サーバのインストール (nginx 編) ====
- nginx をインストールする。\\
$ sudo add-apt-repository ppa:nginx/stable
$ sudo apt update
$ sudo apt install nginx php-fpm
* [[https://launchpad.net/~nginx/+archive/ubuntu/stable | NGINX Stable : “Nginx” team]]
- 自動起動設定する。\\ $ sudo systemctl enable nginx
- 設定ファイルを編集する。\\ $ sudoedit /etc/nginx/sites-available/default
''server{...}'' 内を以下に変更する。
* 【追記】エラーページで nginx のバージョンを表示しない。\\ server_tokens off;
* [[https://dokuwiki.oreda.net/server/nginx.html | 高負荷に耐えられるNginx+php-fpmでDokuwikiを使う準備 [DokuWikiで情報発信]]]
* 【変更】ルートディレクトリを必要に応じて変更する。\\ 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
}
* [[https://www.dokuwiki.org/install:nginx | install:nginx [DokuWiki]]]
- 以下の内容の dokuwiki のトップディレクトリにて .htaccess を新規作成する (URL の区切り文字をスラッシュにする場合に必要)。\\ $ sudoedit .htaccess
Order allow,deny
Deny from 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
RewriteBase / # sub.example.com
#RewriteBase /test/site # example.com/test/site/
#RewriteBase /test/dokuwiki # example.com/test/dokuwiki/
* [[https://dokuwiki.oreda.net/htaccess_rewrite.html | Apacheの.htaccessで、DokuWikiのURLを短く単純にする [DokuWikiで情報発信]]]
- nginx の再起動をする。\\ $ sudo systemctl restart nginx
- 場合によっては php7.0 の再起動も必要かもしれない。\\ $ sudo systemctl restart php7.0-fpm
* その他トラブルシューティング
* ブラウザでアクセスすると php ファイルがダウンロードされる。
* 原因: ''/etc/nginx/sites-available/default'' 内の PHP の設定が間違っている。
* ログファイルとか見て、修正する。
* 原因: 誤った nginx の設定をブラウザがキャッシュしている。
* 解決法: ブラウザのキャッシュを消去するか、別のブラウザでどうぞ。
* 参考サイト:
* [[https://utano.jp/entry/2016/07/nginx-and-php-fpm-download-php-file/ | [Sy] 【解決した】HomebrewでNginx + php-fpmの環境を作ろうとしたらPHPファイルがダウンロードされる | Syntax Error.]]
* [[https://qiita.com/puttyo_bubu/items/5bf554ef2790f6435c32 | CentOSにnginx, php-fpm, mysqlの環境を構築する1 - Qiita]]
==== 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 になる
* 例 (デフォルト): \\ ''http://example.com/doku.php'' → ''http://example.com/doku.php?id=sidebar''
* 例 (URL にスラッシュを使う設定にした場合): \\ ''http://example.com/doku.php'' → ''http://example.com/doku.php/sidebar''
* 参考サイト: [[http://dokuwiki.oreda.net/page/sidebar.html | Dokuwikiにサイドバーを付ける [DokuWikiで研究生活]]]
===== テンプレート (デザイン) のインストール =====
- 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 (サイドバーにある階層ツリーを表示するプラグイン)\\ 参考サイト: [[http://blog.starbug1.com/archives/499 | 週記くらい | DokuWikiで導入したプラグイン]]
* Google Analytics Plugin (Dokuwiki に Google analytics を導入するプラグイン)\\ 参考サイト: [[http://www.seirios.org/seirios/dokuwiki/doku.php?id=serviceapp:dokuwiki:plugin:googleanalytics | Google Analytics Plugin [ほほほのほ]]]
* tag (ページをタグ付けするプラグイン)\\ 参考サイト: [[http://yakinikunotare.boo.jp/orebase2/dokuwiki/plugin#%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E3%82%BF%E3%82%B0%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B | DokuWiki/プラグイン [俺の基地]]]
* Bookmark (任意の場所にアンカーを作るプラグイン)
* Anchor というプラグインもあるが、なぜか動かないので、同じ機能をもつこのプラグインを導入した
* 公式サイト: [[https://www.dokuwiki.org/plugin:bookmark | plugin:bookmark [DokuWiki]]]
===== ロゴや favicon の変更 =====
* 使用しているテンプレート (''lib/tpl/テンプレート名/images'') 以下に favicon.ico や logo.png があるので、それを置き換える
* [[http://dokuwiki.oreda.net/template/dokuwiki.html | Dokuwiki標準テンプレート [DokuWikiで研究生活]]]
===== 連続するハイフンをダッシュにしない =====
* 連続するハイフンを ''%%'' で囲む
* 例: ''%%--%%''
* [[http://yakinikunotare.boo.jp/orebase2/dokuwiki/input_dashx2_to_display_dashx2 | DokuWiki/連続ハイフンを連続ハイフンとして表示する [俺の基地]]]
===== Ubuntu 16.04 に移行した際に表示されない =====
* /var/log/lighttpd/error.log あたりに ''FastCGI-stderr: PHP Fatal error: Uncaught Error: Call to undefined function utf8_decode()'' がある場合、php7 側の問題 (utf8_decode() が別パッケージに分離されたのが原因) らしい
* 参考サイト: [[http://stackoverflow.com/questions/35701730/utf8-endecode-removed-from-php7 | php - utf8_(en|de)code removed from php7? - Stack Overflow]]
* 解決方法\\ $ sudo apt-get install php7.0-xml
===== マニュアル =====
* [[https://www.dokuwiki.org/start?id=ja:dokuwiki]]
* [[https://www.dokuwiki.org/ja:install|インストールマニュアル]]
* [[https://www.dokuwiki.org/ja:syntax|記法]]
* [[https://www.dokuwiki.org/install:permissions | install:permissions [DokuWiki]]] パーミッション
* [[https://havelog.ayumusato.com/computer/software/e151-dokuwiki-install.html | DokuWikiの設置と設定、Markdownを愛す。 ::ハブろぐ]] 設定
{{tag>アプリケーション}}