Serene Bach on the Prairie

大草原の小さな家。


ENTRIES

データと CGI を分離して設置する: Serene Bach 編

本エントリは、sb で投稿したエントリの Serene Bach 版です。内容的には sb のものと殆ど変わりませんが、「違う部分」に引っかかって Serene Bach のインストールに失敗されている方もちらほら見受けられるので、Serene Bach 専用で作っておきます。

Serene Bach は、配布されたままの状態で設置すると HTML ファイルと CGI ファイルが同じディレクトリ配下に格納されます。しかし、レンタル Web スペースの中には CGI を格納するディレクトリと HTML を格納するディレクトリを分けなければならないところもあります。本記事では、そういう Web スペースをお使いの場合に Serene Bach で CGI ファイルと HTML ファイルや画像ファイルを分けて設置する方法を説明します。

なお、本記事の説明の適用が必要になる方は以下のような方です。

  1. CGI ファイルは /cgi-bin 配下、HTML ファイルは /public_html 配下に格納して下さい等、CGI ファイルと HTML ファイルを別に格納する必要がある旨明記されているサーバをお使いの方。
  2. 配布された状態のまま設置して install.cgi や admin.cgi にアクセスした時、管理画面に CSS や画像が全く反映されないサーバをお使いの方。

その他、単に HTML ファイルと CGI ファイルで格納場所を分けたい、というだけの方もこの手順で可能になります。

なお、Serene Bach では必ず HTML ファイルと CGI ファイルを同じサーバ上に格納しなければなりません。CGI を使用する際に HTML を格納したサーバとは別のサーバが割り当てられる Web スペース(もっと具体的に言うと、HTML ファイルと CGI ファイルを同じサーバに FTP 転送できない web スペース)では Serene Bach を使用することができませんので、ご注意下さい。

まず、単純に HTML と CGI に分ける手順を示します。なお、本設定において URI はトップページ以下の HTML ファイル格納先が http://www.ほげ.jp/、CGI ファイルの格納先が http://www.ほげ.jp/cgi-bin/sb/ であるものとします。

+ public_html/(HTML ファイル格納ディレクトリ)
|  +- index.html
|  +- style.css
|  +- log/
|  +- img/
|  +- template/
|
+ cgi-bin/(CGI 格納ディレクトリ)
   +- sb/
       +- admin.cgi
       +- sb.cgi
       +- cnt.cgi
       +- mb.cgi
       +- init.cgi
       +- install.cgi
       +- data/
       +- doc/
       +- lock/
       +- lib/
       |   +- resource
       |   +- XML
       |   +- sb
       |   +- sb.pm
       |   +- mimeutil.pl
       +- ext/
       +- plugin/

ファイル構成を変えると、init.cgi に新たな設定が必要です。上記の構成で設定する場合は以下のようになります。

#!/usr/bin/perl
#
# Serene Bach - weblog management system
# == scripted by Takuya Otani =========
# == copyright (C) SimpleBoxes 2004 ===

# --- Global Configuration ---
DataDir ./data
DataSuffix .cgi

BaseDir ../../public_html/

必ず追加が必要な設定を強調表示してあります。詳細は以下の通りです。

BaseDir
CGI ファイル格納ディレクトリから HTML 格納ディレクトリへの相対パスを記述します。相対パスとは、サーバ内のファイルの位置を相対的に表すものです。例では/cgi-bin/sb からディレクトリを2つ上がって、/public_html へ下りるという意味の記述になっています。

その後の手順は、sb とは少し異なります。

この状態でインストーラ(install.cgi)を起動すると、順調に行けば以下のような画面が表示されます。

Serene Bach インストーラ:環境設定画面

スクリプトパスサーバアドレスに、install.cgi が格納された場所のアドレスが入っていますが、ここでサーバアドレスの方の変更が必要になります。サーバアドレスとは、トップページ以下の HTML ファイルが格納される場所への URI です。つまり、この例の場合では http://www.ほげ.jp/ になります。

変更が終わったら、次へボタンを押下してインストールを継続します。

また、install.cgi や admin.cgi にアクセスした際に CSS の反映や画像表示がされないという場合、上記に加えて以下の設定が必要になります。

まずは、インストーラを起動する前に、上の説明のファイル構成から新たに以下のファイルの格納場所を変更します。

+ public_html/(HTML ファイル格納ディレクトリ)
|  +- index.html
|  +- style.css
|  +- log/
|  +- img/
|  +- template/
|  +- resource/
|  +- doc/
|
+ cgi-bin/(CGI 格納ディレクトリ)
   +- sb/
       +- admin.cgi
       +- sb.cgi
       +- cnt.cgi
       +- mb.cgi
       +- init.cgi
       +- install.cgi
       +- data/
       +- lock/
       +- lib/
       |   +- XML
       |   +- sb
       |   +- sb.pm
       |   +- mimeutil.pl
       +- ext/
       +- plugin/

具体的には、lib/resourcedoc 配下のファイルを全て HTML 格納ディレクトリに移動します。resource 配下にあるファイルは、管理画面表示に使用するパーツファイルです。

次に、init.cgi にも上の設定に加えて以下の設定を記述します。

#!/usr/bin/perl
#
# Serene Bach - weblog management system
# == scripted by Takuya Otani =========
# == copyright (C) SimpleBoxes 2004 ===

# --- Global Configuration ---
DataDir ./data
DataSuffix .cgi

BaseDir ../../public_html/
TempSrv http://www.ほげ.jp/resource/
TempDir ../../public_html/resource/
HelpSrv http://www.ほげ.jp/doc/
TempSrv
移動させた admin.cgi 用ファイルパーツへの URI を指定します。
TempDir
CGI 格納ディレクトリから管理画面表示用ファイルパーツへの相対パスを指定します。例では/cgi-bin/sb からディレクトリを2つ上がって /public_html/resource へ下りるという指定になっています。
HelpSrv
ヘルプファイルの URI を指定します。

この状態でインストーラを起動し、やはり環境設定の画面でサーバアドレスを変更します。


コメント(日付順)▼コメントフォームへ

mel(2006/01/15 16:26)

こんにちは。
sbの設置に戸惑っていたところ、このページを見つけました。
丁寧な説明ありがとうございます。

ところで、私のサーバー(X7ネット)では、public_html配下にcgi-binがあるので、initの書き換えをBaseDir ../public_html/としてみたのですが表示されません。resouce/とdoc/の移動も行いました。

install.cgiの起動はこの場合、http://ほげ.jp/cgi-bin/sb/install.cgiを打ち込めばよいのでしょうか。
物知らずな質問をお許しください。

ふうこ(2006/01/15 21:45)

☆ mel さま

恐れ入りますが、個別の環境に依存する質問をこちらでするのはご遠慮下さい。
ブログ運営者として、私個人で全てのご質問に答えるのは難しいということと、コメントでの質疑応答は情報の再利用や共有が難しいというのが主な理由です。

sb Usersgroup のパティオなら、検索機能が充実しているので後から来られた方が情報を共有することができますし、私もしょっちゅう出入りしていますのでレスポンスも速いです。
以上、お困りのところ申し訳ありませんがよろしくお願いします。

mel(2006/01/16 00:09)

そうですね・・・。すみません。
さっそくそちらに行って調べてみようと思います。
ありがとうございます。

shiro(2006/10/29 09:47)

はじめまして。人様に頼まれたブログ作成用のサーバがまさにこの条件でして、非常に助かりました。ありがとうざごいます。

雪国TAK(2007/11/22 19:49)

はじめまして。大変分かりやすいご説明で、無事ブログを立ち上げることができました。ありがとうございます。

コメントする

コメントフォーム
  • ブラウザの JavaScript 機能が有効でないとコメントできません。
  • URI は自動リンクされます。
  • HTML タグは使えません(実体参照化されます)。
  • 初めてコメントされる場合は、一度このサイトについてに目を通してください。

トラックバック

この記事のトラックバックURI
http://prairie.sweet-smile.org/tb.cgi/3
データと CGI を分離して設置する: Serene Bach 編(モータースポーツ・ステーション より)
2005/08/27 00:27
という記事が、ふうこさんのサイト に掲載された。【データと CGI を分離して設置する: Serene Bach 編】ここで、インストール時に別ディレクトリに設置する方法が詳しく解説されており、非常にわかりやすい。このサ...
iswebでのBlogの設置は大変。(サスケ部屋 より)
2006/07/11 07:33
この「サスケ部屋」を置かせてもらっているiswebの無料プランでは、Blogを設置するのに少しばかりコツが要ります。そのことについて、ちょっとだけ。まぁ、見てる方には特に関係ない...