GOiGOi Project (ゴイゴイ・プロジェクト) -> 状況カレンダー自動作成 index -> インストール
 

インストール

プロバイダー、サーバー管理者に確認

  • CGIサーバーが suEXECサーバ か CGIラッパーサーバ か、あるいはその他の一般サーバーかを確認します。
  • CGI プログラムファイルをアップロードするパス(例:/home/httpd/html/cgi-bin/)
  • CGI プログラムの呼び出し方(例:/cgi-bin/xxxx.cgi)
  • CGI関係のファイルやディレクトリに設定するパーミッション
  • CGIを置くディレクトリ以下の画像ファイル、HTMLファイルがWeb上(ブラウザで)参照、表示できるか?
  • CGIを設置する方法については各プロバイダーが説明のホームページを用意していると思いますのでそちらを参照下さい。
  • ホームページのトップページindex.htmlが存在するディレクトリまでのパス(例:/home/httpd/html)
  • ホームページの呼び出し方URL(例:http://www.xxxx.co.jp/)
  • 確認ができたら状況カレンダー自動作成の作業用ディレクトリをどのディレクトリの下に作成するか、また対象は幾つあるか、その対象を管理するためのID(登録名)をどのように付けるかを検討します。

データのセキュリティについて(流出、改ざん、削除されるのを防ぐために)

    あなたが状況カレンダー自動作成のデータをWebページ上から編集できるということは他の人も同様のことができるということを意味します。
    その違いは操作するためのID、パスワードを知っているかいないかの違いだけです。
    しかし、ちょっとハッキングの知識のある悪意の第三者にかかるとそんなバリアは意図も簡単に破ってしまうかもしれません。データファイルではなくHTMLファイルでも書き換えられる可能性は同じなのですが・・・・
    そこでより安全なデータ管理をするための方策を記述しますので可能な限り対策を講じられることをお勧めします。(全てを講じたとしても完全ということではありません)

  • 設定プログラムの記述でデータファイルのファイル名を任意のファイル名に変更する。
  • CGIから書き込み可を必要とするファイルのパーミッションは当マニュアルでは777としています、777はどのサーバーの環境でも問題なく使えるパーミッションですがセキュリティーレベルは一番甘い設定です。
    もしご自分のサーバー環境で707などもっとセキュリティーレベルを上げても書き込み可能ならそちらに変更してください。
  • 編集画面を呼び出すプログラムの名称を判読されにくいファイル名に変更する。
  • 編集管理者のID、パスワードは誰にでも推察できる簡単なものにしない。
  • 編集管理者の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--)
        |
        |-- setup.cgi
        |-- calendar_set.pl
        |-- calendar_admin.cgi
        |-- calendar_edit.cgi
        |-- calendar_display.cgi
        |-- calendar_fmdisplay.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
        |-- Selection.js
        |
        |-- Unicode_m/ (644  rw-r--r--) EUC版
        |   |
        |   |-- Japanese.pm (644  rw-r--r--) 日本語コード変換用モジュール
        |   | Japanese.pm はファイル後半にバイナリを含むため,FTP の ASCII モードで転送するとファイルが壊れます
        |
        |-- _help/ ヘルプファイルが存在するフォルダー
        |
        |-- _temp/ テンプレートファイルが存在するフォルダー
        |
    

  • 最低限以下の設定、変更を行ってください。
    内容の変更はUnix(LF)の改行コードを認識するテキストエディターで開いて編集してください。

    対象行目変更点(アップロード前)パーミッション設定(アップロード後)
    ディレクトリ
    calendar


    一般サーバ
    書込&実行 例:755 or 705 or 777
    suEXECサーバ
    CGIラッパーサーバ書込&実行 例:701 or 700 or 705
    CGIファイル
    setup.cgi
    1#!/usr/bin/perl
    ご使用のサーバー環境に合わせて変更
    一般サーバ
    書込&実行 例:755 Or 705
    suEXECサーバ
    CGIラッパーサーバ書込&実行 例:701 Or 700

    CGIファイル setup.cgi の1行目の perl のパスを指定します。
    最初は #!/usr/bin/perl となっています。もしインストールするサーバーの perl のパスが同じであれば変更する必要はありません。
  • ディレクトリ calendar 以下を CGIプログラムが実行できるディレクトリにまとめてアップロードします。
    (ディレクトリ calendar も含めてアップロードしてください)
    ディレクトリを calendar 以外にしたい場合はディレクトリ calendar をリネームしてからアップロードします。
  • readme.html は必要ありませんのでサーバーから削除しておいてください。
  • ディレクトリ calendar 、CGIファイル setup.cgi のパーミッションを上記の表を参考に設定してください。
  • setup.cgi を実行させて指示に従いインストールを進めてください。(例:http://www.xxx.co.jp/cgi-bin/calendar/setup.cgi)
  • インストールをやり直す場合は setup.cgi を再実行させます。
  • インストールがに成功したら setup.cgi は安全のため削除しておいてください。
  • インストールに必要な設定はすべて自動で行ってくれますが、サーバーの環境によっては自動インストールがうまくできない場合があります、そのような時は手動で設定を行いインストールを行ってください。
  • ファイル名の拡張子が .cgi のCGIファイルはCGIプログラムです。
  • ファイルのパーミッションが 644 とあるファイルは読み込み権限があればいいので特に変更する必要はないはずです。
  • アップロードはテキストファイルは ASCII モードで画像ファイルは BINARY モードでアップロードしてください。
    ( Ftp ソフトの設定によっては自動的にアップロードしてくれますが注意が必要です)
  • EUC版ではディレクトリ Unicode_m の下の Japanese.pm はファイル後半にバイナリを含むため,FTP の ASCII モードで転送するとファイルが壊れます。 BINARY モードでアップロードしてください。
  • テキストファイルのアップロード後の改行コードは Unix(LF)でアップロードしてください。
    ( Ftp ソフトによっては自動的に変換してアップロードしてくれますが注意が必要です)
  • ディレクトリ _help の下にある複数のファイルはフォームメールプロのマニュアルファイルです。
    ファイルのパーミッションは読み込み権限があればいいので特に変更する必要はないはずです。
    また、_help の下にある index.html をブラウザで開くとオフラインのマニュアルとして使用できます。

管理者について

  • 状況カレンダー自動作成の管理者には3タイプの管理者が存在します。
  • 全体(全て)の状況を管理するスーパバイザーは状況の追加や削除を行う権限があります、また残り2つのタイプの管理者が行えるそれぞれの状況に対しての権限も持っています。
  • 残り2つのタイプの管理者はそれぞれの状況1つに対しての操作を行える権限も持っていてマスター管理者と通常の管理者です。
    マスター管理者と通常の管理者はそれぞれの画面からお互いにリンクが張られていて交互に切り替えができます。
  • それぞれの管理者の画面を直接呼び出す場合はブラウザのアドレス入力欄に以下のURLを入力します。
    スーパバイザー http://www.xxxx.co.jp/cgi-bin/calendar/calendar_edit.cgi?super
    マスター管理者 http://www.xxxx.co.jp/cgi-bin/calendar/calendar_edit.cgi?master
    通常管理者 http://www.xxxx.co.jp/cgi-bin/calendar/calendar_edit.cgi
    予約フォームマスター管理者 http://www.xxxx.co.jp/cgi-bin/calendar/formmail_edit.cgi?master
    予約フォーム通常管理者 http://www.xxxx.co.jp/cgi-bin/calendar/formmail_edit.cgi

    http://www.xxxx.co.jpの部分とCGI呼び出しのパスはあなたのサーバーのURLに置き換えてください。
    あなたがアップロードした場所と calendar_edit.cgi、formmail_edit.cgi の名称を変更した場合は違う指定になります。

CGIが動作するか調べましょう

  • ブラウザのアドレス入力欄にセットアッププログラム名を入力し実行させます。
    (例:http://www.xxxx.co.jp/cgi-bin/calendar/setup.cgi)

  • 実行の結果以下の画面が表示されればOKです。



  • CGIサーバーとWebサーバーが違うサーバーの場合はCGIが取得した環境変数、ドキュメントルート(ホームページのトップページ index.html が存在するディレクトリのパス)とホームページURLがWebサーバーのものと違う場合があります。
    その場合はドキュメントルートをWebサーバーのものを指定するように変更してください。
  • ホームページのドメイン名を指定します。
  • sendmail の送信テストの宛先メールアドレスを指定します。
  • sendmail の引数を指定します。(必要なら変更します、-f を付けてもメールアドレスの指定は不要です)
  • sendmailが使えないサーバーではSMTPで送信することができます。SMTPを使う場合は指定します。
    SMTPサーバー名を指定します。
    送信を行なう際のユーザ認証が POP before SMTP の場合は POP3サーバー名、ID、パスワードを指定します。
    メッセージの終端コードが LF.LF の場合はチェックを入れます。LF LF の場合はチェックを外します。
  • メール配信処理でPC内のアドレスリストファイルの指定をできるようにするかどうかを設定します。
  • CGIが作成する作業用ディレクトリに設定するパーミッションを指定します。CGIから書込み可の指定をします。
  • CGIファイル名をご自分用に変更したい場合は変更後のテキストを指定します。CGIファイル名の calendar の部分と formmail が指定したテキストに置き換わります。
    calendar_display.cgi、calendar_fmdisplay.cgi、formmail_pro.cgi は変更されません。変更したい場合は手動で変更し、設定ファイル calendar_set.pl の中の calendar_display.cgi、calendar_fmdisplay.cgi、formmail_pro.cgi が記述されている部分も手動で変更後のCGI名に変更します。
    CGIファイル名を変更することはセキュリティ上で有効になります。
    CGIファイル名を変更した場合は以下のマニュアル上でCGIファイル名を記述した箇所で変更したファイル名に読み替えてお読み下さい。
  • HTTP_REFERER チェック機能の設定をします。HTTP_REFERER チェック機能とはスパム送信を行おうと送信フォームがあるサーバー以外から表示させた送信フォームで送信されるのを防ぐ機能です。HTTP_REFERER 情報を基にスパムかどうかの判定を行います
    但し、HTTP_REFERER 情報が取得できない環境がありますのでこの機能を使うと通常の利用者が送信を行えない場合があります。
    HTTP_REFERER チェック機能を有効にする場合はこの点を注意してください。
  • フォームで送信させる最大のバイト数を指定します。大量のデータを送られるのを未然に防ぐ事ができます。
  • 管理者宛メールアドレスは複数指定できますが、その最大に指定できるアドレスを指定します。(スパム送信の予防)
  • 使用する漢字変換モジュールを選択します。最初に選択されているもの以外を使用したい場合は変更します。
  • 状況データ一括アップロード機能を使用するかしないかを選択します。使用するを選択すると管理者メニューに表示されるようになります。
  • データの保存場所をデフォルトではなく任意の場所(例えばWebからは見られない場所)に指定する場合はディレクトリのパスをフルパスで指定します。
  • CGIプログラムのパスがうまく設定できているかをテストします。(CGIパスとはインストールしようとしているサーバー上のどこからでも呼び出せるCGIのパスのことで、この setup.cgi が存在する場所を指定します。)
    下欄に既に テスト結果:CGIは正常に実行されました。が表示されていれば設定を変える必要はありません。
    もし、テスト結果:CGIは正常に実行されました。が表示されていなければCGIプログラムのパスがうまく設定できていませんので正しいパスを入力し「CGIテスト実行」ボタンをクリックしてください。
    テスト結果:CGIは正常に実行されました。が表示されるまで繰り返して指定します。
    CGIパスの指定は最後を / とします(例:/cgi-bin/calendar/、テストは javascript が使用できる環境が必要です)
    テスト結果:欄には同時にインストールしようとしているサーバーの環境が表示されます、その他の設定の参考としてください。
  • CGIを置くディレクトリ以下の画像ファイル、HTMLファイルがWeb上(ブラウザで)参照、表示できるかどうかによって進み先を選択します。
    CGIを置くディレクトリ以下の画像ファイル、HTMLファイルがWeb上(ブラウザで)参照、表示できる場合は「判定」欄に「GOiGOi Project」の画像が表示されます。「参照できる」に進むことができます。
    参照、表示できない場合は「判定」欄に「GOiGOi Project」の画像が表示されず「Internal Server Error」などが表示されます。 「参照できない」に進んで下さい。
  • 「Web上(ブラウザで)参照、表示できない」に進む場合は、送信フォームを置くディレクトリをドキュメントルート以下に作成しますので、ディレクトリ名を指定します。
    作成するディレクトリの深さを複数段作成する場合は aaaa/bbbb のように / で区切って指定します。
  • .htaccess コンフィグレーション機能の使えるサーバーだとわかっている場合はチェックを入れます(セキュリティレベルが上がります)
  • 「次へ」をクリックし以下の画面が表示されればOKです。



  • 以下の sendmail で送信可能な sendmail がある場合はテスト送信が行われています。
    /usr/bin/sendmail、/usr/lib/sendmail、/usr/sbin/sendmail、/usr/local/bin/sendmail
    受信成功した本文に sendmail のパスが記述されています。サーバー上にインストールした設定ファイルの calendar_set.pl の9行目に指定している sendmail のパスと一致しているかを確認してください。
    手動でセットする場合は使用できる sendmail のパスを記述します。

  • 【インストールに失敗しインストールをやり直す】
    セットアッププログラム setup.cgi を再実行させます。

  • 実行の結果以下の画面が表示されます。



  • 「再インストールを実行する」のボタンをクリックします。
    ※注意 この様に setup.cgi は再インストールやスーパーバイザーのID、パスワードの再設定が行えますので、インストール終了後は setup.cgi のファイル名を変更しておくかパーミッションを実行権限がないものに変更しておいて下さい。
    そして、 setup.cgi の実行が必要になったときに元に戻して実行するようにして下さい。

  • エラーが表示される場合はもう一度手順に間違いがないか、パーミッションの設定は正しいか確認してください。
    最も考えられる原因はディレクトリ、ファイルのパーミッションです。
  • パーミッションはプロバイダー、サーバーによっては上記と異なる場合がありますので環境に合わせて変更してください。
    特に777はどの環境でも問題なく使えるパーミッションですがセキュリティーレベルは一番甘い設定です。
    もしご自分の環境で707などもっとセキュリティーレベルを上げても書き込み可能ならそちらに変更してください。

さらに設定を続けます

  • 作業用ディレクトリを作成します。書込権限を与えるパーミッションを指定します。
  • スーパーバイザーのID、パスワードを指定します。
  • 「実行」ボタンをクリックします。
  • ディレクトリ作成完了、スーパーバイザー登録完了が表示されます。



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



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




  • 初期設定に進みます。

住所自動入力、AjaxZip 2.0 をインストールする

  • 川崎有亮さんの作成されたフリーのjavascript、AjaxZip 2.0 を使うと郵便番号の入力が終わると都道府県、住所欄に自動的に住所がセットされます。
  • フォームジェネレータを使うと AjaxZip 2.0 を簡単に組み込めます。
  • AjaxZip 2.0 を使用する場合は、ドキュメントルート(index.html と同じ場所)に作成したディレクトリ formmail_js の下に ajaxzip2 フォルダー以下をアップロードしておいてください。
  • フォームジェネレータを使わずに自前の送信フォームに AjaxZip を組み込む場合はAjaxZip 2.0 を参考にして組み込んでください。

ポップアップカレンダー、JKL.Calendar をインストールする

  • 川崎有亮さんの作成されたフリーのjavascript、JKL.Calendar を使うと年月日入力欄をクリックするとカレンダーがポップアップ表示され希望の日を選択することができます。
  • フォームジェネレータを使うと JKL.Calendar を簡単に組み込めます。
  • JKL.Calendar を使用する場合は、ドキュメントルート(index.html と同じ場所)に作成したディレクトリ formmail_js の下に jkl-calendar.js をアップロードしておいてください。
  • JKL.Calendar はカレンダー表示領域にセレクトボックスがあるとその部分の表示が抜けます。
    これを回避するには年月日入力位置を年月日入力より下のセレクトボックスにかからないように変更するか、応急処置版をお使い下さい。
    JKL.Calendar はこのホームページのダウンロードページからもダウンロードすることができます。
  • フォームジェネレータを使わずに自前の送信フォームに JKL.Calendar を組み込む場合はJKL.Calendar を参考にして組み込んでください。

バージョンアップの仕方について

  • 最新のバーションをダウンロードして解凍します。
    現在稼働しているサーバー上のプログラムが存在するディレクトリに setup.cgi のみを上書きでアップロードします。
  • setup.cgi のパーミッションを実行権限のあるパーミッションに変更します。
  • 以上の作業が終了した後に、ブラウザのアドレス入力欄にセットアッププログラム名を入力し実行させます。
    例: http://www.yyy.co.jp/cgi-bin/calendar/setup.cgi
  • 実行の結果以下の画面が表示されます。



  • 最新のバーションをダウンロードして解凍したファイルをフォルダーを含めて全て現在稼働しているサーバー上のプログラムが存在するディレクトリに上書きでアップロードします。
  • 再度ブラウザのアドレス入力欄にセットアッププログラム名を入力し実行させます。
    例: http://www.yyy.co.jp/cgi-bin/calendar/setup.cgi
  • 「アップデートが完了しました」が表示されれば終了です。



使用講習会、説明会をご指定の場所で開催させていただきます

 本サイトの CGI は高機能で何でもできますが、高機能のため使用方法を完全に理解するためには説明を受けた方が解りやすいと思います。京阪神奈の制作会社様には使用講習会、説明会をご指定の場所で開催させていただきます。最下段のメールアドレスまでお問い合わせ下さい。(場所が京阪神奈以外の場合は実費交通費が必要です)

インストール、CGI制作の請け負い

 本サイトのプログラムは今までに CGI をインストールされた方なら簡単にインストールしていただけますが、設定も含めたインストール、サイト構築作業、CGI制作を請け負うことも可能です。お問い合わせページからご連絡ください。

GOiGOi Projectではフォームメール、WhatsNew(汎用データベース)、ページ自動生成、ページ更新、空き情報・予約など、ホームページを管理、運営する上でどうしても必要になってくるCGIをプロ仕様で提供しています。全てのプログラムは汎用CGIとして開発されていてどのようなサイトでもご使用いただけます。また、CGI制作も承ります。