にしし ふぁくとりー:西村文宏 個人サイト

てがろぐ fya.jpでのセットアップ手順

お手軽マイクロブログCGI「てがろぐ」を、fya.jpのWebサーバにセットアップする手順の解説です。

《最終更新: 2022年11月23日 》

fya.jpでの設置方法

セットアップ手順概要

てがろぐをfya.jpのサーバにセットアップする方法は、とても簡単です。

セットアップ手順は下記の2ステップだけです。

  1. 全ファイルを同一のディレクトリ下にアップロードする。
  2. パーミッション(属性値)を指定通りに設定する。

これだけで動作します。

設置手順1:ウェブサーバへファイルをアップロード

てがろぐ公式TOPページからダウンロードしたZIPファイルを展開し、すべてのファイルを任意のディレクトリ※1にアップロードして下さい。(説明用の「README.TXT」は不要です。)

お使いのFTPソフトに転送モードの設定がある場合は、「バイナリモード」にしておく方が無難※2です。

※1:Webからアクセスできる場所なら、どこでも好きなディレクトリにアップロードすれば良いです。ただし、次の2点は避けるようご注意下さい。

  • WordPress等CMSの完全な支配下にあるドメインにはアップロードしない方が無難です(しても良いのですが、WordPressの完全な支配下にあるドメインで使うには、少々特別な対策が必要な場合があります)。

    もちろん自力で解決する知識があるならそこに設置しても構わないのですが、WordPressやそれに付随して用意される.htaccessファイルの設定や仕様に詳しくない場合には、別のサブドメインを使う方が早いと思います。 (WordPressの存在するドメインであっても、WordPressのセットアップされているディレクトリ配下以外のディレクトリに設置できるなら、おそらく問題はありません。)

  • ウェブサーバに最初から用意されている cgi-bin ディレクトリでは使えません。それ以外のディレクトリにアップロードしてご使用下さい。

    最近のレンタルサーバでは滅多にないと思いますが、ウェブサーバが最初から cgi-bin ディレクトリを用意しているサーバがあります。 ここは特殊な設定がなされているディレクトリなので、ここにCGI一式の全ファイルを入れてしまうと、「動作はするものの、装飾(スキン)が適用されないし、画像も表示されない」という問題が起きます。 このようなサーバでは『cgi-bin ディレクトリの中身はすべて実行ファイルである』という前提で動作させてしまうため、画像やCSSファイルのような『ブラウザがそのまま中身を読めば良い』ファイルを置くと、正しく読んでくれなくなる問題があるためです。 cgi-bin ディレクトリとは『本当にプログラムだけ』を置くためのディレクトリなので、配布CGIの一式全部を設置する場所としては適切ではありません

※2:構成ファイルのうち、少なくとも tegalog.cgi と fumycts.pl の改行コードは [LF] である必要があります。([CR]+[LF]だとエラーになります。)

  • ZIPに含まれているファイルでは最初からそうなっていますので、バイナリモードでアップロードすれば確実です。
  • もし事前にソースを編集する場合は、保存時に改行コードを明示的に指定できるEmEditor等のテキストエディタを使って、改行コードを [LF] にして保存して下さい。
  • 何らかの事情があって、改行コードが [LF] にできているかどうか分からないエディタで編集した場合は、アスキーモード(テキストモード)でアップロードする方が無難かもしれません。

設置後のディレクトリ構造は下図のようになります。 考えるのが面倒なら、とりあえず全部そのままアップロードすれば良いです。
サブフォルダは、フォルダ構造(階層構造)を維持したままアップロードして下さい。

CGI設置後のディレクトリ構造例

図の左側は最小限のファイルだけで使う場合のディレクトリ構造、中央は最小限のファイルだけで使う場合の推奨形※3、右側は完全構成ZIPの全ファイルをUPする場合のディレクトリ構造です。
初めてお使いになる場合は、完全構成版のZIPの中身を全部アップロードして、上図の右端の「完全構成」にすることをお勧め致します。

※3:backupサブディレクトリはデータの自動バックアップのために必要で、imagesサブディレクトリは画像を投稿できるようにするために必要です。なので、この2ディレクトリだけは最小構成で使う場合でもある方が望ましいです。

設置手順2:パーミッションの設定

アップロードしたファイルのパーミッション(アクセス権/属性)を下表の「suEXEC」の方に設定して下さい。

ファイル名パーミッション補足
suEXEC※A一般の場合※B
▼プログラムファイル
tegalog.cgi 700705 755メインCGI (これを実行します) ※0
fumycts.pl 600604 644補助プログラム (メインCGIから呼び出されます)
▼データファイル(CGIによって書き換えられるファイル)
tegalog.xml 600606 666投稿データ記録用ファイル(CGIによって編集されます) ※1,2
tegalog.ini 600606 666設定記録用ファイル(CGIによって編集されます) ※1,3
psif.cgi 600606 666パスワード・セッションID格納ファイル(CGIによって編集されます) ※1,4
▼表示HTML関連ファイル
skin-cover.html 604 644
※たぶんデフォルトのままで可
表示用スキンファイル(テンプレートHTMLファイル:外側用) ※1
skin-onelog.html表示用スキンファイル(テンプレートHTMLファイル:内側用) ※1
tegalog.css 表示用スタイルシートファイル ※1,5
▼サブディレクトリ(※設置は任意)
backup 705707 777自動バックアップファイルが蓄積されるディレクトリ ※6
images 705707 777投稿画像ファイルが蓄積されるディレクトリ ※6
skin-* 705705 755別スキンは「1スキン1サブディレクトリ」で置けます。 ※7

※A:suEXECという安全な仕組みが採用されているサーバでは、こちらの値を設定しないと正しく動かない場合があります。(特にディレクトリの値を「一般の場合」にはしないようご注意下さい。)
※B:ウェブサーバのヘルプをご参照頂き、サーバ側が要求する(推奨する)値があればそれに設定して下さい。そのような情報がないか分からない場合は、まずは「705」や「604」のように真ん中がゼロの値にしてみて下さい。それで支障がある場合には、「755」や「644」などの(真ん中がゼロではない)値の方をお試し下さい。

※0:ファイル名を「index.cgi」に変更しても動作可能ですが、それよりは『ファイル名「tegalog.cgi」を省略してアクセス可能にする方法』の採用がお勧めです。
※1:ファイル名は自由に変更可能です。(ファイル名の変更内容は tegalog.cgi 内に反映させる必要があります。よく分からない場合はデフォルトのままご使用下さい。)
※2:ファイル拡張子は.xml以外に変更しても構いません。(記録形式はXMLです。)
※3:ファイル拡張子は.ini以外に変更しても構いません。(記録形式はINIベースの独自仕様です。)
※4:ファイル拡張子は.cgi以外でも構いませんが、外部から閲覧されるのを防ぐために「.cgi」にしてあります。他の拡張子に変更する場合は、.htaccessファイルなどを使って中身が閲覧されないように設定して下さい。ログイン用のパスワードを忘れてしまった場合は、このファイルの中身を空っぽにして再度アップロードすると、無条件ログインが可能になります。
※5:ファイル拡張子は.cssでなければなりません。ファイル名は、skin-cover.htmlのlink要素に書かれているファイル名に合わせる必要があります(スキンによっては tegalog.css ではない場合もあります)。
※6:このディレクトリには「書き込み権限」の付与が必須です。しかし、サーバでsuEXECが使われている場合は、705等の一般的な値のままで正しく動作します。その場合に777等に設定すると(主に画像表示の面で)正しく動作しなくなる可能性があります
※7:ディレクトリ名は何でも構いません。必ずしも「skin-」で始まっている必要はありません。

➡ 以上で、もう動作するハズです。

ブラウザで tegalog.cgi にアクセスして表示を確認してみて下さい。

▼表示を確認した後
  • 動いた場合は、そのままお使い下さい。
  • 404 Not Found になる場合は、
    • アクセス先が間違っています。「アップロードした先のディレクトリ」と「URL」との関係を再度ご確認になり、正しいURLでアクセスして下さい。

      てがろぐ自身が「404 Not Found」エラーを出すことはありませんので、もし 404 Not Found エラーが見えたなら、それは100% アクセスするURLが間違っている のが原因です。
      ※例えば、tegalog.cgi と同じ位置に dummy.html などのファイル名で適当なHTMLを置いてみて下さい。そのファイルにアクセスできないのなら、URLが間違っています。

  • 403 Forbidden(You don't have permission to access this resource.)になる場合は、
    • ブラウザで tegalog.cgi にアクセスしているかどうかをご確認下さい。 自身で何らかの工夫をしない限り、ディレクトリ名までのURLにアクセスしても表示されません。 ディレクトリ名までのURLで動くようにしたい場合は、さらに『ファイル名「tegalog.cgi」を省略してアクセス可能にする方法』をご参照下さい。
    • tegalog.cgiにアクセスできているのに(404 Not Foundではなく)このエラーが出る場合は、パーミッションの設定値を再度ご確認下さい。
  • 403 Forbidden(Server unable to read htaccess file, denying access to be safe)になる場合は、
    • おそらく、パーミッションの設定値が間違っています。パーミッションの値を再度ご確認下さい。

      ディレクトリ内をこねくり回しすぎて何が何やら分からんわ……という場合は、一旦そのディレクトリを全部消して、もう一度(アップロードする前の)ディレクトリを新規作成するところからやり直してみることをお勧め致します。^^;

  • 動かない場合(404や403以外のエラーが出る場合)は、
    • パーミッションの値を再度ご確認下さい。
    • ソースを編集した場合は、編集していない状態のファイルでまず動作を試してみて下さい。

      編集していない状態のファイルなら正常に動作する場合は、(編集したことで)改行コードが正しくなくなっている可能性があります。改行コードを明示して保存できるテキストエディタ(EmEditor等)を使って、改行コードは [LF] で保存して下さい。もしくは、FTPソフトの転送モードを「アスキーモード(テキストモード)」に設定してアップロードしてみて下さい。

    • WordPress等のCMSの配下にあるディレクトリにアップロードした場合は、特別な対策が必要な可能性があります。まずは、CMSの影響下にない場所でお試し下さい。
    • そのほか、トラブルシューティング項目等をご参照下さい。

fya.jp特有の補足情報

特にありません。

上記の情報は、2022年11月23日時点のものです。(その後にサーバ仕様が変更されている可能性にもご注意下さい。)

レンタルサーバによっては、同じコースでも契約時期によってサーバの仕様が異なる場合があります。そのため、必ずしも上記のセットアップ方法でうまくいくとは限りません。 上記を確認してもうまくいかない場合は、セットアップ(設置)方法ページのCGIの設置方法項目へ戻り、汎用サーバ向けの各種設定方法を試してみて下さい。
また、動作サンプル(兼サポート掲示板)で、お使いのサーバに関する情報が出ていないかも確認してみて下さい。

初回セットアップ後の補足情報

※推奨する .htaccess ファイル

てがろぐを設置したディレクトリには、下記の内容を含む .htaccess ファイルを設置することを推奨致します。(動作には必須ではありませんが、ある方が望ましいです。)

DirectoryIndex tegalog.cgi

<FilesMatch "psif\.cgi$|\.pl$|\.ini$|\.xml$">
deny from all
</FilesMatch>

1行目は、「tegalog.cgi」を省略して「/」で終わるURLでアクセスできるようにするための記述です。この記述があると短いURLでアクセスできるので便利です。
3~5行目は、Webからアクセスする必要の無いファイルへのアクセスを拒否するための記述です。

もし、psif.cgi のファイル名を変更してアップロードしている場合は、psif\.cgi 部分の記述をそのファイル名に書き換えて下さい(ドット記号は\.のように記述します)。 このpsif.cgiファイルには、セッションID等の情報が記録されます。中身はプログラムではなくデータですが、外部から閲覧されると困るファイルですので、閲覧を防ぐためにファイル拡張子を「.cgi」にしてあります(そうしておけば、.htaccessでアクセスを拒否しない場合でも、Internal Server Errorになって中身は閲覧できませんから安全ですので)。 ファイル拡張子を.cgi以外にした場合は、必ず.htaccessファイルなどを使って中身が第三者から閲覧されないように設定して頂く必要があります。

.htaccessファイルの中身に記述ミスがあると、設置したディレクトリ内全体へのアクセスが Internal Server Error になります。そのため、先にてがろぐCGIを設置して正常に動作することを確かめた上で、その後から .htaccess ファイルを置くことをお勧め致します。
既に .htaccess ファイルがある場合は、上記の記述を追記すれば問題ありません。

※その他の情報

基本的なセットアップ方法は上記の通りですが、他にも、セットアップ方法ページには、

……などの情報もあります。必要でしたら続けてご参照下さい。

« セットアップ方法TOPへ戻る

--- 当サイト内を検索 ---