PolyMoNote
Wiki Like SYSTEM 「PolyMoNote」の公式サイト
ガイド/インストール
| 目次 |
|---|
動作環境
PolyMoNoteはPHPで書かれています。
日本語マルチバイト対応(mbstring)のPHP5がインストールされているApacheサーバであれば動作するはずです。
データベースは利用しません。
なくても動作はしますが、一部の機能でGDグラフィックライブラリを利用しています。
注意点
PHPのバージョンについて
開発を始めた当初はPHP4環境だったこともあり、現在のバージョンでもPHP5に依存した処理や命令はあまり使っておらず、PHP5より追加された命令を使用する際も、その命令がない環境の場合の代替の処理をおこなっていますが、PHP4の開発・サポートの終了がPHP開発陣からアナウンスされていること、PHPが使える有料レンタルサーバでもかなりのサービスがPHP5に移行していることなどから、PHP4での動作はサポート対象外とさせていただきます。
PHP4環境による不具合が生じた場合には、対応は行いませんのでご了承ください。
広告が挿入されるレンタルサーバについて
主にPHPが利用可能な無料レンタルサーバには、広告が表示されるものがあります。
そういったレンタルサーバでPolyMoNoteを利用する場合は、サイトの表示内容に広告用のHTMLタグが自動挿入されることにより、一部の機能が正しく実行されない可能性があります。
たとえば、サービスによっては広告の挿入を行うファイルを拡張子で判断するものがあるため、"PHP=(イコール)HTMLを表示するファイル"として扱われ、フィード(RSS)の表示やDOWNLOADコマンドによる添付ファイルのダウンロード時に、広告タグが自動挿入されて不具合が生じる可能性が考えられます。
設定ファイルの保存について
PolyMoNoteのPHPファイルの文字コードは"UTF-8"です。
そして、Windowsに標準で付属している"メモ帳"で文字コード"UTF-8"のテキストを保存すると不具合が生じる場合があります。
なので、設定ファイルの編集を行う際は、なるべくフリーウェアやシェアウェアのUTF-8が扱えるテキストエディタやPHPのソース編集に最適化されたソフトウェアを利用するようにしてください。
導入するテキストエディタを探したい場合は、こちらのページを参考にしてください。
インストールの手順
ダウンロード
こちらのページからダウンロードして最新版を入手します。
配布ファイルは圧縮されているので解凍してください、"polymonote"フォルダ内のファイル類がサーバにアップロードするPolyMoNoteのファイル・ディレクトリ群です。
最新版のディレクトリ構成は、以下のようになっています。
├─ pn │ ├─ attach │ │ └─ default │ ├─ cache │ │ └─ default │ ├─ data │ │ └─ default │ ├─ lib │ │ └─ commands │ │ └─ config │ │ └─ plugins │ │ └─ config │ └─ templates │ ├─ icons │ ├─ system │ └─ theme
ディレクトリおよびファイルの構成について詳しくは、仕様をご覧ください。
設定ファイル"polymonote.config.php"の編集
"pn/lib"フォルダにある"polymonote.config.php"をテキストエディタで開いて、設定を自分用に書き換えます。
ログインネーム
$EDIT_USER = "ユーザーネーム";
"ユーザーネーム"の部分を任意のユーザー名に変更します、ユーザー名は必ずMD5による暗号化されたものを記入してください。
やり方がわからない場合は、とりあえず以下のように記入してください。
$EDIT_USER = md5("ユーザーネーム");
"md5"はPHPのMD5ハッシュ値を計算する命令です。
とりあえずは"md5"命令を使ってよいですが、なるべくMD5変換されたものを記入するようにしてください。
ログインパスワード
$EDIT_PASSWORD = "ログインパスワード";
"ログインパスワード"の部分を任意のユーザー名に変更します、パスワードはユーザーネームと同様、必ずMD5による暗号化されたものを記入してください。
やり方がわからない場合は、ユーザー名と同じく"md5"命令を利用してください。
プラグインによるHTML実行の有無
$HTML_CONVERSION = "on";
HTMLを直接記述して実行できる機能を持つプラグインに、HTML実行を許可するかを"on"または"off"で指定します。
<a href="http://example.com/">リンク</a>
HTML実行機能を持つプラグインの引数として上記のように記述した場合、設定が"on"だとリンクとなり、"off"だと上記のテキストの状態(実体参照)で表示されます。
PolyMoNoteはひとり用なので、ブログや日記CGIのようにHTMLを記述できてもセキュリティ上の問題はありませんが、何かしらかの事情でHTMLを実行させたくない場合は設定をオフにしてください。
DirectoryIndex
$DIRECTORY_INDEX = 1;
PolyMoNote実行スクリプト(標準では"index.php")をDirectoryIndexとして利用できる場合は"1"、できない場合は"0"を指定します。
こちらの項目の設定によって、テンプレートタグの"!!BOOK_TOP!!"の変換されるURLが変わります。
PolyMoNoteを設置したサイトのURLが"http://example.com/"だとすると、"1"に設定すると"http://example.com/"に、"0"に設定すると"http://example.com/index.php"となります。
"DirectoryIndexとして利用できる"というのは、例えばPolyMoNoteを設置したサイトのURLが"http://example.com/"だったとして、ブラウザで"http://example.com/"にアクセスしてPolyMoNoteの"index.php"を表示させることが可能なサーバの設定になっていること。
つまり、"index.html"の代わりに"index.php"が利用可能な状態のことです。
DirectoryIndexとして"index.php"が利用可能で、サイトや下位のディレクトリのトップページにPolyMoNoteを利用したい場合は、値を"1"としてください。
ご利用のサーバで"index.php"がDirectoryIndexとして利用可能かどうかは、レンタルサーバ会社のヘルプページなどでご確認ください。
旧URL形式→現在のURL形式にページをリダイレクト
$PAGELINK_REDIRECT = 0;
現在、設定されているURL形式とは別のURL形式へのアクセスがあった場合に、現在のURL形式のページへリダイレクトさせるかを設定します。
リダイレクトしない場合は"0"、リダイレクトさせる場合は"1"を指定します。
例えば、ページのURL形式を変更した場合に、以前のURL形式が"1"で現在のURL形式が"3"だとします。
// 旧URL http://example.com/index.php/SAMPLE // 新URL http://example.com/page/SAMPLE
リダイレクトの設定を有効にすると、旧URLにアクセスがあった場合はリダイレクトして新URLにアクセスが誘導されます。
ただし、URL形式"0"(動的URL)へのアクセスや現在のURL形式が"0"の場合は、設定を有効にしてもリダイレクトされません。
URLの形式やページのURLについて詳しくは、本ページの"ページのURL"の項目や仕様の該当項目もご覧ください。
サイトの入室確認認証
$CHECK_AGEVERIFICATION = 0;
サイトの入室確認認証の機能を有効にするかを設定します。
有効にしない場合は"0"、する場合は"1"または"2"にします。
有効にする場合、"1"はすべてのアクセスに対して確認を行い、"2"は特定のユーザーエージェントによるアクセスのときは確認を行わず、ページの内容を表示します。
特定のユーザーエージェントですが、デフォルトではGoogle・Yahoo!・MSN(Bing)系のユーザーエージェントが登録されています。
すべてのアクセスに認証を行うと、検索エンジンのクローラーもサイト内を巡回できないため、検索サービスにサイトがインデックスされません。
なので、通常のアクセスは確認させたいけど検索エンジンのクローラーにはサイト内を巡回してもらいたい場合は、値を"2"に設定してください。
また、除外するユーザーエージェントの定義は、"pn/lib"ディレクトリ内の"polymonote.ini.php"にて設定しています。
変更や追加をしたい場合は、該当の部分を編集してください。
入室確認認証というのは、そのサイトを閲覧しますかとたずねるページを表示し、はい(YES)と答えた場合は以後のアクセスには普通にページを表示して、いいえ(NO)の場合は、たずねるページの表示のままサイトを閲覧できないようにしたり、他のサイトに誘導(Yahoo!やGoogleへのリンク)したりする機能です。
いわゆる年齢確認ですが、そういった内容のサイト以外でも、「○○○を扱うサイトなので、そういったものが苦手な方はご遠慮ください。」といった使い方もできます。
また、トップページだけでなく、すべてのページのアクセスに対して利用できるので、検索サイトを経由して下位ページにアクセスがあった場合でも確認認証を表示させられます。
認証されたかどうかの確認には、ブラウザの"Cookie"を利用しています。
そのため、閲覧側のブラウザでCookieの機能が無効に設定されている場合は認証がされず、はいが選択されてもページの内容が表示されません。
CHECK_AGEVERIFICATIONコマンドの説明もご覧ください。
ページのURL
define("PAGELINK_FORMAT", 0, true);
ページのURLの形式を指定します。
サーバ環境やユーザーの好みに合わせて、"0"の部分を以下の中から書き換えてください。
0 : 動的URL (http://example.com/index.php?site_id=ID&page=ページ名) 1 : PATH_INFOを利用した静的URL (http://example.com/index.php/ページ名) 2 : http://example.com/?ページ名 2.5: http://example.com/index.php?ページ名 3 : RewriteEngineを利用した静的URL (http://example.com/page/ページ名)
サーバの設定で、PATH_INFOや".htaccess"を設置して"RewriteEngine"を利用することができない場合は、"0"または"2"・"2.5"の設定にしてください。
ただし、"index.php"をDirectoryIndexとして利用できない場合は、"2"は設定できません。
静的URLにしたい場合に、サーバの設定でPATH_INFOしか利用できないときは"1"を、"RewriteEngine"しか利用できないときは"3"に設定してください。
すべての設定が利用可能なサーバ環境の場合は、ユーザーのお好みで設定してください。
ページのURLについては、仕様の該当項目もご覧ください。
PHPのセーフモード
define("PN_SAFEMODE", 0, true);
上記の"0"の部分を、ご利用のサーバのPHPのセーフモードの設定に合わせて変更します。
セーフモードがオンの場合は"1"、オフの場合は"0"にします。
値が"0"の場合は、本文のデータや添付ファイルの保存のためのディレクトリをページの数だけ作成するので、セーフモードがオフでも複数のディレクトリを作成させたくない場合は"1"に設定してください。
また、サーバのPHPセーフモードがオンであっても、PHPがCGIモードで動いていれば値が"0"でも動作させられる場合があります。
PolyMoNoteの"PN_SAFEMODE"については、仕様の該当項目もご覧ください。
キャッシュの利用
define("PAGE_CACHE", 0, true);
ページの表示にキャッシュを利用するかを設定します。
通常は、ページが表示されるたびにPolyMoNote記法で書かれた内容をHTMLに変換して表示しますが、設定を有効にすると、変換された内容をファイルに記録(キャッシュ)し、ページを表示する時に、そのキャッシュを利用することで表示の処理にかかる負担を軽減し高速化します。
キャッシュを有効にする場合は"1"、無効にする場合は"0"を指定します。
ページのキャッシュについては、ドキュメントの該当項目もご覧ください。
Last-Modifiedヘッダー
define("LAST_MODIFIED", 0, true);
Last-Modifiedヘッダーを出力するかを設定します。
出力する場合は"1"、しない場合は"0"にします。
HTTPヘッダーのLast-Modifiedが出力されると、サーバによってはキャッシュ機構が働いて負荷が軽減されます。
リモートアドレスチェック
// ログイン設定
define("LOGIN_IPCHECK", 1, true);
ログイン状態をチェックする際に、リモートアドレス(IPアドレス)をチェックするかを設定します。
リモートアドレスによるチェックをオンにする場合は"1"、オフにする場合は"0"を指定します。
設定をオンにすると、ログイン状態をチェックするときに従来のログインチェックのほかに、ログインした時のユーザーのIPアドレスと一致するかもチェックします。
リモートアドレスのチェックを行うほうがセキュリティ面は向上します。
ただし、利用のネット接続環境によっては"アクセスするごとに"あるいは"短い時間"でIPアドレスが変化する場合もあり、正しいログインユーザーであったとしてもリモートアドレスが一致せずログイン状態を保持できないということになるので、そういったネット接続環境からPolyMoNoteを管理することがある場合は設定をオフにしてください。
リモートホストチェック
define("LOGIN_HOSTCHECK", "", true);
ログインメニューの表示やログイン状態をチェックするときに、リモートホスト名のチェックをするかを設定します。
アクセスしてきたリモートアドレス(IPアドレス)をリモートホスト名※1に変換して、指定された文字列がそのリモートホスト名に含まれない場合は、ログインメニューの表示やログインをできないようにします。
ログインユーザーのIPアドレスから逆引きしてドメイン名が含まれるリモートホスト名が取得できる場合は、利用しているプロバイダのドメイン名を文字列に指定することで、少なくともそのプロバイダの利用者しかログインメニューを開けなくなるのでセキュリティ面の強化になります。
チェックを有効にする場合は、""の部分に以下のように任意の文字列を記述します。
define("LOGIN_HOSTCHECK", "abcde", true);
文字列を指定しない場合は、リモートホストチェックを行いません。
リモートホスト名が取得できない場合は代わりにリモートアドレスでチェックします。
リモートアドレスの場合、固定IPアドレスでないとチェックに利用できるような文字列が含まれない可能性があるので、チェックを無効にしておいたほうがいいでしょう。
リモートホストについて詳しくは、こちらをご参照ください。
- リモートホスト - Wikipedia
- http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%9B%E3%82%B9%E3%83%88
パーミッションの設定
define("DIR_PERMISSION", 0707, true);
PolyMoNoteが作成するディレクトリのパーミッションを、上記の"0707"の部分を編集して指定します。
パーミッションの値は、レンタルサーバ側で指定されているPHPやCGIからディレクトリに書き込み権限を与える設定にしてください。
大体は、"0777"や"0707"でOKです。
define("FILE_PERMISSION", 0666, true);
PolyMoNoteが作成するファイルのパーミッションを、上記の"0666"の部分を編集して指定します。
パーミッションの値は、レンタルサーバ側で指定されているPHPやCGIからファイルを操作できる権限を与える設定にしてください。
大体は、"0666"のままでOKです。
添付ファイルの上限
define("ATTACH_FILESIZE", 1024*1024*2, true);
アップロードできる1ファイル辺りの容量の上限を"1024*1024*2"の部分を編集して指定します。
ただし、レンタルサーバ側で設定されている上限よりも上の容量にはできません。
デフォルトの設定は2MBです。
サーバにインストール
設定ファイルを編集した後、FTPクライアントなどを使ってPolyMoNoteをサーバにアップロードします。
アップロードしたPolyNoNoteのディレクトリのうち、"pn"ディレクトリ内にある以下のディレクトリはパーミッションに書き込み権限を与える設定("777"または"707")に変更します。
pn/data : 777 or 707
pn/data/default : 777 or 707
pn/data/default/plugin_data : 777 or 707("PN_SAFEMODE"の値が"1"の場合)
pn/data/default/page_cache : 777 or 707("PN_SAFEMODE"の値が"1"で、"PAGE_CACHE"の値が"1"の場合)
pn/attach : 777 or 707
pn/attach/default : 777 or 707
pn/attach/default/thumb : 777 or 707("PN_SAFEMODE"の値が"1"の場合)
pn/cache : 777 or 707
pn/cache/default : 777 or 707
さらに、"PN_SAFEMODE"の値を"1"にしている場合は、"pn/data/default"ディレクトリ内に"plugin_data"ディレクトリを、"pn/attach/default"ディレクトリ内に"thumb"ディレクトリを作成、さらに"PAGE_CACHE"の値が"1"にしている場合は、"pn/data/default"ディレクトリ内に"page_cache"ディレクトリを作成して、上記のディレクトリ同様パーミッションを書き込み権限を与える設定にしてください。
また、レンタルサーバによっては".htaccess"のパーミッションを"604"に変更する必要があります。
ただし、"PAGELINK_FORMAT"の値が"3"以外の場合は、"index.php"と同じディレクトリにある".htaccess"はアップする必要はありません。
ディレクトリも含め、パーミッションの設定についてはレンタルサーバのヘルプなどもご確認ください。
インストールが完了したら、ログインして環境設定を行ってください。