|
(SS)C-BOARD を稼働させるまでのお話
CGI(※後述)を初めて動かすという方は、できれば他の小さなCGI(アクセスカウンター等)を勉強も兼ねて設置してみることをお薦めします。
(SS)C-BOARDは高機能なわりには設置・設定が容易なようにできてはいますが、スクリプトそのものはかなり巨大で複雑です、うまく設置できなかったり壁に当たった時にcgi設置の経験があれば、解決も早いですから。
挑戦する前に、まず、必ず (SS)C-BOARDに添付された
readme.htm
と faq.htm はよく読みましょう、設置に行き詰まった時によく読み返すと必ずヒントがあります。
(1)サーバがカスタムCGIをサポートしているか?
(SS)C-BOARDはperlという言語で書かれたUNIX上で動くプログラムです。
サーバ上でこのプログラムを動かす仕組みをCGI(Common
Gateway Interface)と呼び、まずお使いのサーバがCGIをサポートしている事が第一条件です。
サーバによっては、セキュリティの観点からサーバ側で用意したCGIのみ動作可能で、ユーザーが作成したCGI(カスタムCGI)の動作を許可していないところもあります。
まずサーバの管理者もしくはプロバイダの担当者(※以降、サーバ管理者と記す)へカスタムCGIが動かせるか問い合わせるか、サーバ(プロバイダ)のサポートページ等をご覧になって確認してください。
(2)Perlのパスとバージョンは?
CGIスクリプトはいろんな言語で書かれますが、一般的にはperlという言語です。
(SS)C-BOARDは perl ver5.005_03 以上が動作保証((SS)C-BOARD
v3.3の場合)となっています。
また、perlを動かすにはサーバのperlのパスが必要になります(一般的には
/usr/local/bin/perl です)。
サーバ管理者にperlのパスとバージョンを確認しましょう。
(3)サーバの注意事項・制限事項をよく見ましょう。
(1)(2)がクリアできれば、まず間違いなく(SS)C-BOARDは動きますが、ご利用のサーバ(プロバイダ)の注意事項・制限事項はよく読んでおいてください。
サーバによっては、CGIを置く場所が指定されていたり、CGIを置くフォルダ内に
.htaccess を置く必要があったり、CGIそのもは別サーバに置かなくてはいけなかったりと、制限が多様にあります。
サーバ管理者の指示に従ってください。
特に各ファイルのパーミッションの設定値は必ず確認してください。 当サイトではFAQ掲示板に『設置実績のあるサーバと設置方法メモ』を公開していますので、参考にになさってください。
大手プロバイダで@NiftyとBIGLOBEは少々やっかいですのでよく読んでください。 ※2002.4.9現在、BIGLOBEのサーバ仕様が変更されたために、(SS)C-BOARD設置後の初期パスワードが通らずセットアップができない現象が発生しています。
BIGLOBEで設置されたい方は対応方法を検討中ですので、今しばらくお待ちください。
お急ぎの方はメイン掲示板とBlueRoom(開発研究室)の情報をお調べください。
※この問題はv3.3パッチ7(2002.4.24)で解消されました。
(4)その他、サーバ(プロバイダ)に問い合わてメモしておく事項。
とりあえず、sendmail
と gzip のパスを確認しておいてください。
(SS)C-BOARDには投稿があった時に、管理者(あなたです)宛にメール通知を行う機能があります、これは
sendmail というライブラリを使用します。
また、高速化のためにデータを圧縮する gzip
というライブラリも使用できます。
使えるならば便利な機能ですのでパスをメモしておきましょう。
(1)入手先
当サイト(SS)C-BOARDのコーナーからダウンロードします。
サンプルも見ることができます。
(2)ZIPファイルの解凍
(SS)C-BOARDはZIPで圧縮(アーカイブ)されていますので、ZIPファイルを扱える解凍ツールが必要になります。
(ベクター
等でツールを入手してください)
適当なフォルダに解凍しておきます。
(1)perlのパスの設定。
c-board.cgi
をエディタで開いて、一行目を修正します。
#!/usr/local/bin/perl
↑この部分をサーバ管理者に聞いたパスにします。
(2)特殊なサーバの設定。
c-board.cgiの39〜41行目に『トクトク』等のサーバの設定、44〜47行目に『IIS,
mod_perl』用の設定があります。
ご利用のサーバが該当する場合は、コメント通りに修正します。
※IISはWindowsNT,2000上で動作するWebサーバーです。
※mod_perlはApache上で動作する拡張モジュールで、メモリに常駐するため高速な動作が期待できるものです。
[41行目]=トクトク等の設定
# $::SYS{'liar'} = 1;
↑『# 』を削除します。
[45〜47行目]=IIS,mod_perl用の設定
# BEGIN {
# chdir 'c:/www/develop/c-board/c-board';
# }
↑『# 』を削除します(45〜47行目の3行)、↑パスの設定をお使いの環境に合わせます。
※一般的にはUNIX系のサーバ上の perl
がほとんどですのでこの修正が必要なサーバは特殊なサーバとお考えください、詳しくはサーバ管理者に尋ねたほうがいいです。
※perlは行の先頭に『# 』があるとコメントと見なし動作時は無視されますので、『#
』を削除すると有効となります(作者の説明にあるコメントアウトとはこういう意味です)
スクリプトそのものを修正するのはこの2点だけです。
その他のファイルは一切触れる必要はありません。
他のすべての設定はブラウザからオンラインで行います。
※(SS)C-BOARDのすべてのファイルの名前は絶対に変更しないでください。
(1)FTPクライアントソフトが必要です。
CGIを設置するディレクトリの作成や、(SS)C-BOARDをサーバへ転送するためにはFTPクライアントソフトが必要になります。
Windowsでは著名なFTPクライアント『FFFTP』(作者:曽田
純 さん)をお薦めします、 Sota's
Home
←こちらで入手できます。(プログラムのコーナーにあります)
サーバへの接続方法や転送方法などは各ソフトの説明書をお読みください。
(2)サーバへアップロード(転送)する。
まず(SS)C-BOARD専用のディレクトリを作成する事をお薦めします。
(ここでは例として 『c-board』 とします)
作成したディレクトリの中に各ファイルをアップロードします。
転送時の注意点は、『転送モード』です。
(SS)C-BOARDでは・・・・、
- 画像ファイル(GIFファイル)とjarファイル以外はすべて『アスキーモード(テキストモード)』
- 画像ファイルとjarファイルのみ『バイナリモード(RAWデータ)』
でアップロードします。
各ディレクトリ内の index.htm
はディレクトリ内のファイル構造を覗かれないためのセキュリティ上の措置です、必ずアップロードしましょう。
また、データやログなどのファイルの拡張子が .cgi
としているのも不正にダウンロードや中身を参照される事を防ぐためのセキュリティ上の措置です、拡張子を変更する事は絶対にやめましょう。(変更したら動かなくなるだけですが・・・)
※以下のファイルはアップロードする必要はありません。
- readme.htm
- faq.htm
- history.txt
- reade_1st.txt
- readme.css
(3)パーミッションを設定する。
パーミッションとはUNIXでのファイルやディレクトリの属性の事です。
パーミッションの値により、そのファイルが実行できるか否か、書き込みが出来るか否か等の権限が決まります。
パーミッションの設定は重要で適切な値に設定しないと、まったく動かなかったり誤動作の原因となります。
パーミッションを理解する事は避けて通れない事ですので、なるべくかみ砕いて説明します。
パーミッションは『rwxr-xr-x』という文字か、『755』などの数値で表現します。
『r』 = 呼び出しができる
『w』 = 書き込みが出来る
『x』 = 実行できる
『-』 = いずれも不可
の各設定を、
・オーナー
・グループメンバ
・その他誰でも
の3者毎に権限を与える形で表現します。
例) rwx r-x r-x
(数字の表現は r=4 w=2 x=1 -=0
とし各値をプラスして表現します)
▼パーミッションの権限と値
| 値 |
オーナー |
グループ |
その他 |
| 4 |
呼出 r |
呼出 r |
呼出 r |
| 2 |
書込 w |
書込 w |
書込 w |
| 1 |
実行 x |
実行 x |
実行 x |
| 0 |
無 - |
無 - |
無 - |
一般的に『オーナー』とは自分であり設置者本人です、『その他』がホームページを参照する人なら誰でもという事になります(※設置者本人であってもブラウザから見た場合は『その他』になる事にご注意してください)
▼定番のパーミッション
【rw-r--r-- 644】誰でも呼び出しが可能で、オーナーは書き込みもできる、htmlなどの通常のファイルはすべてこれ。
【rw-rw-rw- 666】誰でも読み書きできる、掲示板のログなどcgiから書き込みを行うファイルなど。
【rwxr-xr-x 755】誰でも呼び出し、実行できる、書込はオーナのみ、実行するcgiなど。
つまり、通常の呼び出されるだけのファイルは【644】、書き込みが必要なファイルが【666】、直接実行されるCGI本体が【755】となります。
※単純に考えると、どのディレクトリ・ファイルも『rwxrwxrwx(777)』に設定すれば誰でもなんでもOKで、難しい事を考えずに設定できますが、誰でもなんでもOKというのは当然ですが、セキュリティに問題が生じます。
一般的にcgiそのものは『その他』の権限で動作します、CGIからの呼び出しや書き込みを考えると上記の値になるわけです。
▼(SS)C-BOARDの各フォルダ・ファイルのパーミッション(□はディレクトリ)
□c-board ... [757]
├□chache ... [757]
├□data ... [757]
│├ ces_lock ... [666]
│├ dbg_lock ... [666]
│├ msg_lock ... [666]
│├ pst_lock ... [666]
│├ rad_lock ... [666]
│├ slg_lock ... [666]
│├ stp_lock ... [666]
│└ c-board.css ... [666]
├□file ... [757]
├□image ... [757]
├□log ... [757]
├ c-board.cgi ... [755]
└ config.cgi ... [666]
ただし、実際には、CGIがどの権限で動くかはサーバにより異なります。
CGIがオーナー権限で動作するサーバもありますし、ファイルによって権限が変わるようなサーバもあります、755を700に644を600等にすることによって、セキュリティ面が向上したり、701にしないと動かないサーバ等々やっかいです。
パーミッションの値は必ずサーバ管理者もしくはプロバイダのサポートページでご確認ください。
当サイトのFAQ(設置実績のあるサーバと設置方法メモ)も参考にしてください。
internal server error
のほとんどの原因はパーミッションの設定値が不適切なために発生しています、動かない場合はまず疑ってみてください。
(1)インターネットエクスプローラで(SS)C-BOARDにアクセス。
必ずインターネットエクスプローラ(IE)を使用する事、トラブルを避けるためネットスケープや他のブラウザは使用しないでください。
それからCookieを有効にすること(設定時にCookieを利用しているため)
●インターネットエクスプローラのCookieの設定
[ツール]→[インターネットオプション]
『セキュリティ』タブを表示。
『レベルのカスタマイズ』をクリック。
『Cookie』を『有効にする』にチェックを入れる
http://設置したURL/c-board.cgi
にアクセスします。
(例: http://www.skullysoft.com/c-board/c-board.cgi)
※トクトクなどの無料のホスティングサービスなどでは、cgiの呼び出し元がweb内に制限されている場合があります、HTMLで仮のページ(本番用のページでもいいですが)を設置しそこから(SS)C-BOARDへリンクを張って呼び出すようにしてください。
※最初は画像等が表示されず、おかしく見えますがこれから先で自動で作成されますので大丈夫です。
(2)(SS)C-BOARDの管理パスワードを変更。
表示された(SS)C-BOARDのメニューから『設定』をクリックします。
画面の一番下右にある『管理者用』をクリックします。
『セットアップ』をチェックして、パスワードに『pass』を入力し『送信』をクリックします。
設定画面の一番下にある、パスワードに関する設定欄で管理用パスワードを設定します。
元のパスワード『pass』、新パスワードはアルファベットと数字を織り交ぜた5文字以上のパスワードを入力します。
ここでは、他の項目は一切触らないでください。
(無事に動作してから細かい設定をしましょう)。
『設定』ボタンをクリックします。
(3)セットアップ(スタイル)の設定。
『セットアップ(スタイル)』にチェックを入れて『送信』をクリックします。
ここでも、設定項目を一切触らずに、画面の一番下の『設定』ボタンをクリックします。
※(SS)C-BOARDで使用する画像等はここで自動的に作成されます。
(4)動作確認。
画面、一番右下の『戻る』ボタンをクリックし、掲示板に戻ります。
どうですか?画像等が表示されましたか?
もし、まだおかしいようなら、キャッシュが効いてる可能性があるので、ブラウザの更新ボタン(リロード)を押してみてください。
それでもうまく動かない場合。
(SS)C-BOARDは各種のファイルを自ら生成します、また、設定値を
config.cgi
等に書き込みも行います、したがって・・・、
- まずパーミッションを疑う。
パーミッションが書き込み不可になっていたりすると駄目です。
- CGI専用サーバのため、(SS)C-BOARDが自動で作成しようとしている画像ファイルが作成できない。
この場合は、イメージディレクトリのパスとURLを別フォルダに作成しそちらを指定するとうまくいきます。
- クセのあるサーバかもしれません。
FAQ(設置実績のあるサーバと設置方法メモ)を参考にするか、サーバ管理者もしくはサーバのサポートページで、お使いのサーバでのCGIの動作環境をチェックしてください。
初期設定を正常終了できれば、(SS)C-BOARDを本稼働させる事はできます。
しかし、設置者ごとに独自の設定項目が必要な場合もありますので、直しておくべき箇所とお薦めの設定をここで紹介します。
尚、設定箇所はすべて『設定』→『管理者メニュー』→『セットアップ』内の項目です。
(1)管理者の設定。
(SS)C-BOARDは他人が管理者に成りすます事を防ぐ機能があります。
『管理者の投稿時の名前に関する設定』で、管理者名と投稿時のパスワードを設定します。
((SS)C-BOARDそのもののパスワードとは別にしたほうがいいでしょう)
管理者名で書き込む時に、パスワードが一致するかどうかチェックされますので、他人があなたの名を語る事ができなくなります。
(2)『ホーム』のリンク先。
『メニューバーに関する設定』→『オプション1』には、ホームへのリンク先が設定できます。
初期値は当サイトになっていますので、ご自身のホームページに変更しましょう。
(3)記事のトータル数と過去ログ化するかどうか。
掲示板に書き込みがあると当然サーバ側の使用量が増えていきます。
ほとんどの人はプロバイダやレンタルサーバなどで、ご自身で使える容量が限られていると思います。
上限を設定しておきましょう。
『投稿に関する設定』→『記事のトータル数』に最大記事数を設定します。
※この数字を超えると古い記事から削除されます、ただし、『過去ログに関する設定』→『過去ログ化するかどうか』を『する』にチェックを付けると、古い記事から過去ログに保管されます。
(4)クッキーの名前。
毎回同じ項目をその都度入力するのは面倒です、(SS)C-BOARDはクッキーを利用して投稿者の名前等をあらかじめ表示して省力化する機能があります。
ブラウザ側はクッキー名毎に各種の値を持っています、クッキー名の初期値は『cboard』になっています。
各管理者で変更することをお薦めします、人によっては掲示板毎に名前を変更したり、メールアドレスを変えたり(非表示にしたり)する方がいらっしゃいます。
『クッキーに関する設定』→『名前』で設定できます。
(5)管理者コマンドのログを取る。
世の中、悪い人がいっぱいいます(笑)。
あなたの管理者パスワードを破り掲示板の設定を変更しようと試みる輩もいるかもしれません、(SS)C-BOARDには管理者メニューを実行した時のログを取得する事ができます、ログを定期的にチェックする事でセキュリティが高められます。
『管理者コマンドのログに関する設定』→『記録の有無』の『記録』にチェックを入れると、『syslog.cgi』に記録が残ります。
(6)メールに関する設定。
投稿があった時に管理者へ通知するメール、投稿に対して返信があった時に元投稿者へお知らせするメール等、(SS)C-BOARDにはメール通知機能が備わっています。
メール機能を有効にするには、サーバで sendmail
をサポートしているか、もしくは socket
がサポートされている(SMTPを利用)必要があります。
SMTPは少々やっかいですのでFAQやご自身で理解される事に託し、ここでは
sendmail を利用した設定を紹介します。
サーバ管理者に聞いてメモした『sendmailのパス』を『パスに関する設定』→『sendmailのパス』に記入します(例:
/usr/bin/sendmail)
『メールに関する設定』の以下の項目を設定。
- 『レスお知らせメールの使用の有無』
使用にチェック
- 『管理者通知メールの使用の有無』
使用にチェック。
- 『メール送信の際のデフォルトの差出人アドレス』
あなたのメールアドレスにしましょう。
(7)gzip の設定。
お使いのサーバが gzip
をサポートしているのであれば、(SS)C-BOARDのパフォーマンスの向上が望めます(gzipについては、FAQをご覧ください)。
『パスに関する設定』→『gzipのパス』にサーバ管理者に聞いてメモしたパスを設定します(例:
/usr/bin/gzip)
(8)あとはお好みで。
(SS)C-BOARDはこの他に沢山の設定項目があります、一度にすべての設定を行うのは難しいでしょうし、わけのわからない項目もあるでしょう。
ひとつひとつお好みで設定していく事をお薦めします。
【参考】
当コーナーを記述するにあたり、下記のサイトを参考にさせていただきました。
とほほのwww入門
、 ネットサーフレスキュー【Web裏技】
|