====== 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>アプリケーション}}