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

てがろぐ セットアップ(設置)方法

お手軽マイクロブログCGI「てがろぐ」のセットアップ方法です。お使いのサーバに設置する手順を解説しています。
手順と言っても基本は全ファイルをアップロードして、パーミッションを設定するだけです。簡単です。本当に簡単です。説明が長いのは、念のための補足説明が多いだけで、必須の手順はわずか3ステップです。

《最終更新: 2024年03月01日 》

CGIの動作要件

動作要件はとても緩いので、たいていのウェブサーバでは何も気にせず8ファイルをアップロードするだけで使える場合も多そうな気がします。
Perl5さえ使えればたいてい動作します。データベースは不要です。

CGIの設置環境(動作要件)

  • てがろぐCGIは Perl で記述しています。動作には、Perl 5 が必要です。(Perl 5.6以上)
  • CGIモジュールと、Time::Localモジュールがインストールされていることが必須ですが、CGIが使用可能なサーバならたいてい入っているので問題ありません。(もしそれらのモジュールがサーバにインストールされていない場合でも、CGIモジュールTime::Localモジュールを別途入手し、このCGIと同じディレクトリに置いた上で、読み込むよう設定すれば使えます。)
  • それ以外には、特に必要なものはありません。(データベースは使いません。

動作サーバの例

  • さくらインターネットのライトプラン(※最も安いプラン)でも動作します。
  • ロリポップ!のエコノミープラン(※最も安いプラン)でも動作します。
  • プロバイダ提供スペースや、無料サーバでも、CGI(Perl5)の動作が可能ならたいていは問題ない気がします。
  • そのほか、「CGIの設置が可能」と謳っているサーバなら、たいていどこでも動作するでしょう。

当サイトは、「さくらインターネット」のサーバ上で公開されています。 てがろぐCGIの動作テストも、さくらインターネットのサーバで実施しています。さくらインターネットをお使いなら、何も書き換えることなくそのままアップロードしてパーミッションを正しく設定すれば動きます。

▼コントロールパネルから簡単にセットアップできるサーバ

なお、同人・創作サイト専用レンタルサーバー「WitchServer」には、てがろぐのセットアップがコントロールパネルからのボタンクリックだけで完了する、てがろぐインストール専用機能があります。 コントロールパネルからセットアップ先ディレクトリを指定して新規セットアップができるほか、インストール履歴から対象を選択してバージョンアップさせる機能もあります。

CGIの設置方法

CGIの簡単セットアップ手順

レンタルサーバ別のセットアップ方法を下記の通り用意しています。もし下記に該当するサーバをご利用なら、専用のセットアップ方法ページをご覧下さい。



上記のリストにないサーバをご使用の場合は、これ以降に掲載している汎用のセットアップ方法をご覧下さい。

これから新規にレンタルサーバをどこか契約しようと考えている場合は、記事「てがろぐCGIを使うためにサーバを新規契約するなら」の情報もご参照下さい。

なお、ローカルPCにセットアップして http://localhost/ 等のURLで稼働させたい場合は、記事「てがろぐCGIをローカルPCで動かす方法」をご参照下さい。

CGIの簡単セットアップ手順(汎用版)

てがろぐのセットアップ方法は、ダウンロードしたZIPファイル(※ダウンロードはてがろぐ公式TOPページから)を展開して、出てきたファイルをWebサーバの任意の場所にアップロードして、下表に記したパーミッション(アクセス権/属性)に設定するだけです。 ただし、サーバによっては、てがろぐCGI本体(tegalog.cgi)の1行目を、サーバ側が要求するように事前に書き換えておく必要があります。

したがって、セットアップ手順は下記の3ステップだけです。

  1. 必要に応じて tegalog.cgi 内の1行目を書き換える。(※書き換える必要がない場合も多くあります。)
  2. 全ファイルを同一のディレクトリ下にアップロードする。
  3. パーミッション(属性値)を指定通りに設定する。

これだけで動作します。

設置手順1:CGIファイル1行目を(必要に応じて)書き換える

最近のウェブサーバなら、おそらく特に何も書き換えずにそのままアップロードするだけで動くことが多いです。

なので、まずは何も書き換えずに「設置手順2」へ進んで下さい。

もし、最終的に(設置手順3の後で)「500 Internal Server Error」が出るようなら、 CGIソースの1行目にある #! /usr/bin/env perl の記述を、例えば #! /usr/bin/perl#! /usr/local/bin/perl などに書き換える必要があります。 その場合は、tegalog.cgi をテキストエディタで開いて、1行目をサーバ会社が指定する通りに書き換えて下さい。

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

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

ごく一部のサーバでは稀に、tegalog.cgi の77行目付近にある my $howtogetpath = 2; という記述の値「2」を、0、1、9 のどれかに書き換えないと正常に動作しないことがあります。 管理画面等で設定を保存できなかったり、ページ遷移がうまくいかない場合には、ここの値を変更して試してみて下さい。(ただ、ほとんどのサーバでは変更不要です。)
➡ Ver 4.2.0 以降では、この書き換えは一切不要になりました。

設置方法2:ウェブサーバへのファイルのアップロード方法

説明用の「README.TXT」ファイルを除くすべてのファイルを任意のディレクトリ※1にアップロードして下さい。
その際、お使いのFTPソフトに転送モードの設定がある場合は、

  • CGIソースを書き換えずにUPするなら「バイナリモード」にする方が無難です。
  • CGIソースを編集してからUPするなら「アスキーモード(テキストモード)」にする方が無難※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] や、[CR]+[LF]だとエラーになります。

  • ZIPに含まれているファイルでは最初からそうなっていますので、編集していないならバイナリモードでアップロードすれば確実です。
  • ソースを編集した場合でも、改行コードを [LF] にして保存できているならバイナリモードでアップロードできます。しかし、確信が持てない場合はアスキーモード(テキストモード)でアップロードする方が無難かもしれません。

設置後のディレクトリ構造は下図のようになります。
自由に作成したサーバ上のディレクトリへ、必要なファイルをアップロードすれば良いだけです。サブフォルダも含めてアップロードする場合は、フォルダ構造(階層構造)を維持したままアップロードして下さい。 考えるのが面倒なら、とりあえず全部アップロードすれば良いです。(笑)

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

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

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

設置方法3:パーミッションの設定

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

お使いのウェブサーバで「suEXEC」という安全な仕組みが有効になっている場合は「suEXEC」側の値を設定しないと動かない可能性があります。
お使いのサーバの仕様が分からない場合は、下記の3ステップの考え方で試してみて下さい。

  1. まず、「suEXEC」の方の値に設定してみて下さい。それで動けばそのままお使い頂けます。
  2. もし動かなかったり不都合がある場合は、次に「一般の場合」の 705 や 604 のように真ん中がゼロの値を設定してみて下さい。それで動けばそのままお使い頂けます。
  3. それでも動かない場合は、「一般の場合」の 755 や 644 の方の値を設定してみて下さい。
ファイル名パーミッション補足
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の影響下にない場所でお試し下さい。
    • そのほか、トラブルシューティング項目等をご参照下さい。

セキュリティ面で必要な追加セットアップ

てがろぐCGIの正常稼働を確認できた後は、下記の .htaccess ファイルを設置するなどして、Webからアクセスする必要のないファイルへのアクセスをブロックしておくことをお勧め致します。

▼設置を推奨する .htaccess ファイル

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

DirectoryIndex tegalog.cgi

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

上記ソースの .htaccess ファイルは、配布パッケージ(ZIPファイル)に含まれているほか、下記からダウンロードもできます。

  • パッケージ(ZIP)に同梱: てがろぐZIP内に (Recommend).htaccess のファイル名で含まれています。それを .htaccess にリネームしてお使い下さい。
  • 今すぐダウンロードも可: このリンク→ htaccess.zip からダウンロードできます。展開すると出てくる (Recommend).htaccess ファイルを .htaccess にリネームしてお使い下さい。

お使いの環境やお望みに合わせて、他の記述を加えたり書き換えたりしても問題ありません。
既に .htaccess ファイルがある場合は、上記の記述を追記すれば問題ありません。

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

先に、てがろぐの正常稼働を確認してから
.htaccessファイルの中身に記述ミスがあると、設置したディレクトリ内全体へのアクセスが Internal Server Error になります。そのため、先にてがろぐCGIを設置して正常に動作することを確かめた上で、その後から .htaccess ファイルを置くことをお勧め致します。(そうしないと、エラーの原因がどこにあるのかを特定しにくくなりますから。)

WebサーバがApache互換ではない場合は、そもそも .htaccess ファイルによるアクセス制限ができない可能性があります。そのような環境でお使いの場合は、そのサーバに合わせた何らかのアクセス制限方法を使って下さい。

▼てがろぐ稼働ディレクトリに .htaccess ファイルが必要な理由

てがろぐはデータベースを使わない仕組みなため、あらゆるデータはファイルに記録されています。主に以下の3ファイルです。(ファイル名は変更することもできます。)

  • tegalog.xml:すべての投稿データが記録されています。
  • tegalog.ini:すべての設定データが記録されています。
  • psif.cgi:ログイン状態を表すセッションID等が記録されています。

例えば、もし①のファイルをダウンロードできれば、すべての投稿本文が得られます。そこには、下書き状態の投稿本文、予約投稿で公開前の投稿本文、鍵付き状態の投稿本文など、Web上では表示対象外になっている本文も含めて、すべての投稿データが含まれています。 表示対象外になっている投稿が存在せず、すべてが公開済みであれば、このファイルをダウンロードされたところで特に不都合はありません。しかし、表示対象外になっている投稿が存在する場合は、ダウンロードされると困る場合もあるでしょう。 ①のファイルは単なるXMLファイルですから、(何も対策していなければ)ブラウザのアドレス欄にURLを正確に打ち込みさえすれば、誰でも表示(またはダウンロード)できてしまいます。

ここで、先に示した .htaccess ファイル等を使って適切にアクセス制限を施していると、たとえブラウザのアドレス欄にファイルのURLを正確に打ち込まれても、403 Forbidden エラーが表示されるだけで、ファイルは表示もダウンロードもできません。 それによって、見せたくない投稿本文(=下書き状態、予約、鍵付き等のようにWeb上に公開されていない本文)が漏れてしまうのを防げます。

したがって、予約投稿、下書き、鍵付き(パスワード保護)投稿、プライベート動作などの「隠す系統の機能」を使いたい場合には、.htaccess ファイルの設置が必要です。 (※たとえ今は使っていなくても、将来的に使うかもしれないと考えるなら、先に設置しておく方が無難でしょう。)

なお、②のファイルをダウンロードできると、設定値がすべて分かります。それが問題になるかどうかは使い方次第ですが、見せる必要のないものは見えないようにしておく方が無難です。
また、③のファイルは絶対に第三者に閲覧されてはいけないファイルです(漏れると不正アクセスの原因になります)。 拡張子が .cgi なので、.htaccessによる制限がなくても表示・ダウンロードはできないハズですが、念のために.htaccessでアクセスを拒否しておく方が無難です。

画像保存用ディレクトリ(標準では images)には、キャプション等の画像情報を index.xml ファイルに記録しています。もし閲覧されると、画像ファイルの一覧、キャプション、フラグの設定状況などが分かります(閲覧されたところでおそらく問題はないでしょうが)。 .htaccess ファイルによるアクセス制限の影響範囲にはサブディレクトリも含まれますので、先の .htaccess ファイルを設置しておけば、この index.xml へのアクセスも拒否できます。

どうしても .htaccess ファイルを使えない何らかの理由がある場合は、データファイル名を tegalog.xml ではない名称に変更したり、設定ファイル名を tegalog.ini ではない名称に変更したり、バックアップ用ディレクトリ名を backup 以外に変更したりするなど、第三者が推測しにくい名称に変更しておく方が望ましいでしょう。ファイル拡張子をすべて .cgi にしてしまう手もあります。(これらのファイル名・ディレクトリ名は、tegalog.cgi ソースの冒頭付近で変更できます。)

個人情報などの「絶対に漏れてはいけない情報」を書きたい場合は、必ずBasic認証等の「サーバ側で提供されているアクセス制限・認証機能」を使って下さい。 てがろぐ単独の機能だけでそのようなクリティカルな情報を保護することはできません。 (てがろぐCGIそのものは、そこまで堅牢なシステムではありません。)

※基本的に、てがろぐ上で提供される何らかの「隠す」系統の機能はすべて「ネタバレ防止」程度の用途を想定したものです。

セットアップ上の補足

※別スキン(オプションスキン)を使う場合のアップロード先

てがろぐには、複数のスキンをアップロードしておいて、別スキンを一時的に適用する(スキンを切り替える)機能があります。 その機能を使う場合は、「1スキン=1サブディレクトリ」の階層構造でアップロードして下さい。ディレクトリ名は何でも構いません。

「1スキン=1サブディレクトリ」の階層構造でアップロード

スキンファイルは、置き場所に応じて以下のように扱われます。

  • CGIと同じディレクトリにあるスキンファイル(※上図の緑色部分) = 標準スキンとして初期状態で適用される
  • CGIのあるディレクトリのサブディレクトリにあるスキンファイル(※上図のピンク色部分) = 管理画面から切り替えられる別スキンとして機能

てがろぐVer 1.4.0以降には、CGIの管理画面上で本番適用スキンを切り替えられる機能があります。 しかし、本番適用するスキンはCGIと同じディレクトリにスキンファイルを置いておく方が、より高速に動作します。 使用するスキンが確実に決まった場合には、スキンファイルを物理的に移動しておくことをお勧め致します。

別スキンの適用方法やスキン内の各ファイルの役割については、カスタマイズ方法ページ内のスキンをカスタマイズする際に書き換えるファイルもご参照下さい。

※文字コードについて

配布ファイルの文字コードは、すべて UTF-8 になっています。
UTF-8コード以外での動作は想定していませんし実験もしていません。 文字コードは、UTF-8のままアップロードされることをお勧めしますが、他の文字コードを使用したい場合は、全ファイルを使用したい文字コードに変換した上でアップロードして下さい。一部のファイルだけ文字コードを変えると、文字化けが起こります。 (文字コードを変更した場合は、tegalog.cgi の68行目を適切に書き換える必要があります。)
よく分からない場合は、文字コードを変換せずUTF-8コードのままご使用下さい。

※サンプルデータについて

データファイル内には、サンプルデータが含まれています。 サンプルデータが不要なら(※当然不要でしょうが:^^;)最初に使用する際に管理画面上で削除して下さい。 もしくは、中身が空のデータファイル(tegalog.xml)を新しく作成してからアップロードしても構いません。しかし、ファイル自体のアップロードを省略すると、動作時にエラーになります。

CGIの更新方法

ダウンロード

最新版のCGI一式は、TOPページの「CGIのダウンロード」区画からダウンロードできます。

更新情報

最新バージョンで新たに追加された機能や修正された不具合等の案内は、リリースノートでご覧頂けます。追加機能ごとに公式ヘルプ各ページへのリンクも用意していますので参考にして下さい。

てがろぐCGIの本体ファイルを1クリックだけで最新版にバージョンアップできるPHPスクリプト「TegUp」があります。 事前に tegalog.cgi と同じディレクトリに置いておけば、tegup.php にアクセスするだけで最新版の所在を確認し、最新版が公開されていればボタン1クリックで自動バージョンアップします。 ぜひ、ご活用下さい。 (※現在のところ、正式版へのバージョンアップにのみ対応しています。最新β版にバージョンアップする用途には使えませんが、既存のβ版から正式版へのバージョンアップには使えます。)

CGIをバージョンアップする方法

以前のバージョンをお使いの場合は、 tegalog.cgifumycts.pl2ファイルのみ上書きアップロードして下さい。
それ以外のファイルをアップロードする必要はありません。

バージョンアップ時に上書きするファイルは2つだけ

特に、データファイル(tegalog.xml)を上書きしてしまうと、過去の投稿データが消えてしまいますので、くれぐれもご注意下さい。

また、tegalog.ini を上書きしてしまうと設定がリセットされてしまいますし、 psif.cgi を上書きしてしまうとパスワードが無効になってしまいます。

CGIソースに直接記述する形の設定は、上書きするとデフォルト設定に戻ってしまいます。アップロードする前に、以前と同じように編集しておいて下さい。

「確かに上書きアップロードしたのに、バージョンがアップされていない!」という場合は、 トラブルシューティング区画の「最新版を上書きしたのに、バージョンアップできない! なぜだ!? という場合の確認点」項目をご参照下さい。

「今までは動いていたのに、バージョンアップすると動かない!」という場合は、CGI本体(tegalog.cgi)1行目の記述を書き換え忘れていないか確認して下さい。 ただし、Ver 3.7.0以降では、ほとんどの環境で1行目を書き換える必要はなくなっています。まずは何も書き換えずに上書きしてみて下さい。 そのほか、トラブルシューティング区画の「500 Internal Server Errorになってしまう場合の対処方法」項目などもご参照下さい。

※データの互換性について

データファイルは(投稿データも設定も)そのままの状態で、CGIを最新版に更新するだけで使い続けられます。

※Ver 1.x系から Ver.2系 へのアップグレード時でも、データファイルや設定ファイルはそのまま引き継げます
※Ver 2.x系から Ver.3系 へのアップグレード時でも、データファイルや設定ファイルはそのまま引き継げます
※Ver 3.x系から Ver.4系 へのアップグレード時でも、データファイルや設定ファイルはそのまま引き継げます

Ver 1.x系から一気に Ver.4系 へアップグレードする場合でも、データファイルや設定ファイルはそのまま引き継げます

※スキンの更新について

もし、配布されているスキンをそのまま利用している場合は、スキンファイル群も同時に上書きアップロードすれば、新しく加わった表示機能を簡単に活用できます。 スキンをカスタマイズして使っている場合は、上書きアップロードはしないようご注意下さい。その際は、新パッケージに含まれるスキンHTMLやCSSの中身を別途ご覧になりつつ既存スキンを編集すると、カスタマイズしやすいでしょう。

標準添付のスキンはいろいろありますが、スキンのHTMLやCSSソース内に最も詳しくコメントを書き添えてあるのは「標準スキン」です。 新しい機能に関する書き方を、ソースを読んで知ろうとする場合には、「標準スキン」のソースをご覧になることをお勧め致します。

※データが失われてしまった場合は自動バックアップから復元

もし自動バックアップ機能を有効にしている場合は、バックアップ蓄積ディレクトリの中に、直前までのデータファイルが存在します。 データが失われてしまった際には、バックアップ蓄積ディレクトリの中にある最新日付のファイルをダウンロードして、ファイル名を変更し、CGIと同じディレクトリにアップロードすれば(バックアップされた時点のデータが)回復します。

詳しくは、使い方・設定方法ページにある「バックアップから復元する方法」をご覧下さい。

設置上のTIPS/トラブルシューティング

ファイル名をわざわざ index.cgi に変更しなくても、「tegalog.cgi」を省略して「/」で終わるURLでアクセスできるようにする方法

てがろぐ本体を置いたディレクトリに「.htaccess」ファイルを用意して以下の1行を書いておけば、わざわざ「tegalog.cgi」のファイル名を「index.cgi」に修正しなくても、「/」で終わるURLでアクセスできます。

DirectoryIndex tegalog.cgi

この場合、実体の位置は https://www.example.com/memo/tegalog.cgi でも、 https://www.example.com/memo/ という「/」で終わるURLだけで表示できます。

その場合、管理画面には https://www.example.com/memo/tegalog.cgi?mode=admin というURLだけでなく、 https://www.example.com/memo/?mode=admin というURLでもアクセスできます。

てがろぐ動作試験版では、CGIの実体は https://www.nishishi.org/testground/tegalog/tegalog.cgi にありますが、 上記の方法を使って https://www.nishishi.org/testground/tegalog/ というURLでもアクセスできるようになっています。

アップロードした画像が表示されない、ありがちな理由

投稿画像を蓄積するための「images」サブディレクトリのパーミッション設定が誤っていないかどうかを確認してみて下さい。

画像の投稿はエラーなく完了するのに、表示だけがされないという場合は、ほぼ間違いなく、imagesディレクトリのパーミッションの設定を 707 (777) や 706 (766) にしてしまっていることが原因です。705 や 755 などに変更して下さい。

「suEXEC」という安全な仕組みが有効のサーバでは、ディレクトリのパーミッションを誤って「一般の場合」の値に設定してしまうと、「画像投稿は完了するのに、画像が一切表示されない」という動作上の不具合が起こることがあります。 ディレクトリのパーミッションを正しく設定し直せば解決します。

suEXECという安全な仕組みが有効なサーバでは、サブディレクトリのパーミッションはデフォルトのまま(755など)で構いません。 ここで(全員に書き込み権限を付加する意味の)777 や 766 等にしてしまうと、そのサブディレクトリに格納されたあらゆるファイルは(安全のために)表示されなくなります。 その場合は、サブディレクトリのパーミッションを 705 や 755 に変更すると表示されるようになります。(さくらインターネットやロリポップでは 705 にして下さい。)

※お使いのサーバでどのような値に設定する必要があるのかは、レンタルサーバ別のセットアップ方法を用意していますのでそちらをご参照下さい。
※その一覧に存在しないレンタルサーバをお使いの場合、各ファイルのパーミッションの値については「設置方法3:パーミッションの設定」をご参照下さい。

404 Not Foundや、403 Forbiddenになる、ありがちな理由

構成ファイル群をアップロードしたハズなのに、ブラウザでアクセスすると「404 Not Found」や「403 Forbidden」のエラーが出てしまう場合は、tegalog.cgi にアクセスしているかどうかを確認して下さい。

▼確認ポイント1(404 Not Found エラーが出る場合):

「アップロード先のディレクトリ」と「URL」との関係を再度ご確認頂き、アップロードした場所を指し示すURLにアクセスできているかどうかをご確認下さい。

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

▼確認ポイント2(403 Forbidden エラーが出る場合):

自身で何らかの工夫をしない限り、「ディレクトリ名までのURL」にアクセスしても表示されません。
例えば https://ドメイン/tsubuyaki/ のディレクトリにアップロードした場合は、https://ドメイン/tsubuyaki/tegalog.cgi にアクセスする必要があります。

もし「ディレクトリ名までのURL」で動くようにしたい場合は、さらに『ファイル名「tegalog.cgi」を省略してアクセス可能にする方法』で説明している方法等を使う必要があります。 (この方法が使えない場合は、 tegalog.cgi を index.cgi に改名して使う手もあります。)

ロリポップのサーバ上で稼働させた場合で、(普段は普通に使えるのに)ある特定の種類の投稿後にだけ「403 Forbidden」になってしまう場合は、『ロリポップのサーバで投稿後に「403 Forbidden」になる場合の対策』をご覧下さい。

閲覧は問題ないのに、投稿や設定変更後にだけ「404 Not Found」になってしまう場合は、『投稿や設定変更操作をすると「404 Not Found」エラーになる場合』をご覧下さい。

500 Internal Server Errorになってしまう場合の対処方法

CGIをアップロードした際に、「500 Internal Server Error」が表示されるだけで動作しない場合には、下記の点をチェックしてみて下さい。 なお、可能ならウェブサーバ側のエラーログファイルに何が記録されているかを参照すると、原因究明の参考になります。

※バージョンアップした際にInternal Server Errorになってしまう場合

バージョンアップ時には、tegalog.cgi と fumycts.pl の2つのファイルを必ずセットで上書きアップロードして下さい。
どちらか片方だけしか上書きしなかった場合は、Internal Server Error になる可能性があります。

そのほか、初回セットアップ時に必要だった各種操作(1行目の書き換えや、CGI本体に直接記述する系統の設定など)を忘れていないか、下記の「最初からInternal Server Errorになってしまう場合」項目を参考にしてみて下さい。

どうしてもエラーが解消しない場合は、試しに別のディレクトリに新規セットアップを試してみて下さい。それで動作するなら、バージョンアップの過程に何か問題があります。

※最初からInternal Server Errorになってしまう場合
▼FTPソフトの転送モードを確認

FFFTP等の一部のFTPソフトには、ファイルの転送モードを選択する機能があります。(ファイルの改行コードを自動変換してくれる機能です。) 以下の条件によって転送モードを明示的に指定してアップロードしてみて下さい。

▼CGIのソースを編集していない場合

CGIソースを編集せずに、ZIPに含まれていた状態のままでアップロードする場合は、「バイナリモード」に設定してアップロードしてみて下さい。 ZIPに含まれているCGIソースは、改行コードが [LF] で作られています。多くのサーバでは、改行コードが [LF] である必要がありますから、バイナリモードでアップロードすれば確実です。

▼CGIのソースを編集した場合

CGIソースを編集した場合は、さらに下記の条件によって転送モードを選んでみて下さい。

  • お使いのテキストエディタで、改行コードを [LF] にして保存できたと確信できるなら、バイナリモードでアップロード。
  • 改行コードがどうなっているのか分からない場合は、アスキーモード(テキストモード)でアップロード。

CGIソースの改行コードが、ウェブサーバ側の求める改行コード(=たいていは [LF] です)と異なる場合には、実行すると Internal Server Error になります。
Windows環境で編集すると、改行コードは [CR]+[LF] になる場合があります。なので、Windows環境で編集する場合は、保存時に改行コードを明示的に指定できるEmEditor等のテキストエディタを使う方が無難です。

要するに、

  • CGIソースを編集していない → バイナリモード
  • CGIソースの改行コードが [LF] だと確信 → バイナリモード
  • CGIソースの改行コードに確信が持てない → アスキーモード(テキストモード)

……という判断基準で試してみて下さい。

▼CGIソースの1行目を書き換えたかどうかを確認

CGI本体ファイルである tegalog.cgi の1行目は、#! /usr/bin/env perl のように記述されています。 これは、たいていのサーバでは(書き換えることなく)このままで動作しますが、お使いのサーバによっては正確なPerlパスに書き換えないと動かない(=「500 Internal Server Error」になる)場合があります。 もし書き換える必要があるサーバをお使いの場合は、 例えば、#! /usr/bin/perl#! /usr/local/bin/perl などに書き換える必要がないか、お使いのサーバのヘルプを確認してみて下さい。

※Ver 3.7.0未満をお使いの場合は、一部サーバ等で書き換える必要があります。てがろぐCGIの最新版をお使い下さい。
※お使いのサーバでどのような値に設定する必要があるのかは、レンタルサーバ別のセットアップ方法を用意していますのでそちらをご参照下さい。

▼CGIソースの77行目を書き換えたかどうかを確認

CGI本体ファイルである tegalog.cgi の77行目付近には、my $howtogetpath = 2; という記述があります。 極々稀に、この値を 0、1、9 のどれかに書き換えないと正常に動作しないサーバがあります。(※ほとんどのサーバでは書き換える必要はありません。)

現在のところ、書き換える必要があると報告を受けているレンタルサーバは、mixhost と カラフルボックス だけです。
※お使いのサーバでどのような値に設定する必要があるのかは、レンタルサーバ別のセットアップ方法を用意していますのでそちらをご参照下さい。

▼必要なパーミッションの設定値が「suEXEC」の方ではないかを確認

ウェブサーバ側で指定されているパーミッションの設定方法が「一般の場合」か「suEXECの場合」かを確認して下さい。 suEXECという安全な仕組みが採用されているサーバでは、「suEXECの場合」に示したパーミッションを設定しないと動作しないことがあります。 (特に、ディレクトリに対してGroupやOtherへ書き込み権限を付与すると動作しません。) 設定値は、パーミッションの設定をご覧下さい。

※お使いのサーバでどのような値に設定する必要があるのかは、レンタルサーバ別のセットアップ方法を用意していますのでそちらをご参照下さい。
※その一覧に存在しないレンタルサーバをお使いの場合、各ファイルのパーミッションの値については「設置方法3:パーミッションの設定」をご参照下さい。

※suEXECの方がセキュリティ面で安全な仕組みなので、suEXECを採用しているサーバは多数あります。 さくらインターネット、ロリポップ、リトルサーバー、スターサーバー、WitchServer等々多々あります。

▼必須モジュールが存在するかどうかを確認

ローカル環境や自力でセットアップしたサーバ等で稼働させる場合には、必須のPerlモジュールがサーバにインストールされていない可能性があります。 CGIの設置環境要件の記述をご確認頂き、不足していればインストールして下さい。

※特に、レンタルサーバの mixhost の新サーバでは、必須モジュールがインストールされていません。 mixhostには、コントロールパネルからPerlモジュールをインストールする機能が提供されていますので、それを使ってインストールするして下さい。 詳しくは、「mixhostでの、てがろぐセットアップ手順」ページをご覧下さい。

権限の問題でサーバにモジュールをインストールできなくても、CGI本体と同じディレクトリにモジュールの構成ファイルを(ディレクトリ構造を維持したまま)設置する方法でも使えます。 その際には、tegalog.cgi の冒頭付近にある #use lib '.'; という記述行の先頭にある「#」記号を削除しないと読み込まれないので注意して下さい。 詳しい書き方は、CGI本体ファイルに直接記述する高度な設定群の「その他」項目もご参照下さい。

▼Perlのバージョンを確認

お使いのWebサーバにセットアップされているPerlのバージョンに問題がある場合もあります。 Perl 5でも、マイナーバージョン番号が古すぎる場合や新しすぎる場合には、何らかの原因で動作しないことがあります。 てがろぐCGIを動作させるには、Perl 5.6以上のバージョンが必要です。 もし、サーバのコントロールパネルからPerlのバージョンを選択可能なら、他のバージョンに変更してみて下さい。(ただし、Perlのバージョンを変更すると、Perlで動作する他のCGI等にも影響しますので充分ご注意下さい。)

動作確認に使っているPerlの詳細なバージョンは、配布パッケージ(ZIPファイル)に含まれている README.TXT ファイルの冒頭付近に記してあります。

※動作の途中でInternal Server Errorになってしまう場合

どのような状況でエラーになるのか、直前の操作内容をお知らせ頂けると助かります。
可能ならウェブサーバ側のエラーログファイルに記録されている内容も参照してみて下さい。

※一度Internal Server Errorになった後は、何をしても(再度セットアップし直しても)エラーが解消しない場合

新規にセットアップすると問題なく動作するのに、それと同じファイルを使ってアップデートしてもエラーが解消しない場合は、「500 Internal Server Error」エラーメッセージを、独自に用意したページに置き換えていないかどうかを確認して下さい。

お使いのWebサーバで「500 Internal Server Error」エラーメッセージを独自に用意したページに置き換えている場合に、URLが変わる形で転送してしまっていると、エラーが解消しないように見えることがあります。(その場合は、ブラウザのキャッシュをクリアしたり、別のブラウザを使ったりすれば、正しく見えます。)

これは、.htaccessファイルの記述が望ましくない形になっているためです。
独自エラーページへ(301で)転送すると、転送先URLをブラウザが記憶するため、次回以降のアクセス時には「直接エラーページを見に行く」ようになってしまい、エラーが解消されてもエラーページしか見えなくなります。

この現象を解消するには、独自エラーページへの転送を止めるのが最も簡単です。ただし、設定を削除してもブラウザのキャッシュは消えないため、ブラウザのキャッシュをクリアする作業も必要です。(あなた自身だけでなく、一度でもエラーページを見てしまった閲覧者は全員キャッシュをクリアしない限り、エラーページしか見えない状態になります。)

エラーページを独自に用意する場合は、転送せずに内容だけを置き換えるように(=エラーページが見えている場合でもURLは元のまま変わらないように)するのが無難です。

ロリポップのサーバでエラーが出る場合の解決策

てがろぐCGIをロリポップのサーバ上で稼働させた場合にエラーになる場合は、下記の点もご確認下さい。

▼ロリポップのサーバで「500 Internal Server Error」になる場合の解決策

まずは、てがろぐ Ver 3.7.0 以降のバージョンをお試し下さい。

もしそれでも解決しない場合や、どうしても Ver 3.6.x 以下のバージョンを使う必要がある場合は、 てがろぐ本体(tegalog.cgi)をテキストエディタで開いて、1行目にある記述を #! /usr/local/bin/perl のように修正する必要があります。

▼ロリポップのサーバで投稿後に「403 Forbidden」になる場合の対策

ロリポップのサーバ上で稼働させている場合に、投稿本文の中に /etc/abcd のような半角9文字を含めて送信(投稿)すると、サーバに拒否されて「403 Forbidden」エラーが出る問題が分かっています。 abcdの部分は英字4文字以上なら何でもエラーになるようです。(そのほかにも何らかのNGワードがあるかもしれません。) この謎仕様はロリポップ側の問題なので、てがろぐCGI側で直接どうにかすることはできません。

対処方法として、Ⓐサーバ側の設定でどうにかする方法と、Ⓑてがろぐ側でNGワードを避ける方法とを以下に紹介しておきます。

◆Ⓐサーバ側の設定でどうにかする方法

ロリポップのサーバのうち、先頭が「spd」か「ent」ではないサーバをお使いの場合は、.htaccessファイルを使ってWAFの設定を加えることで対処できるようです。対象サーバをご使用なら、以下の方法を試してみて下さい。 下記は、ロリポップをご利用のユーザさんからご提供頂いた情報です。

シグネチャで除外設定する
コードの確認は、WAF設定のログ参照から確認する必要があります。 また私の環境ではてがろぐで投稿しWAFでエラーが出た場合、 1つ目のコードを除外設定した後にもエラーが発生しましたが、 ログ参照し、2つ目のコードも除外設定する事で回避出来ました。 なので、複数のコードを除外する必要があるようです。

コード例:
# AAA-11,BBB-12を確認したコードに変更
SiteGuard_User_ExcludeSig AAA-11
SiteGuard_User_ExcludeSig BBB-12

IPアドレスで除外設定する
IPアドレスが固定なら、この方法が楽かもしれません。

コード例:
# カッコ内のxxx.xxx.xxx.xxxをご自身のIPアドレスに変更
SiteGuard_User_ExcludeSig ip(xxx.xxx.xxx.xxx)

この2つのどちらかを.htaccessに記述すれば、 /etc/abcdのような文字列でも問題なく投稿できました。 ロリポップをお使いで403エラーにお困りの場合は、お試しください。

また、ロリポップ公式ヘルプの「PHPやCGIでプログラムの記述変更をしたところ403errorが表示されます」ページも併せてご参照下さい。

◆Ⓑてがろぐ側でNGワードを避ける方法

上記の方法が採れないサーバをご使用の場合等は、てがろぐ側でNGワードを避ける以下のような方法もありますのでお試し下さい。

  • 【対策1】文字として表示できれば良いだけなら、意味のないHTMLタグで挟まれるように書く。
    /etc/abcd という連続した9文字の投稿が無理でも、先頭1文字を太字装飾にして [B:/]etc/abcd のようにするとNG判定に引っかからなくなるので投稿できます。 この方法だと先頭のスラッシュ記号が太字になってしまいますが、例えば自由装飾記法を使って [F:hogehoge:/]etc/abcd のようにすると、 意味のないHTMLタグで囲まれるだけなので、表示上は「 /etc/abcd 」という何も装飾されていない文字として見えます。
  • 【対策2】ウェブ上の etcディレクトリにあるファイルを参照したい場合は、別ディレクトリからリダイレクトする。
    例えば https://www.example.com/etc/image.png のように、Web上に存在するetcディレクトリの中にあるファイルを参照したい場合などでも、そのまま投稿すると403エラーになってしまいます。 これを避けるには、例えば以下の方法があります。
    1. まず、適当な「sonota」といような名称のディレクトリを作成します。
    2. そこに .htaccess ファイルを置いて、「etc」ディレクトリへリダイレクトさせます。
    すると、てがろぐ上では /sonota/filename というパスを書けば、実際には /etc/filename を参照できることになります。

UNIX系OSでは /etcディレクトリに各種設定ファイルがありますから、おそらくそのようなファイルがWebフォームから参照されてしまわないようにするための対策なのでしょうけども。 ちょっどざっくり過ぎる(強引すぎる)対策な気がします……。
そのほかに解決する方法を発見された場合は、ぜひお知らせ下さい。

投稿時等に「CGIの設置ドメインとは異なる場所からデータが送信されました」というエラーが表示されてしまう場合

投稿時や設定変更時に「CGIの設置ドメインとは異なる場所からデータが送信されました」というエラーが表示されてしまう場合は、以下の方法をお試し下さい。

  • てがろぐ Ver 3.2.0以上にバージョンアップして下さい。
  • もし、お使いのドメイン以外に「サーバ会社側が用意したデフォルトドメイン」でも同じページにアクセスできる仕様のサーバなら、その「サーバ会社側が用意したデフォルトドメインを使ったURL」でアクセスして投稿してみて下さい。

その上でも同様のエラーが表示される場合には、そのときエラー画面に表示されている内容をコピーして、CGI作者までメールでお知らせ下さい

fumycts.pl ファイルの20行目付近に、my $rcheck = 1; という記述があります。 ここを my $rcheck = 0; のように書き換えると、このエラーを強制的に無効化できます。 ただし、この方法での無効化は、セキュリティ面からあまりお勧めはできません。(ローカル環境やセキュリティで保護された環境下など、第三者がアクセスしない場所で稼働している場合には、この方法の対処でも問題ありません。)

何も表示されなかったり、一部の画面だけがエラーになったり、投稿や設定変更だけがエラーになる場合

CGIにアクセスしても何も表示されなかったり、 「ページは正しく生成されているのに管理画面だけは見えない」場合や、「管理画面は見えるがページが見えない」場合など、一部の画面だけがうまく表示されていなかったりする場合には、 CGI本体ファイルに直接記述する高度な設定群の「その他」項目にある「$howtogetpath」の値を0、1、9などに変更してみて下さい。

もし、0でも1でもダメな場合で、tegalog.cgi のファイル名を別名に変更して使おうとしている場合は、ファイル名を tegalog.cgi に戻した上で、値を「9」に設定してみて下さい。

投稿や設定変更操作をすると「404 Not Found」エラーになる場合

ページも管理画面も正しく表示されるのに、投稿操作や設定変更操作をした場合にだけ「404 Not Found」エラーが出てしまう場合は、てがろぐCGI側が自身の所在を正しく認識できていないことが原因です。 その場合は、CGI本体ファイルに直接記述する高度な設定群の「その他」項目にある「$howtogetpath」の値を0、1、9などに変更してみて下さい。

レンタルサーバの「カラフルボックス」では、この値を「0」にしないと正しく動作しないと報告を受けています。

ログインしたハズなのに何度もログインフォームが表示されてしまう(管理画面TOPに戻ろうとするとログインフォームが出てしまう)場合

ログインしているハズなのに、管理画面TOPを再度表示しようとするとログインフォームが見えてしまう場合や、ログインしたハズなのに再度ログイン画面が見えてしまう場合は、キャッシュが効き過ぎている可能性があります。 管理画面TOPのURLと、「非ログイン状態から管理画面のTOPにアクセスしようとしたときのログイン画面」のURLが同じなので、ログイン画面が表示された時点でキャッシュされてしまうと、管理画面TOPが見えなくなります。

この場合には、ブラウザやサーバのキャッシュ設定を見直してみて下さい。サーバによってはデフォルトで強力なキャッシュが設定されているかもしれません。

Ver 3.5.0以降では、管理画面の表示時にはキャッシュが効き過ぎないようにするヘッダ「cache-control: no-cache」を出力するようになりました。古いバージョンを使っている場合は、Ver 3.5.0以降にバージョンアップしてみて下さい。

普段お使いのブラウザ以外のブラウザでもログインを試してみて下さい。それでうまくいくなら、お使いのブラウザのキャッシュ設定が強すぎる可能性があります。 他のブラウザでも同様の問題が発生する場合は、サーバ側のキャッシュ設定が強すぎる可能性があります。

レンタルサーバのロリポップでこの問題が発生する場合は、ロリポップアクセラレータを無効に設定してみて下さい。

最新版を上書きしたのに、バージョンアップできない! なぜだ!? という場合の確認点5つ

最新版の tegalog.cgi と fumycts.pl をアップロードしたのに、Web上のてがろぐがバージョンアップされておらず旧バージョンのままに見える場合は、下記の4点をご確認下さい。

▼確認点1. ファイル名を変更して使っている場合に、ファイル名を変更せずにUPしていませんか?
例えば、てがろぐの本体ファイル名 tegalog.cgi を index.cgi に改名して使用している場合に、最新版のてがろぐ本体ファイルを tegalog.cgi のままアップロードして、ブラウザでは index.cgi にアクセスしている場合です。 これだと、ずっと旧バージョンにアクセスすることになります。ファイル名を変更してからアップロードして下さい。

なお、tegalog.cgi は index.cgi に改名しても動作しますが、そうしなくても、.htaccessファイルに1行書いておくだけで、ファイル名は tegalog.cgi のままで「 / 」で終わる短いURLでアクセス可能にできます。 詳しくは、わざわざファイル名を index.cgi に変更しなくても、「/」で終わるURLでアクセスできるようにする方法をご覧下さい。

▼確認点2. 上書きすべきファイルを間違えていませんか?
バージョンアップするために上書きする必要があるファイルは、下記の2ファイルです。違うファイルを上書きしてしまっていないかご確認下さい。
  • tegalog.cgi (※psif.cgi ではない点に注意!)
  • fumycts.pl
上記以外のファイルを上書きしてしまうと、投稿や設定が消滅したり、パスワードがリセットされたりするなどの問題が起きます(どの問題が起きるかは、上書きしてしまったファイルによって異なります)。
特に、拡張子が .cgi だからといって、psif.cgi ファイルを上書きしてはダメですのでご注意下さい! psif.cgi ファイルはログイン情報やパスワードが記録されるデータファイルですので、これを上書きしてしまうと、ログイン状態は解除され、全ユーザのパスワードが消えてしまいます。

もし、tegalog.cgi と間違えて psif.cgi ファイルを上書きしてしまった場合は、以下のような動作になってしまいます。

➡ てがろぐのバージョンは変わらないままで、ログインパスワードだけが無効になる。

こうなってしまった場合、採れる対処は下記の2点です。

  • 元の psif.cgi ファイルをバックアップしてある場合は、元の psif.cgi ファイルを再度上書きアップロードして下さい。すると、ログイン状態もパスワードも元通りになります。バックアップしてあるファイルが古い場合は、ログイン状態は回復しないかもしれませんが、パスワードは(バックアップ時点の)元通りになります。
  • 元の psif.cgi ファイルがない場合は、ログイン画面で『パスワード欄は空のまま』でログインして下さい。パスワード設定が消滅している状態なので、パスワードなしでログインできます。ログインした後に、再度パスワードを設定し直して下さい。(※この間は、誰でもログインし放題な状態になりますので、早急にパスワードを再設定して下さい。)

もし、tegalog.cgi と間違えて tegalog.xml ファイルを上書きしてしまうと、投稿データが消えます。
もし、tegalog.cgi と間違えて tegalog.ini ファイルを上書きしてしまうと、設定データが消えます。
これらの場合は、バックアップから復元することで対処できます。
投稿データ(tegalog.xml)は、自動バックアップ機能を有効に設定しているなら backup ディレクトリにバックアップされていますから、そこにあるファイルを使って復元できます。 設定データは、自力でバックアップファイルをローカルに保管していればそれを使って復元できます。
復元方法は、使い方・設定方法ページの「バックアップから復元する方法」をご覧下さい。

▼確認点3. ディレクトリは正しいですか?
実は異なるディレクトリにアップロードしていた、というケースがあります。 例えば、以前に実験として試しにアップロードしていた(本番用途には使っていない)てがろぐの方をアップデートしていた、というような可能性です。 アップロード先が正しいかどうかを再確認してみて下さい。
▼確認点4. 最新のZIPファイルをダウンロードしましたか?
最新のZIPファイルをダウンロードしたかどうかをご確認下さい。例えば、次のような方法で確認できます。
  • ZIPファイルのタイムスタンプが、公表されているリリース日と合致しているか確認する。
  • ZIPファイルに含まれる README.txt ファイルを開いて、バージョン表記を確認する。
  • ZIPファイルに含まれる tegalog.cgi ファイルをテキストエディタ開いて、冒頭付近に記載されているバージョン番号を確認する。
▼確認点5. 強力なキャッシュが効いているのかもしれません
普段は使っていない別のブラウザやPCを使ってアクセスしてみて下さい。その場合にバージョンアップできているなら、キャッシュが効き過ぎていることが原因です。 とりあえずはブラウザのキャッシュを削除すると(バージョンアップ後の)ページにアクセスはできるでしょう。しかし、根本的な解決にはなっていないので、サーバ側のキャッシュの設定を見直すことをお勧め致します。

てがろぐCGIをバージョンアップする方法は、「CGIの更新方法」で説明していますのでご参照下さい。

てがろぐのバージョン番号は tegalog.cgi ファイル(だけ)によって決定されます。なので、tegalog.cgi ファイルを上書きすれば、絶対にバージョン表記の数値は上がります。 「上書きしたハズなのにバージョンが上がらない」という場合は、このファイルが実際には上書きできていない(=操作者の勘違い)か、またはキャッシュが効き過ぎている(=過去の状態が見えたまま)か、上書き用に用意したファイル自体が古いか、のどれかです。

埋め込み合成用のスキンを使った表示結果を、SSIやPHPなどを使って他ページに合成している場合では、画像やハッシュタグリンクなどのリンク先が(相対パスで出力されるために)リンク切れになってしまう可能性があります。 その際は、下記の設定項目(黄色矢印部分と水色矢印の部分)にチェックを入れておくと、それぞれが絶対URIで出力されるようになるため、リンク切れにならずに済みます。

リンクを絶対URIで出力する設定

出力結果を別ページに埋め込む際の設定方法(注意点)には他にも少々ありますので、詳しくは、あるスキンの出力結果を別のページに埋め込む方法をご覧下さい。

※複数のスキンを併用しているなど、『一時適用中のスキンを維持できるリンクを出力する』のチェックを外す方法を避けたいなら、JavaScriptを使ってリンク先URLを動的に編集する方法もあります。詳しくは上記ページをご覧下さい。

SSL証明書を導入して https://~ のURLでアクセスしても警告マークが表示されてしまう場合

てがろぐCGIは、HTTPS環境でも問題なく動作します。 もし、SSL証明書を導入してHTTPS化したにもかかわらず、ブラウザのアドレス欄に緑色の錠前アイコン(🔒)ではなく黄色の警告アイコン(⚠)が表示されてしまう場合は、表示ページ内のどこかでHTTP決め打ち( http://~ のURL)の画像などが読み込まれている可能性があります。 特に、『ユーザアイコンのURLが「http://~」で書かれている』というケースが散見されますので、ぜひご確認下さい。

HTTPSアクセス時に黄色の警告アイコンが出る場合は、たいてい以下の理由です。

  • CGI自体はHTTPSでアクセスできるんだけど、
  • ページ内に表示される一部の画像だけがHTTPでアクセスされている

ページに埋め込む画像をURLで指定する場合に、https://~ ではなく http://~ で書いてしまうケースはよくあります。 てがろぐの場合、特にユーザアイコンの設定は見落とされがちな気がします。 ユーザアイコンは、管理画面の「ユーザIDを管理」からユーザ別に設定できます。

ユーザアイコンのURLは https:// から書かなくても、「/」で始まる絶対パスで書くこともできますし、CGI本体の設置場所を基準にした相対パスで書くこともできます。 また、CGI本体と同じディレクトリに画像ファイルを置いているなら、単に画像ファイル名を書くだけでも表示可能です。
※ユーザアイコンは、CGIの存在する位置からの相対パスで指定するか、サーバルートからの絶対パスで指定するのがお勧めです。

パスワードを忘れてしまった場合の対処方法

パスワードを忘れてしまった場合は、以下の2通りの対処方法があります。

▼管理者権限を持つIDでログインできる場合:

管理者権限を持つIDが他にある場合は、そのIDでログインしてから、管理画面の「ユーザIDを管理」にアクセスして、目的のユーザIDの設定画面を表示させて下さい。 すると「パスワードリセット」枠が見えますので、そこから新しいパスワードに強制変更できます。

※管理者でも既存のパスワードを知ることはできませんが、任意のパスワードへの強制変更はいつでもできます。
※パスワードを忘れたIDが管理者権限を持つIDでも、それ以外に管理者権限を持つ別のIDがあれば、そのIDでログインしてから目的のIDのパスワードを変更できます。

▼管理者権限を持つIDでログインできない場合:

管理者権限を持つIDのパスワードを忘れてしまった場合は、サーバ上にある「パスワード・セッションID格納ファイル」(=デフォルトでは psif.cgi ファイル)の中身を空にして上書きアップロードして下さい。 すると、無条件ログインができるようになります。(その際のログイン画面には、図のように無条件ログインが可能なことを示すメッセージ枠が表示されます。(※Ver 4.2.4以降)
その後、管理画面の「ユーザIDを管理」からパスワードを再設定して下さい。

この場合、全ユーザのパスワード未設定状態に戻りますのでご注意下さい。
一時的に誰でも無条件ログインができる状態になりますから、ディレクトリ全体に一時的にBASIC認証を加えるなどの安全策を施してから作業することをお勧め致します。

※パスワードが消えるだけで、それ以外のユーザ情報は消えません。正確には、以下の3種類の情報だけが消えます。

  • 全ユーザのパスワード (→全ユーザがパスワード未設定状態になります。)
  • 全セッション情報 (→すべての利用者が一斉にログアウトされます。)
  • ログイン失敗の記録 (→連続して指定回数ほどログインに失敗してロックされているIDがある場合、そのロック状態が解除されます。)

※パスワードはハッシュ化されて保存されているため、ファイルの中身を覗いてもパスワードは分かりません。(※だからといって第三者に開示して良いわけではありません。 特に、このファイルにはセッションIDも記録されていますので、常に外部から閲覧されないようにしておく必要があります。)
※ファイルの中身を空にする操作ができない場合は、てがろぐのパッケージ(ZIP)内に含まれている、初期状態の psif.cgi ファイルを上書きアップロードする方法でも構いません。

管理者権限を持つIDが消えてしまって、設定も何もできなくなってしまった場合の対処方法

他に管理者が存在しない状態では、既存の管理者IDを削除することはできない(=管理者権限を持つIDの数を0個にはできない)ような仕様にしているつもりですが、何らかのトラブルで管理者権限を持つIDが1つもなくなってしまった場合は、下記の手順で既存IDに管理者権限を付与することができます。

  1. まず、サーバ上にある tegalog.ini ファイルを一旦ダウンロードして下さい。
  2. ダウンロードした tegalog.ini をテキストエディタで開いて下さい。
  3. かな~り下の方へスクロールすると、userids= という文字列で始まる行の存在が見えるハズです。この行を探して下さい。 このファイル内はアルファベット順にソートされていますので、一旦ファイルの一番下までスクロールしてから上へ向かって探す方が早いです。(もちろん、テキストエディタの検索機能をお使い頂くのでも良いです。)

    ※例えば、ユーザIDが「skaura」で、ユーザ名が「さくら」で、権限が「Lv.1」の場合は、以下のような感じの行になっています。 (複数のIDが存在する場合は、同様の書式で1行内に列挙されています。複数のIDが存在する場合でも、userids= で始まる行の存在は1つだけです。)
    userids=skaura<>1<>さくら<>.........
    
  4. ここで、「ユーザID」と「ユーザ名」との間に存在する 1 という数値を 9 に書き換えて下さい。必ず半角数字で入力して、前後の記号を消してしまったり、余計な空白を加えてしまったりしないようご注意下さい。
    ※先の例だと、以下のような行になるよう修正することになります。
    userids=skaura<>9<>さくら<>.........
    
  5. 書き換えられたら上書き保存して下さい。
  6. 上書き保存した tegalog.ini をサーバへ(上書き)アップロードして下さい。

上記の手順でご操作頂くと、再度管理画面にアクセスしたときには、ユーザ「さくら(sakura)」の権限が管理者権限(Lv.9)になっているはずです。

ユーザIDの権限を変更したり、ユーザIDそのものを削除したりしても、そのユーザIDを使って過去に投稿された投稿はすべてそのまま残っています。 てがろぐでは、IDを消しても投稿は消えません。(名無しの投稿として扱われるようになるだけです。その場合、元のID名でIDを新規作成すれば、元通りの紐付けに戻ります。)

▼それでも解決できない場合

上記の手順で管理者権限は付与できるはずですが、編集箇所を誤ってしまったり、前後の記号を削除してしまったりした場合は、ユーザIDが正しく認識されなくなる可能性があります。 どうしても解決できない場合は、次の手順でユーザIDすべてをリセットし、「管理者権限を持つID『admin』1つだけが存在する初期状態」に戻すことができます。

※この場合でも、既存の投稿はすべて残ったままですのでご安心下さい。(IDを消したりリセットしたりしても、過去の投稿が消えることはありません。)

  1. まず、サーバ上にある tegalog.ini ファイルを一旦ダウンロードして下さい。
  2. ダウンロードした tegalog.ini をテキストエディタで開いて下さい。
  3. かな~り下の方へスクロールすると、userids= という文字列で始まる行の存在が見えるハズですので、その行を探して下さい。
  4. 見つけられたら、その行(まるごと1行)を削除して下さい。(※行頭のuserids=の部分も含めて1行全部を消し去って下さい。)
  5. 書き換えられたら上書き保存して下さい。
  6. 上書き保存した tegalog.ini をサーバへ(上書き)アップロードして下さい。

上記の手順でご操作頂くと、再度管理画面にアクセスしたときには、管理者権限を持つユーザID「名無し(admin)」だけが存在する初期状態に戻っています。

もし、adminにパスワードが掛けられている場合は、ご自身で初回にセットアップした際に admin に対して設定したパスワードでログインできます。 そのパスワードが分からない場合は、さらにパスワードを忘れてしまった場合の対処方法も併せて使って下さい。

既存のユーザIDをすべて消してしまっても、過去の投稿はすべて残っています。 投稿者名は一時的に「名無し」等のデフォルト名での表示に変わりますが、あくまでも一時的なものです。 各投稿とIDとの紐付け情報は残ったままですので、 過去に使っていたID名と同じID名で新しくIDを作れば、元通りの表示・元通りの紐付け状態に戻せます。

解決が難しいトラブルに遭遇した場合

にっちもさっちもいかなくなった場合は、作者までお問い合わせ下さい。 その際は、発生している問題の詳細、設置場所(URL)、お使いのサーバ会社名など、できるだけ詳しい情報をお知らせ頂けると、話が早く進みます。 サーバのエラーログがあるととても望ましいです。

そのほか、事実上のサポート掲示板になっている「てがろぐ動作試験版」に何か情報が投稿されている可能性もありますので、遭遇している問題に関係しそうなキーワードで検索してみて下さい。 また、お使いのバージョンが正式版な場合は、最新β版で何か解決できていないかも併せてご確認頂ければ幸いです。

CGIを複数個設置して併用する方法

てがろぐCGIは、同一サーバ内にでも必要なだけ複数個設置して使えます。 ただし、それぞれのCGIで別個にログイン状態を維持するためには、管理画面からの設定が必要な場合があります。

CGIを複数併用する場合の設置場所

1つ1つを異なるディレクトリにアップロードして下さい。例えば以下のような感じです。

  • てがろぐ1つ目: https://www.example.com/tegalog/
  • てがろぐ2つ目: https://www.example.com/tegalog2/
  • てがろぐ3つ目: https://www.example.com/tegalog-extra/

ディレクトリ名は何でも構いません。要は、「1つのてがろぐ=1ディレクトリ」で構成されていれば問題ありません。

CGIやデータファイル等の全構成ファイルの名称を変更すれば同一ディレクトリ内に複数のCGIを設置することも不可能ではありませんが、お勧めはできません。 また、そのような稼働方法では動作試験をしていません。

CGIを複数併用する場合の設定

てがろぐCGIを複数個設置する場合で、それぞれのCGIを新規にセットアップしたなら、以下の設定は(ほとんどの場合で)不要です。

しかし、「既に稼働しているてがろぐCGI」の全構成ファイルをコピーする方法で2つ目のCGIを設置した場合(※1)には、以下の設定を手動で行う必要があります。

※1:正確には、他の場所で既に稼働していたCGIの tegalog.ini ファイルをコピーして流用した場合には、以下の設定が必要になります。

▼共存のために必要な設定

管理画面の「設定」→「システム設定」→「ログイン維持設定」区画内にある『このCGI固有の識別文字列』項目に入力されている数文字の英数字を、他のCGIと重複しない文字列に変更して下さい。 文字数に制限はありませんが、Cookieの接尾辞に使われますので、5文字前後くらいにしておくのが無難だと思います。

《▼なぜこの設定が必要か?》

てがろぐCGIのログイン状態は、ブラウザのCookieを利用して維持されます。 同一サーバ内に設置するCGIで、もし同じCookie名を流用してしまうと、1つのドメインにつき1つのログイン状態しか維持できません。 そのため、どれか1つにログインすると、他のすべてのログイン状態は解除されてしまいます。

それを防ぎ、すべてのCGIで個別にログイン状態を維持できるように、別々のCookieを発行してログイン状態を維持できる仕様になっています。 それぞれのCGIを別個に識別する目的で異なるCookie名を利用するために、1つ1つのCGIで異なる識別文字列が必要です。 (入力した識別文字列がそのままCookie名になるわけではなく、ベースのCookie名に付加される接尾辞として使われます。)

その識別文字列を設定するのが、『このCGI固有の識別文字列』項目です。

新規にセットアップした場合は、この識別文字列には5文字の英数字がランダムに入りますので、(確率的にはほとんどの場合で)他とは異なる文字列が指定されています。 そのため、手動で識別文字列を書き換える必要性は(ほぼ)ありません。 9億分の1くらいの確率で同じ識別文字列が偶然設定されてしまう可能性はありますが。(^_^;)

設置するドメインが異なっていれば、同じ識別文字列を使っても問題ありません。(同じ識別文字列を使うメリットは何もありませんが。)

▼設定値を変更した際の注意

設定で「このCGI固有の識別文字列」項目を書き換えるたびに、認証状態を保持するCookie名が変わるため、全ユーザが自動ログアウトされてしまいますのでご注意下さい。 (それぞれのユーザが再度ログインすれば、それ以後はまたログイン状態を維持できます。)

設定で「このCGI固有の識別文字列」項目を書き換えた結果として全ユーザがログアウトしてしまった場合は、サーバ側に保存してある既存の認証記録は消えないため、管理画面TOPの下部に表示されている「ログイン人数」の表示は減りません。 そのままでは正しいカウント値になりませんので、それが気になる場合は、設定を変更した後に一度だけ、管理画面から「全員を強制ログアウト」ボタンを押してサーバ側の認証記録をクリアして下さい。 すると、サーバ側に保存してある認証記録がすべて消えるために「ログイン人数」のカウント値が0に戻りますから、それ以後は正しいログイン件数が表示されます。

▼識別文字列を共有するメリットはありません

同じ識別文字列を指定しても、IDやパスワードを共用できるわけではありません。 同じ識別文字列を指定しても、不便になるだけでメリットは何もありません。

複数のてがろぐCGI間でIDやパスワードを共用する方法はありません
ただし、既に稼働しているCGIから tegalog.ini と psif.cgi の2ファイルをコピーしてセットアップすれば、既に設定されていたIDとパスワードをコピー(流用)して使うことは可能です。 (※同時にその他の設定も引き継がれます。識別文字列も引き継がれるため、セットアップ後に修正が必要です。また、日付別カウント数・ハッシュタグカウント数・カテゴリカウント数なども引き継がれてしまうため、その方法でセットアップした場合は、セットアップ後に一度だけ管理画面から「投稿の再カウント」を実行する方が良いでしょう。)

複数のCGIを識別しやすくする支援機能

てがろぐCGIを複数個設置しているときに、それぞれを区別しやすくする方法を2つ用意しています。

▼カラーテーマを変更する機能

管理画面の配色(カラーテーマ)を切り替える機能があります。 複数のてがろぐCGIを併用する際に、どれを使っているのか迷わないよう色分けする用途にもご活用頂けます。 あくまでも管理画面のUI配色を選択するだけであって、ページの表示(スキン)には一切影響しません。

Ver 3.5.0以降では、下記の7テーマから選択できます。(Ver 2.7.0~3.4.0では、最初の4テーマのみから選択できます。)

てがろぐ管理画面のカラーテーマ4種類

「てがろぐ」管理画面のカラーテーマ(追加3)

設定箇所は、管理画面の[設定]→システム設定→【管理画面内の表示】→『カラーテーマ』項目です。

ここで設定したカラーテーマは、ログアウト状態でも適用されます。(WordPressのようにログインユーザごとに適用されるわけではなく、ログインしているかどうかに関係なく全員共通の配色として表示されます。)

▼識別名称を付与できる設定機能

ブラウザのタブ(タイトルバー)で識別できるように、タイトル先頭に任意の識別名を挿入する機能もあります。 ここで指定した識別名は、管理画面では常時左上に表示されるほか、ブラウザのタイトルバー先頭にも(管理画面が表示されている状況では)常時表示されます。 あくまでも管理画面で「そのてがろぐの用途」を識別しやすくするための機能であって、ページの表示(スキン)には一切影響しません。

てがろぐ識別名称を付与できる設定機能

設定場所は、管理画面の[設定]→[システム設定]→【管理画面内の表示】→『管理画面のタイトル先頭に挿入される識別名』項目です。

同一ブラウザの複数のタブで、別々のてがろぐCGIを同時に使っている場合に、それぞれを区別しやすくするためのニッチな機能です。^^;

CGIのアンインストール

てがろぐCGIを使うのをやめる場合には、特別な操作は必要ありません。単に削除すれば良いだけです。始めるのもやめるのも簡単です!
使用を中止する場合と、他サーバへ引っ越す場合との話を以下に簡単に解説しておきます。

てがろぐCGIを使うのをやめるために削除したい場合

てがろぐCGIでは、すべての設定データは同一ディレクトリ内に存在します。他のデータベース等は利用していません。 したがって、ディレクトリを丸ごと消すだけで削除(アンインストール)が完了します。 てがろぐCGIが不要になった場合は、単にディレクトリごと全部消して下さい。

ディレクトリ内の全ファイルをダウンロードして保管しておけば、再開したくなったときには再度アップロード(してパーミッションを適切に設定)するだけで、いつでも復活させられます

てがろぐ上で投稿した本文は、データファイル tegalog.xml 内にXMLっぽいテキスト形式で記録されています。 投稿内容を他のツールに流用したい場合には、この tegalog.xml ファイルをテキストエディタ等で開くと楽に作業できるかもしれません。

他のサーバへ引っ越したい場合の操作

てがろぐCGIでは、すべての設定データは同一ディレクトリ内に存在します。他のデータベース等は利用していません。 したがって、ディレクトリを丸ごとコピーするだけで移転は完了します。 具体的には以下のような手順で操作すると良いでしょう。

  1. 旧サーバにある「てがろぐ構成ファイル一式」(=ディレクトリ内の中身全部)を、一旦ローカルにダウンロードする。
  2. ダウンロードした「てがろぐ構成ファイル一式」を、新サーバにアップロードする。
  3. パーミッションを適切に設定して、正しく動作(表示)できるかどうかを確認する(※注)
  4. 問題がなければ、旧サーバにある「てがろぐ構成ファイル一式」はディレクトリごと削除する。

以上で、引っ越しは完了します。

※注:稀に、パスワードの再設定が必要になるケースがあります(使用可能なハッシュ化方式が新旧サーバで異なる場合)。 もし、移転先で(パスワードが異なるというエラーで)ログインできない場合は、psif.cgiファイルの中身を空っぽにして上書きUPし、パスワードを再設定して下さい。 その場合は、鍵付き投稿機能で使うパスワード「共通鍵」も再設定が必要です。

※「psif.cgiファイルの中身を空っぽにする」という操作がよく分からない場合は、配布パッケージに含まれている初期状態の psif.cgi ファイルを使って上書きアップロードして下さい。

CGIの高度な設定

てがろぐCGIの主な設定は、ブラウザ上で「管理画面」にログインしてから簡単に変更できます(変更内容は設定ファイルに保存されます)。
しかし、一部の高度な設定は、てがろぐCGI本体である tegalog.cgi のソース冒頭付近を直接編集することで設定する仕様になっています。

CGI本体ファイルに直接記述する高度な設定群

もし必要があれば、tegalog.cgi の中身をテキストエディタで読み込んで、下記の通りに書き換えられます。

※fumycts.pl側には書き換える項目はありません。
※デフォルトの状態で使用するのであれば、(1行目以外は)まったく書き換えなくても動きます

▼Perlの位置

(1行目) #! /usr/bin/env perl
Perlの位置を必要に応じて書き換えます。 /usr/bin/perl や /usr/local/bin/perl など。書き換えなくて良いケースも多いです。

▼基本設定

(32行目) my $bmsdata = 'tegalog.xml';
データファイル名(拡張子はxmlでなくても構いませんが、記録形式はXMLです。)
(35行目) my $setfile = 'tegalog.ini';
設定ファイル名(拡張子はiniでなくても構いません。)
(38行目) my $passfile = 'psif.cgi';
パスワード・セッションID格納ファイル名(デフォルトは psif.cgi )
▲中身を閲覧されないようにするため拡張子をcgiにしています。他の拡張子に変更しても動作は可能ですが、中身は第三者に閲覧されないようにして下さい。(※パスワードは暗号化(ハッシュ化)されて記録されていますから中身を見られてもパスワードは漏洩しませんが、セッションIDが漏洩すると危険です。)
(41行目) my $autobackupto = 'backup';
自動バックアップファイル保存先ディレクトリ名
(44行目) my $imagefolder = 'images';
投稿画像の保存先ディレクトリ名

▼オプション設定

(51行目) my $keepsession = 1;
セッション維持の有無(1:ブラウザを終了してもログイン状態を維持する/0:ブラウザを終了するとログアウトする)
▲ログイン状態を維持する場合、デフォルトの維持期限は(最後の操作から)31日後です。(CGIの管理画面で、1時間~1年の範囲内で自由に設定できます。)
(54行目) my $safemode = '1';
セーフモードの選択(デフォルトは "1")
▲HTMLソースを直接記述可能な設定項目の動作を制限できます。(0:何もしない/1:scriptタグ系の記述は無効にする/9:あらゆるHTMLタグを無効にする) ※9は試験実装の段階なのでお勧めしません。
(57行目) my $nopassuser = '0';
ログイン可能なユーザ種類の選択(デフォルトは "0")
▲パスワード未設定のユーザのログインを拒否できます。(0:拒否しない / 1:拒否する / 2:全ユーザのパスワードがない状態では管理画面以外の表示を拒否する )
(60行目) my $safessi = '1';
Include(SSI)機能使用時の参照可能ディレクトリ制限(デフォルトは "1")
▲スキン内でのInclude(SSI)機能使用時に、上位ディレクトリの参照やフルパスでの記述を許可するかどうか。(0:しない / 1:する / 9:Include機能を無効化する )

▼その他

(70行目) my $charcode = 'UTF-8';
文字コード(デフォルトは "UTF-8")
▲変更する場合はCGIや各種データファイルの文字コードも一緒に変更して下さい。(UTF-8以外での動作は想定していませんので、変更しないことをお勧め致します。)
(73行目) my $skincover = 'skin-cover.html';
(74行目) my $skininside = 'skin-onelog.html';
スキンファイル名(外側/内側)
▲変更すると、変更後のファイル名に合致したファイルしかスキンとして認識されなくなります。(変更しないことをお勧め致します。)
(77行目) my $howtogetpath = 2;
CGI名の取得方法。※ログイン直後や投稿直後に画面がうまく出ない場合画面遷移が正しく行われない場合には、この値を別の値に変更してみて下さい。(0:プロトコルから/1:ディレクトリから/2:ファイルだけ/9:決め打ち) 特に動作に問題がない場合は、「2」のまま変更せずにお使い下さい。 ( ※参考情報: ◆何も表示されなかったり、一部の画面だけがエラーになったり、投稿や設定変更だけがエラーになる場合投稿や設定変更操作をすると「404 Not Found」エラーになる場合
(88行目) #use lib '.';
サーバにインストールされていないモジュールを、CGIと同じディレクトリ内に自力で置いた場合は、この行の先頭にある「#」を削除して下さい。すると、それらを読み込んで使うように動作します。

特に必要がなければ、何も変更せずにお使い頂くことをお勧め致します。上記以外の各種設定は、ブラウザ上で管理画面から変更できます。

Last modified: 2024/03/01 15:19:00

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