###################################
#                                 #
#   mdiary ver.3.1 (C)CGI Pal     #
#   設置の仕方とマニュアル        #
#                                 #
###################################

【ver.3.1】
requireのパスを修正
改行コードをLFに変更

【ver.3】
改ページのリンクを変更しました。
スマートフォン用のブログをWEBレスポンシブに変更
ファイル数が少なくなり、設置もより簡単になりました。

【ver.2】
スマートフォンに対応しました。
タイトルタグに記事タイトルを表示するようにしました。
skin1.htmlとskin2.htmlをskin_copied1.html、skin_copied2.htmlに変更

========================================================================================
◇ ファイルの説明
========================================================================================

mdiary/
     |--index.html(トップページ)
     |--index.rdf(RSSファイル)
     |--key.js(JavaScriptファイル)
     |--mdiary.css(スタイルシート)
     |--mdiary.js(JavaScriptファイル)
     |--skin.html(スキンファイル)
     |--var.js(JavaScriptファイル)
     |
     +--archive/ (月別のHTML生成ディレクトリ)
     | 
     +--cgi/ (CGIファイルのディレクトリ)
     |     |-- admin.cgi(管理用CGI)
     |     |-- all.js(管理用のJavaScript)
     |     |-- capt.cgi(スパム対策用のCGI)
     |     |-- counter.cgi(カウンター用のCGI)
     |     |-- read.cgi(動的にページを生成するCGI)
     |     |-- res.cgi(レスの投稿用CGI)
     |     |-- search.cgi(検索用CGI)
     |     |-- tb.cgi(トラックバック用CGI)
     |     |
     |     +-- lib/ (機能ファイルのディレクトリ)
     |     |     |-- .htaccess(不正アクセス防止用ファイル)
     |     |     |-- capt.pl(スパム対策用ファイル)
     |     |     |-- capt_simple.pl(スパム対策用ファイル)
     |     |     |-- conf2.cgi(設定用ファイル)
     |     |     |-- conf.pl(設定用ファイル)
     |     |     |-- cgi_lib.pl(アップロード用ファイル)
     |     |     |-- functions.pl(機能用ファイル)
     |     |     |-- makecgi.pl(動的ページ生成用ファイル)
     |     |     |-- makepage.pl(静的ページ生成用ファイル)
     |     |     |-- passwd.cgi(管理パスワードを記録するファイル)
     |     |     |-- ping.pl(トラックバック送信ファイル)
     |     |     |-- res.pl(レス投稿用ファイル)
     |     |     |-- send.pl(投稿時のメール送信ファイル)
     |     |     |-- set.pl(環境設定用ファイル)
     |     |     |
     |     |     +-- admin/(管理CGI用ディレクトリ)
     |     |            |-- cate.pl(カテゴリ用ファイル)
     |     |            |-- com.pl(コメント用ファイル)
     |     |            |-- comtemp.pl(仮登録のコメント用ファイル)
     |     |            |-- entry.pl(記事用ファイル)
     |     |            |-- img.pl(画像アップロード用ファイル)
     |     |            |-- rebulid.pl(再構築用ファイル)
     |     |            |-- tb.pl(トラックバック用ファイル)
     |     |            +-- temp.pl(仮登録の記事用ファイル)
     |     |
     |     +-- log/ (ログファイルのディレクトリ)
     |           |-- .htaccess(不正アクセス防止用ファイル)
     |           |-- ar.log(月別一覧用ファイル)
     |           |-- cal.log(カレンダーを記録するファイル)
     |           |-- category.log(カテゴリーを記録するファイル)
     |           |-- com.log(コメント一覧用ファイル)
     |           |-- comtmp.log(コメント一時記録用ファイル)
     |           |-- count.log(カウント記録ファイル)
     |           |-- counter.log(カウンター用ファイル)
     |           |-- entry.log(記事一覧用ファイル)
     |           |-- img.log(画像記録用ファイル)
     |           |-- lock(同時書き込み防止用ファイル)
     |           |-- lock_c(カウンター用同時書き込み防止用ファイル)
     |           |-- month.log(月の記録用ファイル)
     |           |-- mtime.log(更新時間記録用ファイル)
     |           |-- now.log(現在の月記録用ファイル)
     |           |-- skin.log(タグ記録用ファイル)
     |           +-- tmp.log(一時記録用ディレクトリ)
     |
     +--data/ (データを保存するディレクトリ)
     |     |-- .htaccess(不正アクセス防止用ファイル)
     |     |
     |     |-- com/ (コメントのデータ用ディレクトリ)
     |     |
     |     |-- entry/ (記事のデータ用ディレクトリ)
     |     |
     |     +-- tb/ (トラックバックのデータ用ディレクトリ)
     |  
     +--entry/ (記事のHTML生成ディレクトリ) 
     |
     +--img/ (画像用ディレクトリ) 
     |
     +--skin/ (スキンを格納するディレクトリ)
     |     |-- skin_copied1.html(月別用などにskin.htmlをコピーするファイル)
     |     |
     |     +-- dummy/
     |            |
     |            +-- dummy/
     |                   |
     |                   +--skin_copied2.html(記事用にskin.htmlをコピーするファイル)
     |
     +--tmp/ (画像を一時保存アップするディレクトリ) 
     |
     +--upfile/ (画像をアップするディレクトリ) 

========================================================================================
◇ 設置の仕方
========================================================================================

※ダウンロードしたものを解凍してmdiaryフォルダの中身を
そのままサーバーにFTPソフトでアップロードしてパーミッションを設定すれば動くように作っていますので、
まずはそのまま設置して動くのを確認してから細かい設定を変更していくといいです。

■ CGIをどこに置いてもいいサーバーの場合

１.ダウンロードしたファイルを解凍してください。mdiaryフォルダができます。

２.mdiaryフォルダをそのままサーバーにFTPソフトでアップロードして、
   cgiフォルダの中の、
   admin.cgi
   capt.cgi
   counter.cgi
   read.cgi
   res.cgi
   search.cgi
   tb.cgi
   これらのパーミッションを700にしてみてください。

３.ブラウザでhttp://xxx.xxx.xxx/mdiary/cgi/admin.cgiなどと入力して(xxx.xxx.xxxの部分はあなたのサイトのURL)、
   admin.cgiにアクセスします。
   パスワード入力画面がでれば、設置完了です。

４.設置ができたら、パスワード入力画面でadminと入力すると管理画面に入れますので、記事の投稿フォームがでますので、
   記事の入力フォームに記事を入力して「投稿する」を押すと投稿されます。
   (「カテゴリ」は必要な場合に選択してください。選択しなくても投稿可能です。「タイトル」も入力しなくても投稿可能です。)
   投稿したあと、ブラウザで
   http://xxx.xxx.xxx/mdiary/またはhttp://xxx.xxx.xxx/mdiary/index.htmlにアクセスして、
   投稿した記事が表示されていたら設置完了です。

５.mdiaryはブログのURLを設定しなくても動くように作っていますが、
   画像やファイルのリンクが<a href="http://xxx.xxx.xxx/mdiary">のようにhttpからになって構わない人は、
  「環境設定」の「ブログのURL」に
   http://xxx.xxx.xxx/mdiary/のようにブログのURLを入力すると表示やリンクが確実なのでお勧めです。
   さらにRSSを生成する人は、「ブログのURL(RSS用)」にも同じようにhttp://xxx.xxx.xxx/mdiary/と入力してください。

========================================================================================
◇ 画像のアップロードについて
========================================================================================

「記事の投稿」画面で
右側の「画像」の「参照」をクリックして画像を選択して
「アップロード」を押すと画像がアップロードされて、
下のほうに画像が表示されて、
記事の入力フォームの中に画像のタグが表示されます。
そのまま記事と一緒に「投稿する」を押すと投稿されます。
「回込み」「説明」「横サイズ」については入力する必要はありませんが、
入力するとそれが適用されます。
説明はalt="xxx"の部分に表示されます。
画像を削除するときは、その画像の「削除」をクリックすると、
画像と記事中のタグが消えます。

========================================================================================
◇ 設置サーバーについて
========================================================================================

CGIがどこでも動くサーバーだと設置が楽です。(重要)
(cgi-binの中でしかCGIが動かないサーバーは止めた方がいいです)
CGIが所有者権限で動くサーバーが好ましいです。(重要)
.htacessというファイルが設置できると便利です。(重要)

mdiaryはCGIが所有者権限で動くサーバーかどうか自動で判別し、
所有者権限で動くのであれば
ページや画像のファイルを
entry/2010/08/1.html
entry/2010/08/2.html
のように日付でツリー型にフォルダを分けてファイルを格納します。
所有者権限で動かない場合は
entry/2010081.html
entry/2010082.html
のように1つのフォルダにまとめるしかないので
サーバーに負担がかかります。
ですので所有者権限で動くサーバーが好ましいです。

========================================================================================
◇ カスタマイズ
========================================================================================

デザインを変更するときは、skin.htmlを変更してください。
<!--navi-->のようなコメントタグを変更しなければ
まず問題なく動作すると思います。
mdiaryはskin.htmlの更新日時を調べて、更新があれば(初回設置時を含む)、
月別や記事のページ用にskin.htmlを
skin/skin_copied1.html
skin/dummy/dummy/skin_copied2.htmlにコピーします。
スキンをコピーせずに、
自前のスキンを使いたいときは管理画面の
「スキンをコピーする」を「しない」にして
skin/skin_copied1.htmlとskin/dummy/dummy/skin_copied2.htmlを作ってアップしてください。

スマートフォンのデザインは
skinフォルダ内の
smart_archive.html
smart_cate.html
smart_entry.html
smart_thanks.html
smart_top.html
を変更します。

携帯のデザインは
skinフォルダ内の
keitai_archive.html
keitai_cate.html
keitai_com.html
keitai_entry.html
keitai_tb.html
keitai_thanks.html
keitai_top.html

を変更します。

========================================================================================
◇ スパムについて
========================================================================================

レスの投稿については、スパムを投稿される恐れがあるので、
その対策として投稿のときに文字列を入力してもらうようにしました。
管理画面の
「スパム対策」を「する」にするとフォールの部分に文字列がでますので、
それでスパム制限を行います。
ただ、せっかく記事のページをHTMLにしているので、
文字列を作るのにCGIを起動したくないところです
「2」にすると
CGIを使わず、JavaScriptで文字列を表示するのでサーバーに負荷はかかりませんが、
key.jsに暗号化のキーが丸見えなので
スパム対策としては簡便なもので、完全なものではないです。
「3」にすると
CGIで文字列を表示しますが1度に2度CGIを起動して
しかもGDを使うのでサーバーに負荷がかかります。

いずれにせよ簡易的なものなので
完璧なスパム対策ではないです。

レス機能を削除すればスパム対策も必要はないわけですが、
そのときは
「レス機能を使うか」を「使わない」
にして
res.cgiは削除するかパーミッションを644にしてください。


========================================================================================
◇ 再構築について
========================================================================================

動的にページを表示してはいないので、
スキンを変更したときや、
あるいは設定を変更したときは、すべてのページにすぐにはその変更が適用されません。
全部のページに変更を反映するときは、
管理画面の「その他」の「再構築」を選択してください。
サーバーに負荷がかからないように、少しずつページを作成します。

========================================================================================
◇ アイコンについて
========================================================================================

顔アイコンを作っていれていますが気に入っていないので
お気に入りのものに変えてください。
imgフォルダに画像を入れて管理画面の「環境設定」の「アイコン」で登録するだけです。

========================================================================================
◇ トラックバックについて
========================================================================================

初期状態では機能をオフにしています。
トラックバック機能を使用するときは
「環境設定」の「トラックバック機能を使う」を「使う」にしてください。

========================================================================================
◇ セキュリティについて
========================================================================================

レスのデータには投稿者のホスト名が記録されますので、
データがブラウザでみれないようにしないといけません。
data/ディレクトリにはファイルを見れないように.htaccessを入れてあるので、
.htaccessが有効なサーバーでは初期状態で設置したそのままでOKです。
.htaccessが有効でないサーバーの場合は、
以下の方法でデータが見れないようにしてください。

[方法1]
ホスト名はレスのときの通知メールに記載してあるので、
あえてログには記録しないようにする。

cgi/lib/res.plの
92行と202行の
$coded=&encode($FORM{'pass'});
を削除します。


[方法2]
dataディレクトリの名前をわかりにくいものに変更します。
(例)dataディレクトリをdata_Rsow8rtvなどと変更して
cgi/lib/conf2.cgiの
$logdir='../data/entry/';
$comdir='../data/com/';
$tbdir='../data/tb/';
$catedir='../data/category/';
を
$logdir='../data_Rsow8rtv/entry/';
$comdir='../data_Rsow8rtv/com/';
$tbdir='../data_Rsow8rtv/tb/';
$catedir='../data_Rsow8rtv/category/';
などと変更


[方法3]
dataディレクトリをドキュメントルート(public_html等)の外に置く

+--public_html/
|              |--index.html(サイトのトップページ)
|
+-- data/
       |-- com/
       |
       |-- entry/
       |
       +-- tb/
のように設置して、
cgi/lib/conf2.cgiは
$logdir='../../data/entry/';
$comdir='../../data/com/';
$tbdir='../../data/tb/';
$catedir='../../data/category/';
と変更



========================================================================================
◇ 著作権表示について
========================================================================================

skin.htmlの
<!--http://www.cgipal.com-->
ここのところが著作権表示になりますので、
この部分は削除してはいけません。
