FTPによるファイル送信時の注意
画像以外のファイルは改行コードを転送先OSに合わせるため、アスキーかテキストで転送してください。
サーバーがUNIX/Linuxの場合には、ファイルに属性(パーミッション, 許可情報)を設定する必要があります。
※ サーバーOS が WindowsXP であれば、属性設定は不要です。
サーバーによって異なることもあるので、インストールするサーバーの説明を参照してください。
特に指定がない場合には、一般的には転送後に以下のように設定してください。
- 拡張子が cgi であるものは 755
- config.cgi, cssconf.txt, design.css のように cgi が書き換えるファイルは 666
- その他のファイルは 644
- ディレクトリはすべて 755
Perlのパスの設定
#!/usr/local/bin/perl
この行を RingBlog を使うサーバーに合わせて修正してください。どのように設定するかは プロバイダの指示にしたがってください。
設定ファイル
同じ場合は修正の必要はありません。
設定ファイルは 2本に分かれています。
これらの設定ファイルは、書き込み可になるように属性(パーミッション)を設定してください。
- config.cgi
blog.cgi と同じディレクトリに置く。
ファイルの拡張子が .cgi になっていますが、実際にはスクリプトではなくテキストファイルです。 .txt だと外部から内容を読まれる可能性があるため、このようにしています。
サーバー設定、ユーザー設定、題名、レイアウトなどのそのブログ固有の設定を保存します。
- cssconf.txt
画面設定の内容を保存。
design.css(スタイルシート)とともに、skinディレクトリの該当スキン名ディレクトリに置く。
インストール
- blog.cgi
ブログスクリプト本体 - moblog.cgi
携帯電話用ブログスクリプト本体 - tb.cgi
トラックバック受信スクリプト
以下の例では < >で囲まれたものはディレクトリを意味します。
(下記設置例にある members.cgi は配布パッケージには含まれていません。最初に起動して設定が完了すると自動的に生成されます)
なお、設置ができたら操作説明を参照して、管理者のID、パスワードの設定と メンバー登録をしてください。
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 はディレクトリの 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_urlには config.cgi があるディレクトリへの URL
$cgi_urlには blog.cgi があるディレクトリへの URL
$template_dirにはスタイルシートテンプレートがあるディレクトリへのパス
一つのブログに複数のメンバーということではなく、ブログ全体を複数扱うということです。 個々のブログに複数のメンバーを設定することなど、上記A,Bと同じことができます。画面デザインもそれぞれ独自になります。
このためには、それぞれのディレクトリにCGIスクリプトを置かず、共通で使える ディレクトリに置き、そのための設定をします。
例として以下のようにします。
|
|||||||||||||||||||||||||||||
スタイルシートテンプレートは全ユーザーが同じものを使うことになるので、各ユーザーのディレクトリ ではなく、共通で使えるデータディレクトリに置きます。
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_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にしたがった動作となります。