sb - weblog management system

ダウンロード

アーカイブのダウンロード

sb開発研究所よりsbのアーカイブをダウンロードします。

複数ありますが、以下のような構成になっています。

正式版
比較的安定して動作しているバージョンです。正式版はバージョン番号の末尾が「R」になります。
最新版
追加機能などを盛り込んだバージョンになります。思わぬ不具合が生じる場合があります。最新版はバージョン末尾が「D」になります。
sb_ext
sbの動作に必要な外部ライブラリが収められています。設置環境によって必要ない場合もあります。
for AAA!CAFE
AAA!CAFE用のパッチです。設置環境によってはAAA!CAFEでなくても利用する場合があります。

AAA!CAFEでご利用される場合、一部の機能がご利用いただけない場合があります。また、パーミッションの設定はここに記載されている内容と異なりますので、AAA!CAFEパッチのアーカイブに含まれている「readme.txt」をご覧の上、インストールしていただくよう、お願いします。

sb開発研究所で配布しているアーカイブは「tar+gzip」という形式で圧縮されています。

これらのアーカイブを解凍するために別途解凍用のソフトウェアが必要になります。解凍用のソフトウェアに関しては後述の「ソフトウェア」をご参照下さい。

sb開発研究所ではsb本体以外にもプラグインやテンプレートパッケージなどもダウンロード可能です。

sbの基礎知識

sbって何ですか?

sbは日記などのウェブログ生成をサポートする統合的なウェブログ管理システムです。

sbはCGIとして動作するスクリプトです。Perlと呼ばれるスクリプト言語で記述されています。

CGI(Common Gateway Interface)はウェブサーバー上でスクリプトによって処理された内容をブラウザに表示する仕組みのひとつです。sbではCGIの仕組みによって、ユーザーからの要求や条件に応じて、適切な内容を表示します。

レンタルウェブログサービスのように、ユーザーが与えられたパスワードでログインすればよい、というシステムではありません

スクリプト言語?

sbは一種のプログラムです。状況によって適切な内容をウェブブラウザ上に表示します。

sbをCGIとして動作させるために、sbのスクリプト一式をご利用されているウェブサーバにアップロードする必要があります。

アップロードの方法としてはFTP(File Transfer Protocol)と呼ばれる形式が一般的です。FTPソフトウェアに関しては、後述の「ソフトウェア」をご参照下さい。

アップロードしたファイルに対して必要な設定を行うとsbをご利用いただけます。

必要な設定?

ほとんどの場合、sbをウェブサーバ上にアップロードしただけでは動作しません

sbをご利用いただくためには最低限の設定を行う必要があります。

パーミッション
データファイルなどに対して、読み書きができるように設定する必要があります。
グローバル環境設定
sbでは多くの設定をウェブブラウザ上で行うことができますが、最低限必要な設定をinit.cgiというファイルに記述する必要があります。

多くのウェブサーバでは、アップロードしたファイルに対して「読込みできる」「書込みできる」「実行できる」などの情報(パーミッション)を別途設定する必要があります。

適切なパーミッションの設定は設置するウェブサーバによって大きく異なります。詳細な情報につきましては、ご利用されているウェブサーバの運営者にお問い合わせいただくよう、お願いします。

グローバル環境設定はsbを利用する上で最低限必要となる設定で、init.cgiというファイルに記述します。init.cgiはテキストファイルです。

最低でも1ヶ所 init.cgi を変更する必要があります。逆に言えば、多くの環境では1ヶ所の変更でsbを動作させることができます。

init.cgiは適切なテキストエディタで編集する必要があります。テキストエディタに関しては、後述の「ソフトウェア」をご参照下さい。

よく分かりません……

sbを動作させるために必要な知識はそれほど多くありませんし、様々な場所から情報を収集することができます。

後述する「サイト」で紹介しているサイトやsb UsersGroupのパティオには有益な情報・事例が沢山あります。

願わくば、sbがあなたのネットライフの一部になりますよう。

インストール手順

インストール手順

sbの大まかなインストール手順は以下の通りです。

  1. 配布アーカイブの解凍
  2. ファイル内容の確認 ⇒ 参照:アーカイブの内容
  3. Perlのパス設定の確認 ⇒ 参照:Perlのパス設定
  4. init.cgiの編集 ⇒ 参照:init.cgiの設定
  5. ファイルのアップロード
  6. パーミッション設定 ⇒ 参照:ファイル配置例とパーミッション
  7. 管理用スクリプト admin.cgi へのアクセス ⇒ 参照:初回起動
  8. 環境設定の確認 ⇒ 参照:環境設定

最後に環境設定の「サーバアドレス」が正しく設定されているかどうかを確認します。

sbの設定可能な項目は多岐に渡るのですが、上記手順では基本的な設定の状態で動作させることを前提にしています。

設置に当たって比較的起きやすいトラブルはトラブルシューティングにまとめています。

また、サーバ環境によってsb内で利用されているmkdirが起因となって起動できない場合があります。その場合はAAA!CAFEパッチを利用すると起動できるようになる場合があります。

設置条件

設置条件

Perl 5.8 (5.008) 並びに Perl 5.6(5.006) での動作を確認しています。

対応している日本語出力コードはShift_JIS, EUC-JP, iso-2022-jp(JIS), UTF-8です。

sbではMySQLなどのデータベース(DB)ソフトウェアを必要としません。

環境によっては必要なライブラリが利用できないため、一部の機能がご利用いただけない場合があります。

ライブラリ

sbでは以下の外部ライブラリを利用します。

  • LWP::UserAgent
  • HTTP::Request
  • XML::Parser::Lite
  • Jcode

Image::Magick が利用できる環境ではアップした画像のサムネイル生成が可能になります。

Net::SMTP が利用できる環境ではsendmailを使わずにメール通知が行えます。

Image::Magick, Net::SMTP は必須ではありません。

これらの必要なライブラリはsb_extとして、sb開発研究所からダウンロードできます。

sb-check.cgiの利用

配布アーカイブの util/ ディレクトリ内に「sb-check.cgi」というスクリプトを同梱しています。

このスクリプトを利用すると、sb設置に足りていないライブラリなどを確認することができます。

以下の方法でご利用下さい。

  1. (必要ならば)sb-check.cgiの先頭行#!/usr/bin/perlを変更します(「perlのパス設定」参照)
  2. sb.cgiと同じディレクトリにsb-check.cgiをアップロードする
  3. sb.cgiと同じパーミッションを設定する(「ファイル配置例とパーミッション」参照)
  4. ウェブブラウザでsb-check.cgiにアクセスする

ウェブブラウザでsb-check.cgiにアクセスした際、サーバーエラーとなる場合、上記手順の1〜3のいずれかの設定が間違っている可能性があります。

sb-check.cgiにアクセスすると、外部ライブラリチェックを行います。必要なライブラリが「ない」と表示された場合はsb開発研究所から外部ライブラリなどをダウンロードしてください。

また、外部接続チェックで200 OK以外の内容が表示された場合、sbの一部の機能がご利用いただけません。

アーカイブの内容

アーカイブの内容
項目 説明
sb.cgi sbのメインスクリプトです
admin.cgi sbの管理用スクリプトです
cnt.cgi アクセスログ収集用スクリプトです
mb.cgi 携帯電話向けの表示を行うスクリプトです
init.cgi sbの設定ファイルです
index.html トップ用のhtmlファイルです
style.css sbで利用されるcssスタイルシートが保存されます
lib/ sb用のライブラリが収められています
ext/ (必要ならば)外部ライブラリを置くディレクトリです
lock/ ロックディレクトリです(中にlock, cntという空ファイルがあります)
data/ データファイルが格納されるディレクトリです
log/ sbで生成されるhtmlなどのファイルが収められるディレクトリです
img/ アップロードした画像ファイルが収められるディレクトリです
util/ ログ移行用のユーティリティが収められています。ご利用の際には、この中に収められている「readme.txt」をご覧下さい。
doc/ ヘルプドキュメントが収められています
plugin/ sbで利用するプラグインを収めるディレクトリです。プラグインを利用する際は、この中に収められている「readme.txt」をご覧下さい。
template/ テンプレートインポートで画像パーツなどが収められるディレクトリです。

log, img, data など中身が空のディレクトリは解凍ソフトによっては作られない場合があります。これらのディレクトリはsbを利用する上で必要になりますので、アーカイブを解凍後これらのディレクトリが存在しない場合は作成するようにしてください。

ファイル設置例

ファイル配置例とパーミッション

以下はファイルパーミッションの一例です。設置するサーバによって異なる場合がありますので、ご利用されているサービスのCGIパーミッションに関する情報を確認していただくよう、お願いします。

ファイル/ディレクトリ パーミッション/補足説明
sb.cgi [755]*
admin.cgi [755]*
cnt.cgi [755]*
mb.cgi [755]*
init.cgi [644]
index.html [666]*
style.css [666]*
lib/ [755] この中に収められるファイルは [644]
ext/ [755] この中に収められるファイルは [644]
lock/ [777]* この中の lock, cnt は [666]*
data/ [777]*
log/ [777]*
img/ [777]*
doc/ [755] この中に収められるファイルは [644]
plugin/ [755] この中に収められるファイルは [644]
template/ [777]*
util/ [755] sbの設定には必要ありませんが、利用する場合はこの中の cgi ファイルは [755] に設定します。

/public_html/sb/上にsbを設置する例です。

  • /public_html/
    • sb/
      • index.html [666]*
      • style.css [666]*
      • admin.cgi [755]*
      • sb.cgi [755]*
      • cnt.cgi [755]*
      • mb.cgi [755]*
      • init.cgi [644]
      • data/ [777]*
      • log/ [777]*
      • img/ [777]*
      • lock/ [777]*
        • lock [666]*
        • cnt [666]*
      • doc/ [755]
        • src/ [755]
        • ja.html [644]
      • lib/ [755]
        • lang/ [755]
        • ライブラリファイル… [644]
      • ext/ [755]
      • plugin/ [755]
      • template/ [777]*
パーミッション設定時の注意事項

*はパーミッション設定が必須であるファイル/ディレクトリを示します。

log, img, index.html, style.cssの置く場所は変更可能です。環境設定のベースディレクトリに置くようにしてください。また、その際でもパーミッションは上記のように設定する必要があります。

log, img のディレクトリ名は環境設定により変更することが出来ます。

perlのパス設定

スクリプトの最初の行#!/usr/bin/perlは設置するサーバにあわせて適時設定してください。

設定する必要があるのはsb.cgi, cnt.cgi, mb.cgiとadmin.cgiだけです。

lib/内のスクリプトにもいちいち指定してありますが、それらは変更する必要はありません。

グローバル環境設定

init.cgiの設定

init.cgi で sb の基本的な設定を行います。

init.cgi では、DataDir ./data/のように「項目」+「半角スペース(あるいはタブ)」+「設定内容」のように記述します。

「項目」と「設定内容」の間は半角スペースあるいはタブをひとつだけ記述するようにしてください。ふたつ以上の半角スペースあるいはタブがあると正しく設定が読み込まれません。

DataDir, DataSuffix ならびに ScriptPath は必須項目になっています。

特にScriptPathは必ず設定してください。これが正しく設定されていないと正常に動作しません。

init.cgiの設定項目
項目 説明
必須項目
DataDir sb.cgi, admin.cgi および cnt.cgi からみた場合のdataディレクトリを指定します。絶対パスでも相対パスでも構いません。
DataSuffix 保存されるデータファイルに利用する拡張子です。デフォルトでは「.cgi」になっていますが、セキュリティのため自由に拡張子を変更することが出来ます。
ScriptPath sb.cgi, admin.cgi および cnt.cgi が置かれているアドレスを指定します。
設定可能項目(必要に応じて設定してください)
LockDir sb.cgi, admin.cgi および cnt.cgi からみた場合のロック用ディレクトリを指定します。
BaseDir sb.cgi, admin.cgi および cnt.cgi からみた場合のベースディレクトリを指定します。ベースディレクトリは index.html および style.css が置かれるディレクトリです。
LogDir BaseDir上のログディレクトリの名称を指定します。
ImgDir BaseDir上の画像ディレクトリの名称を指定します。
HttpProxy admin.cgiからトラックバック送信などの他サーバにアクセスする際に利用するプロキシサーバを指定します。
TempConv 管理画面表示に際して管理画面用のテンプレートの文字コード変換処理を行うかどうかの設定です。管理画面表示の際に文字コードの変換処理を必要としない場合はTempConv 0と設定してください。sbでは後述するようにja.plの文字コードを変換するだけで処理コードを変更します。EUC-JP以外の文字コードに設定した場合、管理画面表示に常時文字コード変換処理が必要となり、管理画面の表示速度が低下します。そこでlib/lang/ja/admin.htmlの文字コードも利用する文字コードに合わせておき、管理画面表示の際に文字コード変換処理をしないような設定をすることができます。
HelpSrv ヘルプドキュメントが置かれているURIを指定します。ヘルプファイルの「ja.html」を抜いて指定してください。例えば、ヘルプドキュメントが「http://serenebach.net/doc/ja.html」だったら、HelpSrv http://serenebach.net/doc/のように指定します。
TempSrv 管理画面用のテンプレートファイルが置かれているURIを指定します。主に管理画面で利用されている画像指定に利用されます。「_parts」以下を抜いて指定してください。例えば、sbタイトル画像が「http://serenebach.net/lib/lang/_parts/title.gif」で閲覧可能な場合、TempSrv http://serenebach.net/lib/lang/のように指定します。
TempDir 管理画面用のテンプレートファイルが納められたディレクトリを指定します。sb.cgi, admin.cgi および cnt.cgi からみた「lib/」ディレクトリ内の「lang/」ディレクトリの位置を指定してください。
WeblogId sb を複数設置した際に利用する識別子です。複数の sb を設置した場合でも、特に不都合がなければ利用する必要はありません。利用する場合にはWeblogId idのように指定します。「id」には英数字と_(アンダーバー)が利用できます。文字数制限は特にありません。
BaseSrv ベースサーバアドレスの初期値を設定します。この設定は環境設定の「サーバアドレス」で上書き可能です。
PluginDir プラグインファイルを置くディレクトリを指定します。プラグインについてはplugin/内の「readme.txt」に詳細説明が記載されています。
AdminCookieDay 管理画面のユーザー名・パスワードはお使いのブラウザにCookieとして保存されます。通常、1日間その情報を保持しますが、このオプションでその日数を変更することができます。AdminCookieDay 7のように設定すると7日間、管理画面のCookie情報を保持します。
RefCheck 管理画面においてリファラをチェックするかどうかを設定します。sbではセキュリティ強化のため、いくつかの操作に対してリファラチェックを行っています。セキュリティ対策ソフトウェアの中にはリファラ情報を変更するものもあり、そのままの設定ではご利用いただけない場合があります。その場合、RefCheck 0のように設定すると、管理画面でのリファラチェックを省略することができます。
MainScript sb.cgiの名称を変更した際に利用します。例えば、sb.cgiをblog.cgiに変更した場合、MainScript blog.cgiのように記述します。
TopIndex トップページ用のインデックスファイル名(index.html)を変更した際に利用します。例えば、index.htmlをindex.htmに変更した場合、TopIndex index.htmのように記述します。
RecordDays アクセス解析のデータ保存しておく期間を設定します。通常、30日間の分のアクセスログを保存していますが、このオプションでその保存期間を変更することができます。例えば、14日間のデータのみでよい場合、RecordDays 14のように記述します。
SpamCheckLevel コメントのスパムチェック方式のデフォルトを決定します。0〜4までの数値を指定して下さい。SpamCheckLevel 0と設定すると、スパムチェックは行われません。
SpamCheckId 「SpamCheckLevel」を2に設定している場合に利用されるID文字列を設定します。SpamCheckId SpamOkotowariのように設定します。
StyleDir BaseDir上のテンプレート画像パーツディレクトリの名称を指定します。
XmlrpcForcedPublish XML-RPC APIを利用した記事投稿において「piblish」のboolean値に関わらず記事を強制的に公開の状態で保存するかどうかを設定します。XmlrpcForcedPublish 1と設定すると、強制的に公開します。0に設定した場合、「piblish」のboolean値によって公開・非公開が決定されます。

ログディレクトリならびに画像ディレクトリはベースディレクトリと組み合わせて利用されることに注意してください。例えば、ベースディレクトリを./と指定し、ログディレクトリをlog/と指定すると、sb.cgi並びにadmin.cgiからは./log/と扱われます。画像ディレクトリも同様です。sb の仕様上、ログディレクトリならびに画像ディレクトリはベースディレクトリ上に置かれるものとして処理されます。

文字コードの設定

文字コードは直接設定しません。sbでは、lib/lang/内にある言語設定ファイル(日本語の場合ja.pl)の文字コードを判別して、全体の処理文字コードを決定します。

配布アーカイブではEUC-JPになっていますが、ja.plの文字コードをUTF-8に変更すると全体がUTF-8で動作するようになるはずです。

データ保存にも同じ文字コードを適用しますので、途中で文字コードを変更するのは止めておいた方がよいでしょう。

初回起動・バージョンアップ

初回起動

init.cgiを修正し、パーミッションを正しく設定した後、お手元のウェブブラウザを利用してadmin.cgiにアクセスしてください。

admin.cgiのアドレスはinit.cgiで設定したスクリプトサーバアドレスにadmin.cgiをつけたものになります。

admin.cgi の最初のアクセスで sb は必要なファイルを自動的に生成します。

ファイル生成が無事行われると、管理ユーザー設定画面が表示されます。これでインストールは成功です。もし管理ユーザー設定画面が表示されない場合、ディレクトリ/ファイルのパーミッションが正しく設定されているかどうか、今一度ご確認下さい。

またinit.cgiの記述が間違っていたなどの理由でもう一度admin.cgiにアクセスする際にはデータディレクトリ内に自動生成されたファイルを一度すべて消去してください。

管理ユーザー設定画面ではユーザー名とパスワードを設定します。ここで設定したユーザー名並びにパスワードは「編集メニュー」の「プロフィール編集」で後から自由に変更できます。

プロフィール編集でユーザー名・パスワードを変更した後は、一度ログアウトをする必要があります。

バージョンアップ時の注意

すでに古いバージョンをご利用いただいている場合に新しいバージョンにする際には以下の点に注意してください。

基本的に置き換えが必要なもの

  • lib/
  • doc/

基本的に置き換えが不要なもの(ver 1.00R以降)

  • sb.cgi
  • admin.cgi
  • cnt.cgi
  • mb.cgi
  • init.cgi
  • data/
  • log/
  • img/
  • lock/
  • ext/

文字コードを変えて利用している場合には lib/lang/ja.pl の文字コード変換作業を忘れないようにしてください。

異なる文字コードが混在して文字化けを起こす要因になります。

init.cgi並びにdata内のデータフォーマットに変更があり、データ変換などが必要な場合はアナウンスがあります。通常はそのままご利用いただけます。

lock/ディレクトリは基本的に置き換え不要ですが、中のファイルが増える場合があります。更新履歴に記述されていますので、追加されたファイルを設置した環境でも追加するようにしてください。

sb.cgi, admin.cgi, cnt.cgi ならびに mb.cgiは基本的に置き換えの必要はありません。β版(ver 0.01〜0.20)をご利用の方はver 1.00R以降のバージョンをご利用する場合、置き換えてください。また、まれに置き換えが必要になる場合があるかもしれません。その時にはsb開発研究所にてアナウンスがあります。

バージョンダウン時の注意

以前のバージョンに戻す際もバージョンアップ同様 lib/ の中身の差し替えで行うことができます。

ただし、バージョンアップに伴い、内部データは拡張されている場合があります。

拡張されたデータは以前のバージョンでは無視されるように設計されているため、データの保存操作が入るとバージョンアップで保存された内容が失われる場合があります。

バージョンアップに伴って追加された機能などがご利用いただけないだけで、動作そのものに大きな影響はありません。

ソフトウェア

FTPソフトウェア

sbをウェブサーバ上にアップロードするためには多くの場合、FTPソフトウェア(クライアント)を利用します。

  • FFFTP : Windows フリーウェア
  • Fetch : Macintosh シェアウェア(2,500円)
テキストエディタ

init.cgiの編集などに利用します。Windowsの「メモ帳」は利用しない方がいいでしょう。

  • PerlEditor : Windows フリーウェア
  • mi : Macintosh フリーウェア(任意の使用料支払い)
圧縮アーカイブ解凍

sb開発研究所にてダウンロードできるアーカイブファイルを解凍するためのソフトウェアです。

Mac OS Xをご利用の場合、「ターミナル」を利用して解凍できますので、上記ソフトは必要ありません。

コマンドラインで「tar」がご利用できる環境でしたら、tar zxf sb1xxx.tar.gzで解凍できます(sb1xxx部分は解凍するアーカイブによって異なります)。

ここに挙げたソフトウェアはほんの一例に過ぎません。他にも上記と同様の機能を持ったソフトウェアはありますので、一度お調べになってください。

サイト

サイト紹介

sbを利用する上で見ておくと便利なサイトを紹介します。

sb UsersGroup
佐藤圭さんが運営されているsbコミュニティサイトです。パティオでは有益な情報がまま載っています。また、メーリングリストも運営されています。
JUGEMカスタマイズ講座
sbはJUGEMのテンプレートと互換性があるため、JUGEMのTIPSがそのままご利用いただける場合があります。
Google
有名な検索エンジンです。分からないことがあったら、一度検索エンジンを利用して調べてみることをお勧めします。

詳細目次

ダウンロード
sbの基礎知識
インストール手順
設置条件
アーカイブの内容
ファイル設置例
グローバル環境設定
初回起動・バージョンアップ
ソフトウェア
サイト

Copyright © SimpleBoxes 2004-, All rights reserved. [ver. 1.18R]