トラブルシューティング

トラブルシューティング

よくあるトラブルとその対処法です。苦労して設置したのにエラー画面が出るととっても悲しいですが、冷静に手順を見直しましょう。

ダウンロードできない

右クリックをして『対象をファイルに保存』とするか、Shiftキーを押しながらクリックしてください。

プログラムがそのまま表示される

サーバーがCGIファイルを認識できていない状態です。.htaccessファイル(特殊な設定ファイル)を設置しなければならない場合があります。プロバイダのサポートページなどを調べてください。

Not Found と表示される

指定したアドレスにファイルが存在しないときに表示されます。CGIを呼び出す際のURLを確認しましょう。スペルを一つ間違うだけで当然アウトです。

また、プロバイダによってはCGIのみ別サーバーになっている所もあります。

Forbidden と表示される

CGIにアクセスする権限が無いときに表示されます。パーミッションを確認しましょう。

プロバイダによっては cgi-bin ディレクトリなど、特定のディレクトリに設置しなければならないこともあります。

Internal Server Error と表示される

Internal Server Errorは非常に原因を特定するのが難しいエラーです。以下の点をチェックしてください。

原因が判らない場合、CGIファイルの初めの方にある use strict; と書かれた直後の行に

use CGI::Carp qw(fatalsToBrowser);

と記述すると、大抵の環境ではエラー内容を確認する事ができます。

なお、

Undefined subroutine &Jcode::euc_utf8 called

のようなエラーが表示された場合、日本語変換モジュールのバージョンが影響している可能性が高いです。頻繁に日本語変換モジュールを呼び出さないプログラムはモジュールを添付していないのですが、その場合、サーバー側にインストールされているモジュールが利用されます。大抵のサーバーでは問題ないのですが、稀にモジュールのバージョンの影響で正しく動作しないことがあります。

この場合、Web Diary Pro などに付属している lib/Jcode.pmlib/Jcode/lib/ 内にアップロードすると解消されるようです。

『Chmod Error』と表示される

Professional版で、CGIからの自動パーミッション設定が行えない状態です。

この場合、lib/webliberty/App/Init.pm にある chmod_mode => 1, の部分を 1 から 0 に変更してからセットアップすると、自動的にパーミッション設定を行わなくなります。

設定を変更した場合は以下の構成を参考に、FTPソフトからパーミッション設定を行ってください。(ここに書かれていないファイルは設定不要です。)
data 内の各ファイルとディレクトリはセットアップ時に自動作成されますが、もし作成されなければ手動で作成してアップロードした後、パーミッション設定を行ってください。

また、CGIからファイルの作成を行うとFTP経由で削除ができなくなるサーバーがあります。その場合は以下の構成を参考に、FTPソフトで必要なファイルを data 内にアップロードしてからパーミッション設定を行ってください。もし削除できないファイルが残ってしまったら、Web Eraser を使用すればCGIの持つ権限でファイルやディレクトリの削除が行えます。

Web Diary Professional の場合

diarypro / diary.cgi       [755]
  |        diary-paint.cgi [755]
  |        diary-tb.cgi    [755]
  |        index.html      [666]
  |
  +-- archives [777] /
  |
  +-- data [777] / field.log     [666]
        |          icon.log      [666]
        |          init.cgi      [666]
        |          link.log      [666]
        |          menu.log      [666]
        |          navi_end.js   [666]
        |          navi_start.js [666]
        |          profile.log   [666]
        |          record.log    [666]
        |          text.js       [666]
        |          title.js      [666]
        |          top.log       [666]
        |          user.log      [666]
        |
        +-- comment [777] / index.log [666]
        |
        +-- diary [777] / index.log [666]
        |
        +-- icon [777] /
        |
        +-- image [777] /
        |
        +-- paint [777] /
        |
        +-- pch [777] /
        |
        +-- thumbnail [777] /
        |
        +-- trackback [777] / index.log [666]
        |
        +-- upfile [777] /

user.log には以下の内容を記述しておいてください。

admin<タブ>I6gt7k4bCYO8E<タブ>root<改行>

<タブ><改行> の部分は、実際はそれぞれタブと改行を記述してください。さらにその後、?mode=setup を付加してプログラムを実行してください。

これで管理者パスワード 1234 で管理ページにログインする事ができます。パスワードはログイン後に変更しておいてください。

Web Gallery Professional の場合

gallerypro / gallery.cgi    [755]
  |          gallery-tb.cgi [755]
  |          index.html     [666]
  |
  +-- archives [777] /
  |
  +-- data [777] / field.log     [666]
        |          icon.log      [666]
        |          init.cgi      [666]
        |          link.log      [666]
        |          menu.log      [666]
        |          navi_end.js   [666]
        |          navi_start.js [666]
        |          profile.log   [666]
        |          record.log    [666]
        |          text.js       [666]
        |          title.js      [666]
        |          top.log       [666]
        |          user.log      [666]
        |
        +-- comment [777] / index.log [666]
        |
        +-- gallery [777] / index.log [666]
        |
        +-- icon [777] /
        |
        +-- image [777] /
        |
        +-- option [777] /
        |
        +-- relate [777] /
        |
        +-- stock [777] /
        |
        +-- thumbnail [777] /
        |
        +-- trackback [777] / index.log [666]
        |
        +-- upfile [777] /

user.log には以下の内容を記述しておいてください。

admin<タブ>I6gt7k4bCYO8E<タブ>root<改行>

<タブ><改行> の部分は、実際はそれぞれタブと改行を記述してください。さらにその後、?mode=setup を付加してプログラムを実行してください。

これで管理者パスワード 1234 で管理ページにログインする事ができます。パスワードはログイン後に変更しておいてください。

Web Board Professional の場合

boardpro / board.cgi  [755]
  |        index.html [666]
  |
  +-- data [777] / board.log [666]
        |          init.cgi  [666]
        |          icon.log  [666]
        |          pwd.log   [666]
        |          rank.log  [666]
        |          record.js [666]
        |
        +-- icon [777] /
        |
        +-- past [777] /
        |
        +-- tmp [777] /
        |
        +-- upfile [777] /

pwd.log には以下の内容を記述しておいてください。

I6gt7k4bCYO8E<改行>

<改行> の部分は、実際は改行を記述してください。これで管理者パスワード 1234 で管理ページにログインする事ができます。パスワードはログイン後に変更しておいてください。

Web Cart Professional の場合

cartpro / cart.cgi       [755]
  |       cart-tb.cgi    [755]
  |       index.html     [666]
  |
  +-- archives [777] /
  |
  +-- data [777] / customer.log  [666]
        |          field.log     [666]
        |          icon.log      [666]
        |          init.cgi      [666]
        |          link.log      [666]
        |          menu.log      [666]
        |          navi_end.js   [666]
        |          navi_start.js [666]
        |          option.log    [666]
        |          profile.log   [666]
        |          rank.log      [666]
        |          record.log    [666]
        |          text.js       [666]
        |          title.js      [666]
        |          top.log       [666]
        |          user.log      [666]
        |
        +-- catalog [777] / index.log [666]
        |
        +-- comment [777] / index.log [666]
        |
        +-- icon [777] /
        |
        +-- image [777] /
        |
        +-- option [777] /
        |
        +-- relate [777] /
        |
        +-- stock [777] /
        |
        +-- thumbnail [777] /
        |
        +-- trackback [777] / index.log [666]
        |
        +-- upfile [777] /

user.log には以下の内容を記述しておいてください。

admin<タブ>I6gt7k4bCYO8E<タブ>root<改行>

<タブ><改行> の部分は、実際はそれぞれタブと改行を記述してください。さらにその後、?mode=setup を付加してプログラムを実行してください。

これで管理者パスワード 1234 で管理ページにログインする事ができます。パスワードはログイン後に変更しておいてください。

『Read Error』と表示される

ログファイルを読み出せない状態です。ファイルがアップロードされているか、ファイル名が間違っていないか、パーミッションは606に設定されているか、チェックしてください。

表示されたページが文字化けしている

プログラムやスキンファイルの文字コードが不正な場合、日本語変換モジュールが正しく機能しなかった場合などに、文字化けが発生する可能性があります。

文字化けには、色々な原因が考えられます。以下のことをチェックしてみてください。

#!/usr/local/bin/perl -I../lib
use Jcode;

/usr/local/bin/perl の部分は、サーバーに合わせたPerlのパスを設定しておきます。

管理者ページにログインできない

管理者ページにログインしても、操作しようとするとログイン画面に戻される事があります。管理者ページでのログイン状態の保持にCookieを使用しているプログラムがありますので、ブラウザのCookieがONになっているか確認してみてください。

また、Cookieが利用できないサーバーが稀にあるようですが、その場合はプログラムを利用する事はできません。サーバー引越しの検討をお願いします。

『ファイルがロックされています』と表示される

ログの破損防止のためのロックファイルが作成されている状態です。しばらく時間をおいてからもう一度投稿してみてください。

また、何らかの理由でロックファイルが削除されずに残ってしまう場合もありますが、10秒以上前に作成されたロックファイルは自動的に削除されますので、この場合もしばらく時間をおいてからもう一度投稿してみてください。

もしくは、ロックファイルが作成できない状態の可能性もあります。ロックファイルを作成するディレクトリのパーミッションを707に設定してください。 プロバイダによっては705などに設定しなければならないこともあります。

ファイルアップロード時に『Write Error』と表示される

アップロードファイル保存ディレクトリが存在するか、パスは間違っていないか、パーミッションは正しく設定されているかを確認してください。CGIとは別のディレクトリにアップロードしなければ表示できないサーバーもあります。

プロバイダのサポートページや、特殊なサーバーでの設置方法を参照してください。

アップロードした画像ファイルが表示されない

画像ファイルへのパスが間違っていないか、アップロードしたファイル名が間違っていないかを確かめてください。CGIとは別のディレクトリにアップロードしなければ表示できないサーバーもあります。

プロバイダのサポートページや、特殊なサーバーでの設置方法を参照してください。

リンク元の情報が正しく取得できない

Web Analyze にはリンク元のURLを取得する機能があります。ですが、リンク元の情報は『呼び出されたページのURL』を JavaScript によって取得するので、フレーム内のページに Web Analyze を設置した場合は正しく情報を取得できません。

この場合 Web Analyze を設置する際にHTMLファイルに記述した

<script type="text/javascript">
<!--
document.write('<img src="./cgi-bin/analyze/analyze.cgi?'+ screen.width + 'x' + screen.height + '&amp;' + document.referrer + '" alt="" width="1" height="1" />');
//-->
</script>

この処理の、

document.referrer

上記の部分を以下のように変更してください。

parent.document.referrer

これでリンク元の情報が取得できるようになります。

各CGIは外部HTMLファイルでデザイン変更ができるので、必要に応じてそれらのファイルに広告表示用のHTMLを追加します。

表示される投稿日時がずれている

海外にサーバーがある場合など、投稿日時がずれて表示されることがあります。

時差を修正するには、CGIの設定項目内に以下の設定を追加することで対処ができます。

$ENV{'TZ'} = 'JST-9';

この場合、-9 の部分で9時間ずらしています。状況によって +5-10 など、適宜変更してください。

メール送信機能のあるプログラムで、送信メールの日時がずれている場合、lib/webliberty/Sendmail.pm の70行目あたりにある

open(webliberty_Sendmail, "| $self->{sendmail} -t") or return(0, "Sendmail Error : $self->{sendmail}");

この直後に、以下の処理を追加してください。

my($sec, $min, $hour, $day, $mon, $year, $week) = localtime(time);
my @week = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
my @month = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
my $date = sprintf("%s, %d %s %04d %02d:%02d:%02d +0900 (JST)", $week[$week], $day, $month[$mon], $year + 1900, $hour, $min, $sec);
print webliberty_Sendmail "Date: $date\n";

Basic認証下でしぃペインターが使用できない

Basic認証下でしぃペインターを使用するには、しぃペインターの設定を変更する必要があります。skin/admin_paint.html の110行目あたりにある

<param name="send_advance" value="true" />

この部分を以下のように変更してください。(truefalse に変更。)

<param name="send_advance" value="false" />

これでBasic認証下でも投稿ができるようになります。

FTP経由で削除できないファイルやディレクトリがある

Professional版は必要なログファイルを自動で作成し、自動でパーミッションの設定も行います。ですが、CGIからファイルの作成を行うとFTP経由で削除ができなくなるサーバーがあります。

対処方法は、『Chmod Error』と表示されるの解説をご覧ください。

FONTタグで文字サイズを変更できない

現在のバージョンは、スタイルシートでフォントサイズを一括して設定しているため、FONTタグを使用して文字サイズを変更することができません。文章内でフォントサイズを変更するには、

<span style="font-size:20px;">拡大する文字</span>

このように記述することでサイズ指定が可能です。

RSSが配信できない

広告が強制挿入されるサーバーの場合、RSS配信機能が正しく機能しないことがあります。広告の強制挿入により、RSSのXMLデータが不正な形式に書き換えられてしまうからです。

一部の広告を表示にする事が許可されているサーバーの場合、その手順に従って広告を非表示にすれば、RSSを正しく配信する事ができます。もし広告非表示が一切許可されていない場合、そのサーバーではRSS配信機能を利用する事はできません。

以下のページでXreaでの対処方法が紹介してくれています。(Xreaユーザー以外でも参考になるかもしれません。)

管理者パスワードを忘れてしまった

Professional版でパスワードを忘れてしまうと、パスワードを確認する方法はありません。パスワード情報はサーバー上に記録してはいるものの、非可逆な暗号化を行っているためです。

この場合、data/user.log (Web Board Pro の場合はdata/pwd.log)をFTPソフトで削除した後、
?mode=setup を付加してCGIにアクセスしてください。具体的には、http://your.site.addr/diarypro/diary.cgi?mode=setup のようなURLでアクセスします。

「管理者パスワードを1234に再設定しました。」と表示されれば成功です。管理者パスワードが 1234 になっているので、この情報で管理者ページにログインすることができます。ログイン後、必ずパスワードを変更しておいてください。

プログラムのバージョンを確認したい

Professional版の場合

バージョンを確認するには、?mode=info を付加してCGIにアクセスします。具体的には、http://your.site.addr/diarypro/diary.cgi?mode=info のようなURLでアクセスします。

このページでプログラム名やバージョン情報などを確認することができます。また、任意のスキンに ${INFO_VERSION} と記述するとバージョン情報が表示されるので、これで確認することも可能です。

Professional版以外の場合

各CGIファイルの先頭に Web Diary Ver 2.00 のような表記がありますが、これがバージョン情報です。