お手軽マイクロブログCGI「てがろぐ」を、WitchServerのWebサーバにセットアップする手順の解説です。
《最終更新: 2023年5月21日 》
WitchServerには、てがろぐのセットアップがコントロールパネルからのボタンクリックだけで完了する、てがろぐインストール専用機能があります。コントロールパネルからセットアップ先ディレクトリを指定して新規セットアップができるほか、インストール履歴から対象を選択してバージョンアップさせる機能もあります。
この専用インストール機能を使ってセットアップして頂くのが最も確実かつ楽です。
詳しい操作方法は、WitchServer公式ヘルプ内のてがろぐインストール専用機能解説ページをご覧下さい。
何らかの都合で、手動でセットアップしたい場合は、これ以降の解説↓をご参照下さい。
てがろぐをWitchServerのサーバにセットアップする方法は、とても簡単です。
セットアップ手順は下記の2ステップだけです。
これだけで動作します。
てがろぐ公式TOPページからダウンロードしたZIPファイルを展開し、すべてのファイルを任意のディレクトリ※1にアップロードして下さい。(説明用の「README.TXT」は不要です。)
お使いのFTPソフトに転送モードの設定がある場合は、「バイナリモード」にしておく方が無難※2です。
※1:Webからアクセスできる場所なら、どこでも好きなディレクトリにアップロードすれば良いです。ただし、次の2点は避けるようご注意下さい。
もちろん自力で解決する知識があるならそこに設置しても構わないのですが、WordPressやそれに付随して用意される.htaccessファイルの設定や仕様に詳しくない場合には、別のサブドメインを使う方が早いと思います。 (WordPressの存在するドメインであっても、WordPressのセットアップされているディレクトリ配下以外のディレクトリに設置できるなら、おそらく問題はありません。)
最近のレンタルサーバでは滅多にないと思いますが、ウェブサーバが最初から cgi-bin ディレクトリを用意しているサーバがあります。 ここは特殊な設定がなされているディレクトリなので、ここにCGI一式の全ファイルを入れてしまうと、「動作はするものの、装飾(スキン)が適用されないし、画像も表示されない」という問題が起きます。 このようなサーバでは『cgi-bin ディレクトリの中身はすべて実行ファイルである』という前提で動作させてしまうため、画像やCSSファイルのような『ブラウザがそのまま中身を読めば良い』ファイルを置くと、正しく読んでくれなくなる問題があるためです。 cgi-bin ディレクトリとは『本当にプログラムだけ』を置くためのディレクトリなので、配布CGIの一式全部を設置する場所としては適切ではありません。
※2:構成ファイルのうち、少なくとも tegalog.cgi と fumycts.pl の改行コードは [LF] である必要があります。([CR]+[LF]だとエラーになります。)
設置後のディレクトリ構造は下図のようになります。
考えるのが面倒なら、とりあえず全部そのままアップロードすれば良いです。
サブフォルダは、フォルダ構造(階層構造)を維持したままアップロードして下さい。
図の左側は最小限のファイルだけで使う場合のディレクトリ構造、中央は最小限のファイルだけで使う場合の推奨形※3、右側は完全構成ZIPの全ファイルをUPする場合のディレクトリ構造です。
初めてお使いになる場合は、完全構成版のZIPの中身を全部アップロードして、上図の右端の「完全構成」にすることをお勧め致します。
※3:backupサブディレクトリはデータの自動バックアップのために必要で、imagesサブディレクトリは画像を投稿できるようにするために必要です。なので、この2ディレクトリだけは最小構成で使う場合でもある方が望ましいです。
アップロードしたファイルのパーミッション(アクセス権/属性)を下表の「suEXEC」の方に設定して下さい。
ファイル名 | パーミッション | 補足 | |
---|---|---|---|
suEXEC※A | 一般の場合※B | ||
▼プログラムファイル | |||
tegalog.cgi | 700 | 705 755 | メインCGI (これを実行します) ※0 |
fumycts.pl | 600 | 604 644 | 補助プログラム (メインCGIから呼び出されます) |
▼データファイル(CGIによって書き換えられるファイル) | |||
tegalog.xml | 600 | 606 666 | 投稿データ記録用ファイル(CGIによって編集されます) ※1,2 |
tegalog.ini | 600 | 606 666 | 設定記録用ファイル(CGIによって編集されます) ※1,3 |
psif.cgi | 600 | 606 666 | パスワード・セッションID格納ファイル(CGIによって編集されます) ※1,4 |
▼表示HTML関連ファイル | |||
skin-cover.html | 604 644 ※たぶんデフォルトのままで可 | 表示用スキンファイル(テンプレートHTMLファイル:外側用) ※1 | |
skin-onelog.html | 表示用スキンファイル(テンプレートHTMLファイル:内側用) ※1 | ||
tegalog.css | 表示用スタイルシートファイル ※1,5 | ||
▼サブディレクトリ(※設置は任意) | |||
backup | 705 | 707 777 | 自動バックアップファイルが蓄積されるディレクトリ ※6 |
images | 705 | 707 777 | 投稿画像ファイルが蓄積されるディレクトリ ※6 |
skin-* | 705 | 705 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 にアクセスして表示を確認してみて下さい。
てがろぐをさらに複数個セットアップして併用する場合は、セットアップ方法ページの「CGIを複数個設置して併用する方法」もご覧下さい。
てがろぐ自身が「404 Not Found」エラーを出すことはありませんので、もし 404 Not Found エラーが見えたなら、それは100% アクセスするURLが間違っている のが原因です。
※例えば、tegalog.cgi と同じ位置に dummy.html などのファイル名で適当なHTMLを置いてみて下さい。そのファイルにアクセスできないのなら、URLが間違っています。
You don't have permission to access this resource.
)になる場合は、
Server unable to read htaccess file, denying access to be safe
)になる場合は、
ディレクトリ内をこねくり回しすぎて何が何やら分からんわ……という場合は、一旦そのディレクトリを全部消して、もう一度(アップロードする前の)ディレクトリを新規作成するところからやり直してみることをお勧め致します。^^;
編集していない状態のファイルなら正常に動作する場合は、(編集したことで)改行コードが正しくなくなっている可能性があります。改行コードを明示して保存できるテキストエディタ(EmEditor等)を使って、改行コードは [LF] で保存して下さい。もしくは、FTPソフトの転送モードを「アスキーモード(テキストモード)」に設定してアップロードしてみて下さい。
WitchServer公式マニュアル内に、「てがろぐの設置について」というTipsページがあります。てがろぐCGIを自力で(手動で)セットアップする際の参考情報が詳しく解説されていますので、そちらもご参照下さい。
なお、よほど何か不都合がない限りは、WitchServerのコントロールパネルから「てがろぐ」をセットアップできる専用インストール機能を使うのがお勧めです。
上記の情報は、2023年5月21日時点のものです。(その後にサーバ仕様が変更されている可能性にもご注意下さい。)
レンタルサーバによっては、同じコースでも契約時期によってサーバの仕様が異なる場合があります。そのため、必ずしも上記のセットアップ方法でうまくいくとは限りません。
上記を確認してもうまくいかない場合は、セットアップ(設置)方法ページのCGIの設置方法項目へ戻り、汎用サーバ向けの各種設定方法を試してみて下さい。
また、動作サンプル(兼サポート掲示板)で、お使いのサーバに関する情報が出ていないかも確認してみて下さい。
てがろぐを設置したディレクトリには、下記の内容を含む .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 ファイルがある場合は、上記の記述を追記すれば問題ありません。
基本的なセットアップ方法は上記の通りですが、他にも、セットアップ方法ページには、
……などの情報もあります。必要でしたら続けてご参照下さい。