プロバイダー、サーバー管理者に確認
- 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(例:https://www.xxxx.co.jp/)
- 確認ができたら EditTSV の作業用ディレクトリをどのディレクトリの下に作成するか、またジャンルは幾つあるか、そのジャンルを管理するためのID(登録名)をどのように付けるかを検討します。
データのセキュリティについて(流出、改ざん、削除されるのを防ぐために)
-
あなたが EditTSV のデータをWebページ上から編集できるということは他の人も同様のことができるということを意味します。
- 設定プログラムの記述でデータファイルのファイル名を任意のファイル名に変更する。
- CGIから書き込み可を必要とするファイルのパーミッションは当マニュアルでは777としています、777はどのサーバーの環境でも問題なく使えるパーミッションですがセキュリティーレベルは一番甘い設定です。
もしご自分のサーバー環境で707などもっとセキュリティーレベルを上げても書き込み可能ならそちらに変更してください。 - edittsv_set.pl に書き込み可のパーミッションを設定するところ(96行目あたり)がありますのでパーミッションを設定してください。
- 編集画面を呼び出すプログラムの名称を判読されにくいファイル名に変更する。
- 編集管理者のID、パスワードは誰にでも推察できる簡単なものにしない。
- 編集管理者のID、パスワードは定期的に変更する。
- データファイルを保存するディレクトリをウェブ上から呼び出せないディレクトリの下に設定する。
- CGIサーバーを別にするなどしてデータファイルを保存するサーバーをウェブサーバーとは別にする。
その違いは操作するためのID、パスワードを知っているかいないかの違いだけです。
しかし、ちょっとハッキングの知識のある悪意の第三者にかかるとそんなバリアは意図も簡単に破ってしまうかもしれません。データファイルではなくHTMLファイルでも書き換えられる可能性は同じなのですが・・・・
そこでより安全なデータ管理をするための方策を記述しますので可能な限り対策を講じられることをお勧めします。(全てを講じたとしても完全ということではありません)
CGIプログラムをダウンロードします
- 専用のダウンロードページを呼び出します。
- ダウンロードしたファイルは LZH 形式で圧縮されています解凍ソフトで解凍して下さい。
Macでダウンロードされた方は石崎 一明さんが作られたフリーソフトMacLHA等を入手して解凍して下さい。
解凍されたテキストファイルの改行コードは Unix(LF)になっています。(かっこ内はパーミッションを表しています)
- ディレクトリ_helpの下にある複数のファイルは edittsv のマニュアル、ヘルプファイルです。
ファイルのパーミッションは読み込み権限があればいいので特に変更する必要はないはずです。
また、_helpの下にあるindex.htmlをブラウザで開くとオフラインのマニュアルとして使用できます。
/edittsv (755 rwxr-xr-x) or (777 rwxrwxrwx) | |-- readme.html このファイルです | |-- setup.cgi (755 rwxr-xr-x) |-- edittsv_set.pl (755 rwxr-xr-x) |-- edittsv_menu.cgi (755 rwxr-xr-x) |-- edittsv.cgi (755 rwxr-xr-x) |-- gradis.cgi (755 rwxr-xr-x) |-- _menu_super.html (777 rwxrwxrwx) |-- _menu_std.html (777 rwxrwxrwx) |-- _menu.html (777 rwxrwxrwx) | |-- jcode.pl (644 rw-r--r--) |-- mimew.pl (644 rw-r--r--) |-- cgi-lib.pl (644 rw-r--r--) | |-- _Magick_pl/ (644 rw-r--r--) | | | |-- resize.pl (644 rw-r--r--) 画像リサイズ用モジュール | |-- resize_m.pl (644 rw-r--r--) 画像リサイズ用モジュール(imagemagicモジュール用) | |-- resize_n.pl (644 rw-r--r--) 画像リサイズ用モジュール(NetPBM用) | |-- _help/ (644 rw-r--r--) | | | |-- gif.html (644 rw-r--r--) | |-- 〜 | |-- w_down.gif (644 rw-r--r--) | |-- goigoi250.gif (644 rw-r--r--) |
- 最低限以下の設定、変更を行ってください。
内容の変更はUnix(LF)の改行コードを認識するテキストエディターで開いて編集してください。
対象 行目 変更点(アップロード前) パーミッション設定(アップロード後) ディレクトリ
edittsv一般サーバ
書込&実行 例:755 or 705 or 777suEXECサーバ
CGIラッパーサーバ書込&実行 例:701 or 700 or 705CGIファイル
setup.cgi1 #!/usr/bin/perl
ご使用のサーバー環境に合わせて変更一般サーバ
書込&実行 例:755 Or 705suEXECサーバ
CGIラッパーサーバ書込&実行 例:701 Or 700
- 上記の設定、変更を行い setup.cgi を実行させるとインストールに必要な設定は自動で行ってくれますが、サーバーの環境によっては自動インストールがうまくできない場合があります、そのような時は手動で設定を行いインストールを行ってください。
- edittsv_menu.cgi、edittsv.cgi、edittsv_hs.cgi はCGIプログラムです。
いずれのファイルも1行目の perl のパス指定を設定し直す必要があります。(setup.cgi のみを変更すると他は自動で設定されます)
最初は #!/usr/bin/perl となっています。もしインストールするサーバーの perl のパスが同じであれば変更する必要はありません。
- ディレクトリ edittsv 以下を CGIプログラムが実行できるディレクトリにまとめてアップロードします。
(ディレクトリ editdb も含めてアップロードしてください)
- ディレクトリ edittsv 、CGIファイル setup.cgi のパーミッションを上記の表を参考に設定してください。
使用するサーバーの設定方法によってはうまく動作しない場合がありますのでご自身でご確認ください。- ファイルのパーミッションが 644 とあるファイルは読み込み権限があればいいので特に変更する必要はないはずです。
- アップロードはテキストファイルは ASCII モードで画像ファイルは BINARY モードでアップロードしてください。
( Ftp ソフトの設定によっては自動的にアップロードしてくれますが注意が必要です)- テキストファイルのアップロード後の改行コードは Unix(LF)でアップロードしてください。
( Ftp ソフトによっては自動的に変換してアップロードしてくれますが注意が必要です)- ディレクトリ _help の下にある複数のファイルは edittsv のマニュアルファイルです。
ファイルのパーミッションは読み込み権限があればいいので特に変更する必要はないはずです。
また、_help の下にある index.html をブラウザで開くとオフラインのマニュアルとして使用できます。CGIが動作可能か調べましょう
- プログラムが実行できるか試して下さい。
ブラウザのアドレス指定欄に setup.cgi が実行できるアドレスを入力して実行させてみて下さい。
例: https://www.yyy.co.jp/cgi-bin/edittsv/setup.cgi
- 実行の結果以下の画面が表示されればOKです。
- CGIサーバーとWebサーバーが違うサーバーの場合はCGIが取得した環境変数、ドキュメントルート(ホームページのトップページ index.html が存在するディレクトリのパス)とホームページURLがWebサーバーのものと違う場合があります。
その場合はWebサーバーのものを指すように変更してください。
- メール配信機能を使う場合は「使う」にチェックを入れます。
sendmail のテスト送信を行いますのでご自身が受信できるメールアドレスを指定します。
テスト後、指定したアドレスにメールが届いているか確認します、メールが届いていればメール配信機能は使用できます。
複数のメールが届いている場合はどれか一つの senndamail が使用されます。
- CGIが作成する作業用ディレクトリに設定するパーミッションを指定します。CGIから書込み可の指定をします。
- CGIファイル名をご自分用に変更したい場合は変更後のテキストを指定します。CGIファイル名の edittsv の部分が指定したテキストに置き換わります。
CGIファイル名を変更することはセキュリティ上で有効になります。
CGIファイル名を変更した場合は以下のマニュアル上でCGIファイル名を記述した箇所で変更したファイル名に読み替えてお読み下さい。 - 設定ファイルを保存するディレクトリをデフォルト以外や https:// から参照できない安全な場所を指定できる場合は保存するディレクトリをサーバーのルートからフルパスで指定します
指定しない場合はデフォルトのCGIインストールディレクトリ直下のディレクトリに保存されます - 「次へ進む」をクリックし edittsv の次の画面が表示されたらOKです。マニュアルに従って作業を続けて下さい。
- 【インストールに失敗しインストールをやり直す】
setup.cgi を再度実行します
- 【設定ファイルを変更する】
この時点で設定ファイル( edittsv_set.pl )を変更しています
設定ファイルを変更する場合は設定ファイルをダウンロードして変更後再アップロードします
- もしもエラーが表示されたら手順に間違いがないかもう一度確認して下さい。
最も考えられる原因はディレクトリ、ファイルのパーミッションです。
- パーミッションはプロバイダー、サーバーによっては上記と異なる場合がありますので環境に合わせて変更してください。
どうしてもうまくいかない場合は書込権限のパーミション(edittsv_set.pl の96行目あたり)を777にしてみて下さい。
さらに設定を続けます
- もしも画像リサイズモジュールのImageMagic(PerlMagic)、NetPBM が標準でインストールされているサーバー環境なら、画像リサイズが使える旨のメッセージが表示されています。
画像自動リサイズ機能を使う場合は「使う:◎」にチェックを入れます。実際に動作するかどうかはスーパーバイザーメニューの「モジュール検査」を実行させると確認することができます。
ImageMagic(PerlMagic) が使える環境で後日、使いたくなった場合は _Magick_pl フォルダー以下にある resize_m.pl を一つ上のディレクトリ(CGIプログラムと同じディレクトリ)に移動させると使用できるようになります。
NetPBM が使える環境で後日、使いたくなった場合は _Magick_pl フォルダー以下にある resize_n.pl を一つ上のディレクトリ(CGIプログラムと同じディレクトリ)に移動させると使用できるようになります。
もしも画像リサイズモジュールが使えないサーバーで画像自動リサイズ機能を使う場合は後述する菅さんが作られた画像リサイズモジュールをインストールする必要があります。
この場合は _Magick_pl フォルダー以下にある resize.pl を一つ上のディレクトリ(CGIプログラムと同じディレクトリ)に移動させてください。 - 作業用ディレクトリを作成します。
- 上記で表示された画面でスーパーバイザーのID、パスワードを指定します。
スーパーバイザーとは最も管理権限の強い管理者でジャンルの追加や基本の設定を行うことができます。 - ID、パスワードは半角のアルファベット、数字、-_で構成してください。(全角、漢字、-_以外の半角特殊文字は使えません)
- 「実行」ボタンをクリックします。
- ディレクトリ作成完了、スーパーバイザー登録完了が表示されます。
- 「対象データを登録する」ボタンをクリックします。
- 次に管理する対象データを登録します。
- 今登録したスーパーバイザーのID、パスワードを入力します。
- 登録する対象データ名を指定します、対象データ名は半角の英数字と-_で指定します。全角文字やカタカナは使えません。
- 選択項目用のマスターファイルとして対象データを登録する場合は「選択項目のマスターとして登録」にチェックを入れます
選択項目用のマスターとはカスタム項目で入力タイプを radio,checkbox,select に指定したときに選択できる項目を登録しておくマスターのことを言います。 - 指定した英数字の対象データ名を対応する日本語名を指定します、漢字、ひらがな、カタカナが使えます。
- その対象データを管理するマスター管理者のID、パスワードを入力します。
- ID、パスワードは半角のアルファベット、数字、-_で構成し最初の文字はアルファベットから始めてください。(全角、漢字、-_以外の半角特殊文字は使えません)
- 標準テンプレートHTMLファイルを登録する場合はチェックを入れます。(後でカスタムHTMLファイルに変更できますので取りあえず登録します。
- 「対象データを追加」ボタンをクリックします。追加が完了すると以下のジャンルの初期設定画面になります。
とりあえず初期設定を行います
「データ形式」に関する設定をします
- データIDを追加した直後では「全体設定項目数:0」「データ項目数:2」に設定されています。
- このままの設定数で問題がなければ次ページで説明されている初期設定を行って一番下の「設定する」ボタンをクリックします。
- 全体設定項目数:→TSVデータファイル全体に設定する項目数を指定します。
- データ項目数:→TSVデータファイルの1レコードに対して設定する項目数を指定します。
- 「設定する」ボタンをクリックします。
- もういちど管理者メニューから「初期設定」を実行すると設定した項目数で初期設定を行うことができるようになります。
画像リサイズモジュールをインストールします(ImageMagick(PerlMagick)、NetPBM が使えないサーバーの場合)
- 画像ファイルをアップロードする時に自動でサムネイル画像を縮小する機能を使う場合は、ImageMagick(PerlMagick) モジュールかNetPBM、または菅さんが作られた画像リサイズモジュールをインストールする必要があります。
- 画像リサイズモジュールを使う必要がない場合は以下のインストールは不要です。
- モジュールが使えないサーバーの場合は以下の手順で画像リサイズモジュールをインストールしてください。
- 画像リサイズモジュールを https://sugachan.dip.jp/download/komono.php#resize からダウンロードします。【ダウンロードページへ】
- ダウンロードしたファイルを解凍します。
- check.cgi をCGIと同じディレクトリにアップロードします。パーミッションは WhatsNew の CGI と同じ実行権限を与えます。
- check.cgi を実行させます。https://www.xxxx.co.jp/cgi-bin/whatsnew/check.cgi でブラウザから呼び出すことで実行できます。
(呼び出しかたは環境によって異なります) - 以下の様なチェック結果の画面が表示されます。
- プロバイダーによっては imagemagic モジュール、NetPBM が標準でインストールされている可能性があります、チェック結果の一番上の 「PelMagick OK」が表示されていれば ImageMagick(PerlMagick) モジュールが使用できます。
CGIと同じディレクトリの下にあるディレクトリ _Magick_pl にある resize_m.pl をCGIと同じディレクトリにアップロードします。 「NetPBM + libjpeg-progs OK」が表示されていれば NetPBM が使用できます。
CGIと同じディレクトリの下にあるディレクトリ _Magick_pl にある resize_n.pl をCGIと同じディレクトリにアップロードします。 - ImageMagick(PerlMagick)、NetPBM がモジュールが使えないサーバーでは以下の手順でリサイズモジュールをインストールします。
- 画像リサイズモジュールはCGIのようにインタープリターではなくサーバーに使用されているマイクロプロセッサ(MPU)の種類とOSの組み合わせによってあらかじめコンパイルされているバイナリーの実行ファイルです。
- したがってEdittsvをインストールしたサーバーに適合したバイナリーの実行ファイルを選択してインストールする必要があります。
- どの実行ファイルが使えるかはダウンロードしたリサイズモジュールのチェックプログラムで調べることができますので readme.txt をお読み下さい。
- readme.txt を読んでもよくわからない場合は以下の手順をお試し下さい。
- 上のチェック結果画面の薄い水色のベースの部分を見るとどのバイナリーの実行ファイルをインストールすればいいかが解ります。
- 解凍したフォルダーのなかに MPU名_OS名 のフォルダーがありますのでその中のバイナリーの実行ファイルをCGIと同じディレクトリにアップロードします。パーミッションは WhatsNew の CGI と同じ実行権限を与えます。
- リサイズモジュールに同梱されている resize.pl は使わずに WhatsNew に同梱(ディレクトリ _Magick_pl の直下)されているresize.pl を WhatsNew の CGI プログラムと同じフォルダーにアップロードします。パーミッションの指定は特にいりません(読み込み可権限)。
- 次項のスーパーバイザーのメニュー「モジュール検査」でモジュールが正常に動作するか確認します。
- もし正常に動作できない場合は、正常に動作するまで実行モジュールを入れ替えてテストを繰り返します。
- この画像リサイズモジュールは使用するサーバー環境によっては使えないことがあります。その場合は自動リサイズ機能の使用は諦めてください。
画像リサイズモジュールがうまく動作するかチェックします
- ブラウザからスーパーバイザーのメニューページを呼び出します。
- https://www.xxxx.co.jp/cgi-bin/edittsv/edittsv_menu.cgi?super でメニュー画面を呼び出すことができます。
(呼び出しかたは環境によって異なります、あなたがアップロードした場所と edittsv_menu.cgi の名称を変更した場合は違う指定になります) - 以下の画面が表示されます。
- 「モジュール検査」ボタンをクリックします。
- 以下の画面が表示されます。
- 「リサイズモジュールは正常に終了しました!」が表示されればリサイズモジュールは正常に動作しており使用することができます。
管理者について
- EditTSV の管理者には3タイプの管理者が存在します。
- 全体(全て)のフォームを管理するスーパバイザーはジャンルの追加や削除を行う権限があります、また残り2つのタイプの管理者が行えるそれぞれのジャンルに対しての権限も持っています。
- 残り2つのタイプの管理者はそれぞれのジャンル1つに対しての操作を行える権限も持っていてマスター管理者と通常の管理者です。
マスター管理者と通常の管理者はそれぞれの画面からお互いにリンクが張られていて交互に切り替えができます。 - それぞれの管理者の画面を直接呼び出す場合はブラウザのアドレス入力欄に以下のURLを入力します。
スーパバイザー https://www.xxxx.co.jp/cgi-bin/edittsv/edittsv_menu.cgi?super
マスター管理者 https://www.xxxx.co.jp/cgi-bin/edittsv/edittsv_menu.cgi?master
通常管理者 https://www.xxxx.co.jp/cgi-bin/edittsv/edittsv_menu.cgi
https://www.xxxx.co.jpの部分とCGI呼び出しのパスはあなたのサーバーのURLに置き換えてください。
あなたがアップロードした場所と edittsv_menu.cgi の名称を変更した場合は違う指定になります。
- マスター、通常管理者の画面を表示させるときは管理者メニューの表示設定を指定した設定ファイルを読み込んでメニューを表示します。
設定ファイルの指定はCGIの引数、+menu:設定ファイル名 で指定します。
例:https://www.xxxx.co.jp/cgi-bin/edittsv/edittsv_menu.cgi?master+menu:xxxx
設定ファイルの指定がない場合は標準の設定で表示されます。
管理者の画面は _menu.html をテンプレートとして使用しています。メニュー以外の所は _menu.html を編集することによりカスタマイズが可能です。
設定ファイルはスーパバイザーのメニューから追加、訂正を行います。 スーパバイザーが使用するテンプレートは(_menu_super.html)です。
使用講習会、説明会をご指定の場所で開催させていただきます
本サイトの CGI は高機能で何でもできますが、高機能のため使用方法を完全に理解するためには説明を受けた方が解りやすいと思います。京阪神奈の制作会社様には使用講習会、説明会をご指定の場所で開催させていただきます。最下段のメールアドレスまでお問い合わせ下さい。(場所が京阪神奈以外の場合は実費交通費が必要です)インストール、CGI制作の請け負い
本サイトのプログラムは今までに CGI をインストールされた方なら簡単にインストールしていただけますが、設定も含めたインストール、サイト構築作業、CGI制作を請け負うことも可能です。お問い合わせページからご連絡ください。
GOiGOi Projectではフォームメール、WhatsNew(汎用データベース)、ページ自動生成、ページ更新、空き情報・予約など、ホームページを管理、運営する上でどうしても必要になってくるCGIをプロ仕様で提供しています。全てのプログラムは汎用CGIとして開発されていてどのようなサイトでもご使用いただけます。また、CGI制作も承ります。