いうエラーメッセージが出ます。絶対パス(フルパス)と相対パスの違いは?文字化けが生じてしまいます。掲示板を複数設置したい。ログが突然消えてしまいました。CGIがダウンロード状態となります。プログラムの文法チェックを行いたい。掲示板等での投稿時間がずれます。掲示板又はチャットで画像アイコンが出ません。いつのまにかcoreという名前のファイルができました。UTF-8コードのプログラムでメールの一部が文字化けします。日本語以外(中文、ハングル文字等)の2バイト文字を使いたい。掲示板が荒らされます。suExec環境、CGIWrap環境とは何ですか?サーバエラーが出ますこれは汎用的なエラーメッセージでこれだけでは原因を特定できないのが正直なところです。一般的には以下の原因が考えられます。心当たりあるものに優先順位を付けてチェックしてみてください。これはプロバイダによって異なりますので、プロバイダが用意するCGIの設置手順書を確認してみてください。次の2つであることが多いようです。コマンドを打ち込めばそのパスが表示されます。Perlのパスは必ず先頭行になければなりません。その前に「改行」や「スペース」行があってもだめですのでご注意ください。FTPの転送モードに誤りがある。FTPの転送モードには2種類あります。CGIスクリプトやログファイル関連はほとんどのケースで「テキストモード」で転送します。「CGIスクリプト」と呼ばれるものはすべて「テキストモード」での転送ですので、間違いなく「テキストモード」で転送したかをFTPツールソフトの設定をご確認下さい。パーミッション(アクセス権)が正しくないプログラムのパーミッションが、実行権のある設定値(通常は755)になっていない可能性があります。プログラムや設定ファイルの修正時に、誤って文法違反を起こしてしまっている。文法違反は、「Perlチェッカー」で文法チェックを行ってみてください。PerlチェッカーシフトJISで特殊文字を使用している。シフトJISの一部には、クォートの末尾にそのまま記述すると、サーバエラーになることがあります。文法エラーとなる上記の場合、以下のようにエスケープ記号(¥)を直後に付加します。'エスプレッソ\';詳しくは、以下のページを参考にしてください。いうエラーメッセージが出ますこれは大まかには2つの原因が考えられます。設定されたパーミッション(アクセス権)に実行権がない。パーミッションを755または705(実行可能なアクセス権)に設定して下さい。パーミッションの設定方法は、大抵はFTPソフトで行いますので、お使いのソフトウェアの操作方法に従って慎重に行って下さい。(参考:アクセス権について)CGIファイルが、プロバイダ側の指定するディレクトリ(又はCGI専用サーバ)に置かれていない。所定のCGI専用サーバに転送してください。絶対パス(フルパス)と相対パスの違いは?相対パスとは、あくまでも対象が自分の位置を起点としてみた位置関係を指します。../cgi-bin/bbs.datこれに対して絶対パス(フルパス)とは、自分がどこにいても不変の位置を指します。フルパスには大きく2つの意味があるので注意が必要です。サーバパスサーバ内のパスをいいます。(例)/var/www/home/bbs/index.htmlURLパスURLのパスをいいます。http://から記述します。(例)http://www.example.com/bbs/index.htmlサーバパスである「フルパス」については、以下の「Fullpathビューワー」を利用すると、正確なフルパスが表示されます。文字化けが生じてしまいます日本語の文字コードは、大まかには次の4種類が存在します。Shift-JISWindowsやMacintoshで使われる基本の文字コードEUCUnixで使われる基本の文字コードJIS主に電子メール上で使用される文字コード。UTF-8国際標準の文字コードであるUnicodeの代表格の1つ。近年はその使用割合が多くなってきた。これらの文字コードが混在したり、システム的な要因で文字コードの一部が崩れることで、いわゆる文字化けが生じます。具体的には、次のような内容をチェックしてみてください。Shift-JIS特有の文字化けShift-JISを使用するときに、特定の文字がダブルクォート内で文字化けが生じることがあります。饅この場合、エスケープ文字(¥マーク)を後につけるか、文字をシングルクォートにすることで、文字化けを防ぐことができます。文字化けしない詳しくは、以下のページをご覧ください。半角カナや機種依存文字は、原則として使用禁止です。掲示板等への投稿コメントに、これらの文字を使用すると、文字化けが生じることがあります。具体的な機種依存文字は、以下のリンクを参照してください。機種依存文字チェッカーFTPソフトが自動変換していないか?FTPソフトの設定で、転送するCGIスクリプトの文字コードを自動変換する機能が付いているものがありますが、ユーザの知らないうちに自動変換してしまうケースがあります。表示画面全体が文字化けしてしまうケースでは、この原因も疑ってみましょう。掲示板を複数設置したい掲示板等を複数設置したい場合には、掲示板ごとにフォルダを分割して設置してください。bbs.datログが突然消えてしまいました掲示板やカウンターで、突然データファイルが消滅してしまうことがあります。それは、データファイルの更新処理を行うときに、たまたま複数のアクセスが同じタイミングで重なった時に発生します。通常は、flock関数を用いて、同時アクセスによるデータファイルの破損を回避するようにはしています。サーバがアクセス過多により緩慢な状態にあるときなど、ごく稀に発生することがあります。これを「完全に」回避する方策は難しいため、データファイルはこまめにバックアップを取っておくようにします。バックアップの具体的な方法FTPソフトでご自分のパソコンへデータファイルをダウンロードしておきます。何らかのデータ消失があったときに、パソコン側に保管してあるデータファイルを、サーバ側へアップロードすれば、データを復旧することができます。CGIがダウンロード状態となります(又はソース表示されてしまいます)プログラムそのものがダウンロード状態になったり、ブラウザ上にソース表示される場合は、その原因は以下の2点が考えられます。サーバがCGIファイルだと認識していない。サーバ側でCGIプログラムの置くディレクトリが限定されていて、それ以外ディレクトリに置いてしまっているためです。この場合は、プロバイダの設置手順書を確認し、所定のディレクトリへ正しく置き直します。いう設定ファイルを置く必要がある場合があります。.cgiサーバがWindowsサーバで、PerlIS仕様の場合これは画面を表示させるContent-typeヘッダー部を、次のように修正する必要がある場合があります。text/html\n\n";プログラムの文法チェックを行いたい。お使いのサーバで、telnetが使用できるならば、以下のようなコマンドを打ち込むことで、プログラムの文法チェックを行うことができます。bbs.cgiしかしながら、telnetの使えないプロバイダの場合には、以下の「Perlチェッカー」をダウンロードして、利用することでウェブから容易に文法チェックを行うことができます。掲示板等での投稿時間がずれます掲示板等での投稿時間が実際の時刻とずれる場合、以下の2つのパターン毎に対処を行なってください。時間単位でズレが生じる場合(数時間ずれる)時間単位でずれる場合には、サーバ内の時刻がグリニッジ標準時になっているか(9時間ずれる)、又はサーバが海外にあるケースではその現地時間となっている場合があります。時間取得の処理の部分では、localtime関数が記述してるあるところがありますので、その直前に以下の一行を書き加え、「日本時間」に修正します。localtime();あるいは、次のようにして、直接time関数に時刻修正を行う方法もあります。9*60*60);分単位でズレが生じる場合(数分ずれる)分単位でズレが生じる場合には、これはサーバ機のシステム時計の時間ズレの可能性があります。この場合はプロバイダへ時刻修正の依頼を行う他ありません。アイコン対応の掲示板を設置した場合に、「画像アイコン」が出ないという質問をいただくことがあります。これは大きく以下の2つの原因が考えられます。画像への「パス指定」が正しくない設定ファイル(init.cgi)での画像ディレクトリパスをよく確認します。http://からの絶対パスで記述するのも1方法です。'http://www.example.com/img';画像を置いてはいけないディレクトリに転送しているプロバイダの設置規定上、HTMLファイル(画像ファイル含む)を置くディレクトリと、CGIファイルを置くディレクトリを分けている場合があります(cgi-binディレクトリでなど)。このような環境下では、画像ファイルは、HTMLを置くディレクトリ側に配置するようにします。いう名前の大きなファイルが出来てしまうことがあります。このcoreファイルが出来てしまう原因には、以下のようなことが考えられます。サーバの動作が不安定な場合サーバにインストールされるPerlとCGIプログラムの相性が良くない大量データの検索などで、処理時間が異常にかかった時これはCGI実行中にプログラムが異常終了してしまうと、サーバはメモリ上に蓄えられていたプロセスを「core」というファイル名で吐き出してしまうためです。ファイル容量も比較的大きく(1〜2MB単位)、ディスクスペースも圧迫してしまうことがあります。coreファイルができた場合は、これを削除して構いませんが、頻繁に出来てしまう場合には、(サーバとの相性不一致と考えて)このCGIプログラムの使用を中止する他ありません。UTF-8コードのプログラムでメール送信した場合、届いたメールの一部が文字化けすることがあります。テキストエディタでメール本文のテンプレートを編集した場合に、「BOM付き」で保存すると、このようなことが起こることがあります。UTF-8コードのテンプレートやプログラムを編集する場合は、必ずBOM無し(UTF-8N)で保存するようにします。プログラム中に、Jcode.pm等によるコード変換処理がある場合には、それは日本語の場合ですので、すべて無効化にする改造が必要です。以下のリンクを参考にしてみてください。中文電脳/UTF-8で簡単多言語CGI掲示板が荒らされます掲示板あらしに悩まされる人も多いようです。こればかりは「完全な対策」というのは難しいのが現状です。対策方法としては、「LQアクセス制限ライブラリ」というアクセス制限用のライブラリが公開されていますので、これを組み込むことで対策の1つとすることはできます。以下のページを参考にしてみてください。プログラムが起動し、ファイルの読み書きや実行がそのユーザ権限で実行できるため、セキュリティ的に安全になります。ファイルの所有者権限で動作させたほうが安全かというと、例えば一般サーバでは、掲示板のログファイルはパーミッションを666又は606に設定します。6しかしながら、このような環境では、例えばログファイルのURLを直接指定することでダウンロードさせることができたり、あるいは同一のサーバ内のID所有者などからもログファイルの読み書きが可能になってしまう危険性が考えられます。指定可能にすれば、このような危険性がなくなることになります。1997-2019.。