Ringworld
RingBlog説明書

RingBlog説明書 - インストール


  1. FTPによるファイル送信時の注意
  2. Perlのパスの設定
  3. 設定ファイル
  4. インストール

FTPによるファイル送信時の注意

WindowsとUNIX/Linuxとの間でFTPによるファイル転送時には下記に注意してください。

画像以外のファイルは改行コードを転送先OSに合わせるため、アスキーかテキストで転送してください。

サーバーがUNIX/Linuxの場合には、ファイルに属性(パーミッション, 許可情報)を設定する必要があります。
※ サーバーOS が WindowsXP であれば、属性設定は不要です。
サーバーによって異なることもあるので、インストールするサーバーの説明を参照してください。
特に指定がない場合には、一般的には転送後に以下のように設定してください。

Perlのパスの設定

blog.cgi, moblog.cgi と tb.cgi の先頭に、perl のパスの記述があります。

#!/usr/local/bin/perl

この行を RingBlog を使うサーバーに合わせて修正してください。どのように設定するかは プロバイダの指示にしたがってください。

設定ファイル

blog.cgi を置くディレクトリ (cgiディレクトリ)とデータを置くディレクトリが異なる場合には、 module/Init.pm の先頭部分を修正してください。
同じ場合は修正の必要はありません。

設定ファイルは 2本に分かれています。
これらの設定ファイルは、書き込み可になるように属性(パーミッション)を設定してください。

インストール

CGI としてシステムから呼ばれるのは次の3本です。これらには実行可能な属性(パーミッション)を与えてください。
サーバー、あるいは使い方によってスクリプトやデータファイルの置きかたが異なります。
以下の例では <  >で囲まれたものはディレクトリを意味します。
(下記設置例にある members.cgi は配布パッケージには含まれていません。最初に起動して設定が完了すると自動的に生成されます)

なお、設置ができたら操作説明を参照して、管理者のID、パスワードの設定と メンバー登録をしてください。

A. CGIとデータを同じディレクトリに置く場合

CGIディレクトリとデータディレクトリの区別がない場合です。
すべてのファイルを同じディレクトリに置いてください。

/home    /  user    /  public_html    /  blog    /  blog.cgi
moblog.cgi
tb.cgi
config.cgi
members.cgi
<img>
<data>
<entries>
<template>
<skin>
<log>

この場合には何も設定しなくても動くはずです。
トラックバックURLやRSSファイルのURLが正しければ、そのままでいいでしょう。

RingBlog では基本となるURLを環境変数から得ますが、サーバーによっては公開しているのとは別の内部的URLに なってしまうことがあります。トラックバックURLやRSSファイル、CSSファイルのURLやトラックバックURLが外部に見せたいものでは なくなってしまうわけです。また、環境変数から基本URLを自動生成することができないこともあります。
これが原因でCSSファイルを読めない(クライアントに送信できない)場合には、ブログは起動するものの画面の色や画像が表示されずレイアウトが反映されずにバラバラになります。 また、インストール直後の初期設定画面から先にすすめない(Not Found)場合もあります。
そういう場合には、 config.cgi の base_url に blog.cgi, config.cgi があるディレクトリのURL(基本URL)を設定してください。
http:// から始めて、最後に / をつけないでください。
※ blog.cgi の URL ではありません。blog.cgi があるディレクトリの URL です。

例) http://ringworld.x0.com の blog ディレクトリに blog.cgi を置く場合     base_url=http://ringworld.x0.com/blog
例) http://ringworld.x0.com の トップディレクトリに blog.cgi を置く場合     base_url=http://ringworld.x0.com

(module/Init.pm の先頭部分のパスやURL設定はコメントのままにしておくこと)


B. CGIとデータを別のディレクトリに置く場合

CGIは専用のディレクトリに置き、それで読み書きするデータは別のディレクトリに置かなければいけない場合には このようにしてください。

例として以下のようにします。

/home    /  user    /  public_html    /  blog    /  <img>
<data>
<entries>
<template>
<skin>
<log>
 /  cgi-bin    /  ringblog    /  blog.cgi
moblog.cgi
tb.cgi
config.cgi
<module>

module/Init.pm の先頭部分にある下記項目に設定を記入してください。$*_url はディレクトリの URL、$*_dir はディレクトリのパスです。 (同じディレクトリでも URL と内部パスとは表記が違うことに注意)
以下は例ですが、自分の環境に合わせてください。

$base_dir = "/home/user/public_html/blog";
$base_url = "http://SERVER/blog";
$cgi_url = "http://SERVER/cgi-bin/ringblog";
$template_dir = "/home/user/public_html/blog/template";

$base_dirには config.cgi があるディレクトリへのパス
$base_urlには config.cgi があるディレクトリへの URL
$cgi_urlには blog.cgi があるディレクトリへの URL
$template_dirにはスタイルシートテンプレートがあるディレクトリへのパス

C. CGIとデータを別のディレクトリに置き、複数ユーザーが使う場合

一つのスクリプトで複数のブログを使う方法です。
一つのブログに複数のメンバーということではなく、ブログ全体を複数扱うということです。 個々のブログに複数のメンバーを設定することなど、上記A,Bと同じことができます。画面デザインもそれぞれ独自になります。
このためには、それぞれのディレクトリにCGIスクリプトを置かず、共通で使える ディレクトリに置き、そのための設定をします。

例として以下のようにします。

/home  /  users  /  user_A  /  config.cgi
<img>
<data>
<entries>
<skin>
<log>
 /  user_B  /  config.cgi
<img>
<data>
<entries>
<skin>
<log>
 /  user_C  /  config.cgi
<img>
<data>
<entries>
<skin>
<log>
 /  <template>  

 /  cgi-bin  /  ringblog  /  blog.cgi
moblog.cgi
tb.cgi
<module>

スタイルシートテンプレートは全ユーザーが同じものを使うことになるので、各ユーザーのディレクトリ ではなく、共通で使えるデータディレクトリに置きます。

module/Init.pm の先頭部分にある下記項目に設定を記入してください。$*_url はディレクトリの URL、$*_dir はディレクトリのパスです。
以下は例ですが、自分の環境に合わせてください。

$base_dir = "/home/users";
$base_url = "http://SERVER/users";
$cgi_url = "http://SERVER/cgi-bin/ringblog";
$template_dir = "/home/users/template";

$base_dirには各ユーザーのデータディレクトリが入っているディレクトリへのパス
$base_urlには各ユーザーのデータディレクトリが入っているディレクトリへの URL
$cgi_urlには blog.cgi があるディレクトリへの URL
$template_dirにはスタイルシートテンプレートがあるディレクトリへのパス

起動は以下のようにします。

http://SERVER/cgi-bin/ringblog/blog.cgi?uwd=USER_DIRECTORY

USER_DIRECTORYは上の例でいえば user_A, user_B, user_C などです。
USER_DIRECTORYはディレクトリ名であり、ユーザー名ではありません。(ディレクトリ名とユーザー名が同一でもかまいません)
このようにディレクトリを指定すれば、そこにあるconfig.cgiにしたがった動作となります。