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

てがろぐ カラフルボックスでのセットアップ手順

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

《最終更新: 2023年9月29日 》

カラフルボックスでの設置方法

セットアップ手順概要

てがろぐをカラフルボックスのサーバにセットアップする方法は、下記の通りです。

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

  1. 不足しているPerlモジュールをサーバにインストールする。
  2. tegalog.cgi内の指定行目を書き換える。
  3. 全ファイルを同一のディレクトリ下にアップロードする。
  4. パーミッション(属性値)を指定通りに設定する。

カラフルボックスでは、旧サーバと新サーバとでは仕様が異なるようです。
●新サーバをお使いの場合は「設置手順1」から順に操作して下さい。
●旧サーバでは、下記の「設置手順1」と、「設置手順2」不要なので、 「設置手順3」から操作を始めて下さい。

設置手順1:不足しているPerlモジュールをサーバにインストールする

カラフルボックスの新サーバには、下記2つのPerlモジュールが初期状態ではインストールされていない仕様のようです。

  1. CGIモジュール
  2. Time::Localモジュール

この2つのPerlモジュールがないと、てがろぐは動作しません。

カラフルボックスには、コントロールパネル(cPanel)からユーザが自力で任意のPerlモジュールをインストールできる機能がありますので、この機能を利用して下さい。
カラフルボックス側の公式ヘルプもご参照下さい(画面イメージがあります)。

➊cPanelにログインして、「ソフトウェア」区画にある「Perlモジュール」ボタンを押します。

➋「Find a "Perl Module"」の部分で、下記の2つをそれぞれ検索します。

  • CGI
  • Time::Local

➌見つかった2つのモジュールをインストールします。

設置手順2:CGI本体ファイル tegalog.cgi の指定行目を書き換える

▼tegalog.cgi ファイルの1行目を書き換える

tegalog.cgi をテキストエディタで開いて、1行目をサーバ会社が指定する通りに書き換える必要があります。
下図の赤丸部分に見える、CGIソースの1行目にある #! /usr/bin/env perl の記述を、 #! /usr/bin/perlml のように書き換えて下さい。

tegalog.cgiソースの1行目を書き換える

テキストエディタには、EmEditorをお勧めしています。てがろぐCGIの開発にもEmEditorを使っています。(EmEditorは、無料版として使うこともできます。)
そのほか、文字コードにUTF-8(BOMなし)が扱えて、改行コードを明示的に[LF]に指定して保存できるテキストエディタなら、何を使っても問題ありません。
※てがろぐVer.3以降のファイルは、Windows7以下の「メモ帳」では編集できませんのでご注意下さい。(改行コード[LF]が改行として認識されないため。) Windows10以降なら「メモ帳」でも大丈夫ですが。

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

てがろぐ公式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]だとエラーになります。)

  • ソースを編集した場合、[LF]以外の改行コードが混ざらないよう編集できたかどうかが分からない場合は、FTPソフト側で改行コードを変換するアスキーモードを使う方が無難です。
  • 保存時に改行コードを明示的に指定できるテキストエディタを使って、改行コードを [LF] にして保存できているなら、バイナリモード(または転送モードの指定がないFTPソフト等)でアップロードして問題ありません。

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

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

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

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

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

アップロードしたファイルのパーミッション(アクセス権/属性)を下表の「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
▼オプション ファイル(※設置は任意)
tegup.php 604 644
※動かなかったら 705
てがろぐを1クリックでバージョンアップできるツール「TegUp※8

※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-」で始まっている必要はありません。
※8:このファイルは、PHPが使えるサーバにだけ設置して下さい。たいていのサーバでは 604 で動くと思いますが、「PHPは 705 でないと動かない」という環境もありますので、その場合は 705 にして下さい。(PHPが使えないサーバでは、このファイルは削除して下さい。このPHPファイルを設置しなくても、てがろぐの動作に支障はありません。)

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

ブラウザで 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の影響下にない場所でお試し下さい。
    • そのほか、トラブルシューティング項目等をご参照下さい。

カラフルボックス特有の補足情報

サーバ側の公式機能を使ってPerlモジュールをインストールする方法のほか、tegalog.cgiと同じ階層に直接2つのモジュール(CGIモジュールとTime::Localモジュール)を置くことで読み込ませる手もあります。ただ、その方が手間がかかりますので、不都合がなければサーバ側の公式機能を使う方が良いと思います。

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

レンタルサーバによっては、同じコースでも契約時期によってサーバの仕様が異なる場合があります。そのため、必ずしも上記のセットアップ方法でうまくいくとは限りません。 上記を確認してもうまくいかない場合は、セットアップ(設置)方法ページの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へ戻る

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