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

てがろぐ mixhostでのセットアップ手順

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

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

mixhostでの設置方法

セットアップ手順概要

てがろぐをmixhostのサーバにセットアップする方法は、下記の通りです。

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

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

mixhostでは、旧サーバと新サーバ(2022年に移行されたサーバ)で仕様が大きく異なるようです。ここでは新サーバでのセットアップ方法を説明しています。

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

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

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

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

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

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

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

  • CGI
  • Time::Local

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

2022年11月現在では、おそらく下記の2つのバージョンのモジュールをインストールできます。

  • CGI Version4.54
  • Time::Local Version1.30

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

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

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

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

▼tegalog.cgi ファイルの77行目(付近)を書き換える

tegalog.cgi の77行目(付近)を見ると my $howtogetpath = 2; という記述があります。 mixhostのサーバで使うには、この数値を 0 に変更する必要があります。

tegalog.cgi をテキストエディタで開いて、77行目付近に見える

  • my $howtogetpath = 2;

という記述を、

  • my $howtogetpath = 0;

……のようになるよう書き換えて下さい。

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

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

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

お使いのFTPソフトに転送モードの設定がある場合は、「アスキーモード(テキストモード)」にしておく方が無難※2です。

※1:Webからアクセスできる場所なら、どこでも好きなディレクトリにアップロードすれば良いです。ただし、WordPressの配下にあるディレクトリにはアップロードしないで下さい(しても良いですが、WordPressの配下にあるディレクトリで使うには、たぶん少々特別な対策が必要です)。

※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

※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でアクセスして下さい。
  • 403 Forbidden になる場合は、
    • ブラウザで tegalog.cgi にアクセスしているかどうかをご確認下さい。 自身で何らかの工夫をしない限り、ディレクトリ名までのURLにアクセスしても表示されません。 ディレクトリ名までのURLで動くようにしたい場合は、さらに『ファイル名「tegalog.cgi」を省略してアクセス可能にする方法』をご参照下さい。
  • 動かない場合は、
    • パーミッションの値を再度ご確認下さい。
    • ソースを編集した場合は、編集していない状態のファイルでまず動作を試してみて下さい。

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

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

mixhost特有の補足情報

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

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

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

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

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

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

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

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