トップ > フリーCGI配布 > 更新・日記 > 2ヶ月カレンダー

スクリプト概要

直感性重視カレンダー式更新・日記系CGIです。常にカレンダー基準に表示することで、何を見ているのか?どこを見ているのか?どこに記事があるのか?を分かりやすくしてみました。2ヶ月分の記事のリスト表示と、日付け指定表示に対応。数年分の記事を保存できます。

なぜ2ヶ月分なのか?
月初めに、前月分の記事も同時に表示したいと思ったことはありませんか? 例えば、8月1日になったとき、7月分の記事も一緒に表示できたら便利です。 その為、2ヶ月表示にしてみました。

月ごとに分割してデータ保存するので、比較的大量の記事を保存できます。数年分の記事を保存することもできます。また、『バックアップ機能』も使えるので、もしもの時にも安心です。

デザインは、外部スタイルシートで変更できます。
見本

2ヶ月カレンダーの「見本(新しいウィンドウで開きます)
機能一覧

カレンダー表示と2ヶ月分の記事表示
カレンダー表示と指定日の記事表示
ページへの直接移動。
記事の追加、修正、削除
記事ごとに自動改行の有効/無効設定
記事ごとにHTMLタグの有効/無効設定
オートリンク対応(無効も可)
外部スタイルシートでデザイン変更
簡易版管理ページ
簡易版バックアップ/復旧
スクリプト情報

スクリプト名
「2ヶ月カレンダー」
バージョン
「1.01」
Perl/CGI以外に必要なサーバ環境
「特に無し」


ダウンロードはこちらから
次のファイルのどちらかをダウンロード・解凍します。


2cal_1_01.zip(Windowsを使用している方はこちら)

2cal_1_01.tgz (UNIX,MacOSXを使用している方はこちら)


【→ヘルプ表示:ダウンロードと解凍】
解凍すると次ファイル構成になっているので確認してください。

2cal/  …………………………… (755) アプリケーションディレクトリ
  │
  ├ ini.cgi  …………………… (644) 初期設定ファイル
  ├ index.cgi  ………………… (755) 表示用実行ファイル
  ├ admin.cgi  ………………… (755) 管理用実行ファイル
  │
  ├ data/  ……………………… (777) データ記録ディレクトリ
  │
  ├ lock/  ……………………… (777) ファイルロックディレクトリ
  │  └ flock.cgi  …………… (666) ロックファイル
  │  
  ├ lib_docs/  ………………… (755) 外部ファイルディレクトリ
  │  ├ style_index.css  …… (644) 表示ページのスタイルシート
  │  └ style_admin.css  …… (644) 管理ページのスタイルシート
  │
  └ lib/   ……………………… (755) ライブラリディレクトリ
      └ 各ファイル …………… (644) 以下ファイルは全て644
「/」で終わるものはディレクトリです。
()内の数字は、比較的多くのサーバで通用するパーミッション設定値です。
※パーミッション設定値はサーバごとに若干異なります。

また、印の外部スタイルシートを書き換えることでデザイン変更できます。


設置前の補足
■cgi-binなど特殊な制限付きサーバへ設置する方へ
最初に、「lib_docs/」ディレクトリのみ、「http://〜〜」でアクセスできる場所へ設置する必要があります。また、「ini.cgi」の「$LIB_DOCS_ADDR = './lib_docs/';」という設定項目を、「lib_docs/」ディレクトリの設置アドレスに合わせて、「http://〜〜/lib_docs/」と変更することで対応できます。
※一般的なサーバではこの作業は必要ありません。


設置方法
上のファイル構成図を参考にご覧ください。
ステップ1)初期設定ファイルの編集



印のファイル
ini.cgi」をテキストエディタで開き、「基本設定」と書いてある次の項目を設定変更します。

・管理パスワード
・表示ページタイトル
・記事の最大保存件数
・ファイルロック方法
・ホームページアドレス
は、設定必須です。次を参考に設定してください。

$ADMIN_PASSW(管理パスワード)
例: 1234 から hogehoge へ変更する場合には、
$ADMIN_PASSW = '1234'; を
$ADMIN_PASSW = 'hogehoge'; と書き換えます。

$TITLE(表示ページタイトル)
例: ifノートのタイトル から 新着情報へ変更する場合には、
$TITLE = 'ifノートのタイトル'; を
$TITLE = '新着情報'; と書き換えます。

$MAX_MONTH(最大何ヶ月分の記事を保存するか?)
例: 12ヶ月 から 24ヶ月 へ変更する場合には、
$MAX_MONTH = 12; を
$MAX_MONTH = 24; と書き換えます。

$LOCK_METHOD(ファイルロック方法)
通常変更不要ですが、flock関数利用が禁止されているサーバでのみ、次のように書き換えます。
$LOCK_METHOD = 1; を
$LOCK_METHOD = 2; と書き換えます。
(flock関数利用かどうかは、サーバ管理者へ問い合わせてください。)

$HOME(ホームページアドレス)
例: http://ホームぺ−ジアドレスを設定してください。 から http://yourpage.com/ へ変更する場合には、
$ADMIN_PASSW = 'http://ホームぺ−ジアドレスを設定してください。'; を
$ADMIN_PASSW = 'http://yourpage.com/'; と書き換えます。


【→ヘルプ表示:テキストエディタについて】

【→ヘルプ表示:ファイルロック方法について】
ステップ2)Perlのパスを確認



印のファイル
index.cgi」、「admin.cgi」 をテキストエディタで開き、サーバで用意されているPerlのパスを確認します。Perlのパスはファイルの1行目に書かれています。

初期の状態では、
#!/usr/local/bin/perl
と設定されていますが、Perlのパスが異なる場合には変更してください。

(参考までに、「#!/usr/bin/perl」も良く使われるPerlのパスです。「#!/usr/local/bin/perl」で動作しなかったら変更してみてください。不明な場合にはサーバ管理者へ問い合わせてください。)
ステップ3)サーバへ転送



FTPクライアント使い、印の「2cal/」ディレクトリごとサーバへ転送してください。

このとき、「自動判別」「文字コード無変換」で転送してください。


【→ヘルプ表示:自動判別、文字コード無変換か確認しよう】 Check it!

【→ヘルプ表示:初めてのFTPクライアント操作】
ステップ4)パーミッション変更



続いて、FTPクライアントを使い、今転送したファイルやディレクトリのパーミッション変更します。次のどちらかの方法でパーミッション変更してください。

※パーミッション設定値はサーバごとに若干異なります。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
→方法A:不明な場合、よく分からない場合は・・・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ファイル構成図を参考に、
印と、印のファイルやディレクトリのパーミッションを変更してください。
通常、星印のないファイルやディレクトリは、パーミッション変更不要です。

(★印のファイルのパーミッションを「755」へ変更できないサーバの方は、
方法Bを試してださい。)


〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
→方法B:suExec等で、オーナー権限でCGI利用できるサーバの場合は・・・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

こちらのタイプのサーバでは、
印のファイルのみ、パーミッションを「 700 」へ変更してください。
方法Bでは、それ以外のファイルやディレクトリは、パーミッション変更不要です。
(近年のレンタルサーバではこちらが主流です。)
ステップ5)ウェブブラウザで動作確認



今設置したアドレスへウェブブラウザでアクセスし、動作確認します。

http://設置アドレス/index.cgi
へアクセスして動作確認してください。

また、管理ページ
http://設置アドレス/admin.cgi
で、記事の追加ができます。



以上で設置完了です。
設置作業お疲れ様でした。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
→正しくに動作しない場合には?
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

以下の点をもう一度確認してください。
どこか見落としてしまっていることが原因で動作しない場合も多いようです。

印のファイルに構文エラーは無いか
・Perlのパスは、正しいか
・ファイル転送方法は、正しかったか
・パーミッション変更は正しかったか

それでも動作しない場合には、よくある質問をお読みください。




■更新履歴
2006/01 v.1.01
設置先サーバの種類よって、いくつかの機能が利用できない問題を修正。
(v.1.00をお使いの方は、「admin.cgi」「index.cgi」を入れ替えることでこの問題を修正できます。)
2005/09 v.1.00
配布開始。


■デザイン変更するには?
lib_docs/style_index.css」のスタイルシートを変更することで、デザイン変更できます。
タイトル画像を表示する場合には、「ini.cgi」の「$TITLE_IMG」で画像指定できます。


■謝辞