状況カレンダー自動作成 インストール
バージョンアップの仕方について
■ バージョンアップは最新のバーションをダウンロードして解凍後、設定ファイル calendar_set.pl を別のフォルダーに移動させます。
■ その他のファイルはフォルダーを含めて全て上書きでアップロードしてしてください。(プログラムファイル .cgi のファイル名を変更されている場合は変更して下さい)
■ スーパーバイザーのメニューから別フォルダーに移した設定ファイルを参照して「アップデート」を実行させます。
ファイル配置ディレクトリツリー図
- ファイルは全てテキストファイルです。
- (777)はパーミッション ご自分の環境に合わせて適宜変更してください。
特に777はどの環境でも問題なく使えるパーミッションですがセキュリティーレベルは一番甘い設定です。
もしご自分の環境で707などもっとセキュリティーレベルを上げても書き込み可能ならそちらに変更してください。
- ラッパープログラムが動作しているサーバーでCGIを置くディレクトリやCGIの実行ファイルのグループ(group)や第三者(other)に対して書き込み権(w)が設定されているとエラーになってしまいことがあります。
そのような場合は、CGIが置かれているフォルダのパーミッションは701(rwx----x)、 実行させるCGIファイルのパーミッションは700(rwx------)、 書き込みを行うデータファイルのパーミッションは600(rw-------)に設定するとうまく動作するようですが、使用するサーバーのCGIの設定方法をご確認ください。
- *1 必要に応じて変更してください。
/cgi-bin/ (Perlが実行できるディレクトリ)
|
|-- calendar/ (CGIプログラムが実行できるパスです)
| |-- index.html(ダミー)
| |-- jcode.pl
| |-- cgi-lib.pl
| |-- calendar_set.pl(644)
| |-- calendar_display.cgi(755)
| |-- calendar_admin.cgi(755)
| |-- calendar_edit.cgi(755) 任意の名前
| |-- form_display.cgi(755)
| |-- color.html(644、色見本表示用HTML)
| |-- taglist?.html(644、置換タグ一覧表示用HTML、6ファイル)
| |-- option_help.html(644、オプション一覧表示用HTML)
| |-- display_help.html(644、表示用ヘルプHTML)
| |-- check.html (644 rw-r--r-- サーバー環境チェック用HTML)
| |-- goigoi250.gif (644 rw-r--r-- サーバー環境チェック用画像)
| |
| | フォームメールプロ関連
| |-- formmail_admin.cgi(755)
| |-- formmail_edit.cgi(755) 任意の名前
| |-- formmail_pro.cgi(755)
| |-- formmail_hs.cgi(755) メール配信cron用
| |-- _menu_admin.html(644)
| |-- _menu_master.html(644)
| |-- _menu_std.html(644)
| |-- mimew.pl(644)
| |
| |---- calen_d/ (777、任意の名前)
| | |-- index.html(ダミー)
| | |-- .htpasswd (777、スーパーバイザーパスワードファイル、自動作成)
| | |-- .htaccess (644、アクセス制限用、自動作成)
| | |-- calendar_holiday.cgi(777、祝日設定ファイル)
| | |-- name.cgi (777 項目名称テーブルファイル)
| | |
| | |---- ID1/ (777、任意の名前) 対象ID1に対応
| | | |-- .htaccess (644、アクセス制限用、自動作成)
| | | |-- _formhtml (777、生成フォームHTML保存用ディレクトリ)
| | | | |-- _temp (777、生成フォームHTMLテンプレート保存用ディレクトリ)
| | | |-- _checkhtml (777、フォームメールプロ集計保存用ディレクトリ)
| | | |-- _backup (777、フォームメールプロバックアップ用ディレクトリ)
| | | |-- .htpasswd (777、パスワードファイル、自動作成)
| | | |-- calendar.cgi (777、データ保存ファイル、自動作成)
| | | |-- calendar_LOC (777、ロックファイル)
| | | |-- index.html(ダミー)
| | | |-- indexV.html(777、縦七曜表示用テンプレートファイル)
| | | |-- indexH.html(777、横七曜表示用テンプレートファイル)
| | | |-- indexT.html(777、タブ横表示用テンプレートファイル)
| | | |-- indexX.html(777、タブ縦表示用テンプレートファイル)
| | | |-- indexW.html(777、タブ七曜表示用テンプレートファイル)
| | | |-- indexI.html(777、携帯表示用テンプレートファイル)
| | | |
| | | | index?E.html は各英語表示のテンプレートファイル
| | | |
| | | |-- FM_calendar.cgi (777、予約フォームデータファイル、自動作成)
| | | |-- FM_calendar_dc.cgi (777、フォームメールプロ設定ファイル、自動作成)
| | | |-- FM_calendar_tmail.cgi (777、ありがとうメール設定ファイル、自動作成)
| | | |-- FM_calendar_LOC (777、フォームメールプロ・ロックファイル)
| | | |
| | | |-- _tmp (777、メール配信用ディレクトリ)
| | | | |-- _denbun (777、メール配信電文テンプレート保存用ディレクトリ)
| | | | |-- _header (777、メール配信ヘッダーテンプレート保存用ディレクトリ)
| | | | |-- _footer (777、メール配信フッターテンプレート保存用ディレクトリ)
| | | | |-- FM_calendar_LOC (777、メール配信・ロックファイル)
| | | |
| |
| |---- ID2/ (777、任意名) 対象ID2に対応
| | |
| | | 以下ID1と同一構成
|
【送信用予約フォームHTMLを任意に場所に置く場合】
/index.html/ (ドキュメントルート))
|
|-- 任意のディレクトリ/ (777、任意名)
| |-- 状況ID/(状況IDのディレクトリ名)
| | |-- ????.html(777、送信用予約フォームHTML)
| | |
データのセキュリティについて(改ざん、削除されるのを防ぐために)
あなたが状況カレンダー自動作成のデータをWebページ上から編集できるということは他の人も同様のことができるということを意味します。
その違いは操作するためのID、パスワードを知っているかいないかの違いだけです。
しかし、ちょっとハッキングの知識のある悪意の第三者にかかるとそんなバリアは意図も簡単に破ってしまうかもしれません。データファイルではなくHTMLファイルでも書き換えられる可能性は同じなのですが・・・・
そこでより安全なデータ管理をするための方策を記述しますので可能な限り対策を講じられることをお勧めします。(全てを講じたとしても完全ということではありません)
- 設定プログラムの記述でデータファイルのファイル名を任意のファイル名に変更する。
- CGIから書き込み可を必要とするファイルのパーミッションは当マニュアルでは777としています、777はどのサーバーの環境でも問題なく使えるパーミッションですがセキュリティーレベルは一番甘い設定です。
もしご自分のサーバー環境で707などもっとセキュリティーレベルを上げても書き込み可能ならそちらに変更してください。
- 編集画面を呼び出すプログラムの名称を判読されにくいファイル名に変更する。
- 編集管理者のID、パスワードは誰にでも推察できる簡単なものにしない。
- 編集管理者のID、パスワードは定期的に変更する。
- データファイルを保存するディレクトリをウェブ上から呼び出せないディレクトリの下に設定する。
- CGIサーバーを別にするなどしてデータファイルを保存するサーバーをウェブサーバーとは別にする。
プロバイダー、サーバー管理者に確認
- CGI プログラムファイルをアップロードするパス(例:/home/httpd/html/cgi-bin/)
- CGI プログラムの呼び出し方(例:/cgi-bin/xxxx.cgi)
- CGIを置くディレクトリ以下の画像ファイル、HTMLファイルがWeb上(ブラウザで)参照、表示できるか?
- ダウンロードする前に以下の項目についてプロバイダー、サーバー管理者に確認します。
- Perl の存在するパス(例:/usr/bin/perl)
- ホームページのトップページ index.html が存在するディレクトリまでのパス(例:/home/httpd/html)
- ホームページの呼び出し方 URL(例:http://www.xxxx.co.jp/)
- ファイルやディレクトリに設定するパーミッション。
- 確認ができたら状況カレンダー自動作成の作業用ディレクトリをどのディレクトリの下に作成するか、また対象は幾つあるか、その対象を管理するためのID(登録名)をどのように付けるかを検討します。
CGIプログラムをダウンロードします
- 専用のダウンロードページを呼び出します。
- ダウンロードしたファイルは LZH 形式で圧縮されたファイルです解凍ソフトで解凍して下さい。
Macでダウンロードされた方は石崎 一明さんが作られたフリーソフト MacLHA 等を入手して解凍して下さい。
解凍されたテキストファイルの改行コードは Unix(LF)になっています。
/calendar
|
|-- readme.html このファイルです
|-- index.html (ディレクトリ一覧表示防止用ダミーHTML)
|-- color.html (色見本表示用HTML)
|-- option_help.html (オプション一覧表示用HTML)
|-- display_help.html (表示用ヘルプHTML)
|-- taglist?.html (表示用ヘルプHTML、6ファイル)
|
|-- check.html (644 rw-r--r--)
|-- goigoi250.gif (644 rw-r--r--)
|
|-- calendar_set.pl
|-- calendar_admin.cgi
|-- calendar_edit.cgi
|-- calendar_display.cgi
|-- form_display.cgi
|
| フォームメールプロ関連
|-- formmail_admin.cgi
|-- formmail_edit.cgi
|-- formmail_pro.cgi
|-- formmail_hs.cgi
|-- _menu_admin.html
|-- _menu_master.html
|-- _menu_std.html
|-- mimew.pl
|
|-- jcode.pl
|-- cgi-lib.pl
|
|-- _help/ ヘルプファイルが存在するフォルダー
|
|-- _temp/ テンプレートファイルが存在するフォルダー
|
- calendar_set.pl はプログラムを動かすための設定プログラムです。
Unix(LF)の改行コードを認識するテキストエディターで開いて注釈に従って設定項目を指定します。
- 最低限以下の項目を設定します。
# メール送信エンジンの設定 sendmailのパス&ファイル名(プロバイダーまたは管理者に尋ねてください)
$sendmail='/usr/sbin/sendmail -t -oi';
- calendar_admin.cgi、calendar_edit.cgi、calendar_display.cgi、form_display.cgi は状況カレンダー自動作成の CGI プログラムです。
いずれのファイルも1行目の perl のパス指定を設定し直す必要があります。最初は #!/usr/bin/perl となっています。もしインストールするサーバーの perl のパスが同じであれば変更する必要はありません。
尚、calendar_edit.cgi はネット上で直接指定して実行するプログラムです。他人に実行されないようファイル名を変更して登録されることをお勧めします。
ファイル名を変更した場合は、設定ファイル calendar_set.pl にプログラムのファイル名を指定する箇所がありますので変更してください。
- ディレクトリ calendar 以下を CGIプログラムが実行できるディレクトリにまとめてアップロードします。
- calendar_edit.cgi、calendar_admin.cgi、calendar_display.cgi はフォームメールプロのプログラムです。
- ディレクトリ calendar 以下を CGIプログラムが実行できるディレクトリにまとめてアップロードします。
(ディレクトリ calendar も含めてアップロードしてください)
- アップロードはテキストファイルは ASCII モードで画像ファイルは BINARY モードでアップロードしてください。
- テキストファイルのアップロード後の改行コードは Unix(LF)でアップロードしてください。
( Ftp ソフトによっては自動的に変換してアップロードしてくれますが注意が必要です)
- ディレクトリ calendar のパーミッションは書込権限のある 777 に設定してください。
ファイルのパーミッションが 644 とあるファイルは読み込み権限があればいいので特に変更する必要はないはずです。
- ラッパープログラムが動作しているサーバーでCGIを置くディレクトリやCGIの実行ファイルのグループ(group)や第三者(other)に対して書き込み権(w)が設定されているとエラーになってしまいことがあります。
そのような場合は、CGIが置かれているフォルダのパーミッションは701(rwx----x)、 実行させるCGIファイルのパーミッションは700(rwx------)、 書き込みを行うデータファイルのパーミッションは600(rw-------)に設定するとうまく動作するようですが、使用するサーバーのCGIの設定方法をご確認ください。
- ディレクトリ _help の下にある複数のファイルは状況カレンダー自動作成のマニュアルファイルです。
ファイルのパーミッションは読み込み権限があればいいので特に変更する必要はないはずです。
また、_help の下にある index.html をブラウザで開くとオフラインのマニュアルとして使用できます。
CGIが動作するか調べましょう
- ブラウザのアドレス入力欄にメニュー画面を呼び出すプログラム名をフルパスで入力し実行させます。
(例:http://www.xxxx.co.jp/cgi-bin/calendar/calendar_edit.cgi あなたがアップロードした場所と calendar_edit.cgi の名称を変更した場合は違う指定になります)
このURLは今後、管理者画面を呼び出すのに必要ですので「お気に入り」に登録しておきます。
- 実行の結果以下の画面が表示されればOKです。

- CGIが作成する作業用ディレクトリに設定するパーミッションを指定します。CGIから書込み可の指定をします。
- CGIを置くディレクトリ以下の画像ファイル、HTMLファイルがWeb上(ブラウザで)参照、表示できるかどうかによって進み先を選択します。
もし、Web上(ブラウザで)参照、表示できるかどうかわからなければ「チェック」をクリックしてチェックすることができます。
「チェック」をクリックして以下の画面が表示されれば「Web上(ブラウザで)参照、表示できる」環境です。「閉じる」ボタンをクリックして戻り、「Web上(ブラウザで)参照、表示できる」に進んで下さい。

「チェック」をクリックして「Internal server error」などが表示されうまく表示できない場合は、「Web上(ブラウザで)参照、表示できない」環境です。「閉じる」ボタンをクリックして戻り、「Web上(ブラウザで)参照、表示できない」に進んで下さい。
- 「Web上(ブラウザで)参照、表示できない」に進む場合は、送信フォームを置くディレクトリをドキュメントルート以下に作成しますので、ディレクトリ名を指定します。
作成するディレクトリの深さを複数段作成する場合は aaaa/bbbb のように / で区切って指定します。
- 「次へ」をクリックし以下の画面が表示されればOKです。

- エラーが表示される場合はもう一度手順に間違いがないか、パーミッションの設定は正しいか確認してください。
最も考えられる原因はディレクトリ、ファイルのパーミッションです。
- パーミッションはプロバイダー、サーバーによっては上記と異なる場合がありますので環境に合わせて変更してください。
特に777はどの環境でも問題なく使えるパーミッションですがセキュリティーレベルは一番甘い設定です。
もしご自分の環境で707などもっとセキュリティーレベルを上げても書き込み可能ならそちらに変更してください。
さらに設定を続けます
- 作業用ディレクトリを作成します。書込権限を与えるパーミッションを指定します。
- スーパーバイザーのID、パスワードを指定します。
- 「実行」ボタンをクリックします。
- ディレクトリ作成完了、スーパーバイザー登録完了が表示されます。

- 「管理者画面へ」ボタンをクリックします。

- 次に管理する対象を登録します。
- 今登録したスーパーバイザーのID、パスワードを入力します。
- 登録する対象と、その対象を管理するマスター管理者のパスワードを入力します。
- 書込権限を与えるパーミッションを指定します。
- 「追加」ボタンをクリックします。以下の画面が表示されます。


- 初期設定に進みます。