sb開発研究所よりsbのアーカイブをダウンロードします。
複数ありますが、以下のような構成になっています。
AAA!CAFEでご利用される場合、一部の機能がご利用いただけない場合があります。また、パーミッションの設定はここに記載されている内容と異なりますので、AAA!CAFEパッチのアーカイブに含まれている「readme.txt」をご覧の上、インストールしていただくよう、お願いします。
sb開発研究所で配布しているアーカイブは「tar+gzip」という形式で圧縮されています。
これらのアーカイブを解凍するために別途解凍用のソフトウェアが必要になります。解凍用のソフトウェアに関しては後述の「ソフトウェア」をご参照下さい。
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というファイルに記述します。init.cgiはテキストファイルです。
最低でも1ヶ所 init.cgi を変更する必要があります。逆に言えば、多くの環境では1ヶ所の変更でsbを動作させることができます。
init.cgiは適切なテキストエディタで編集する必要があります。テキストエディタに関しては、後述の「ソフトウェア」をご参照下さい。
sbを動作させるために必要な知識はそれほど多くありませんし、様々な場所から情報を収集することができます。
後述する「サイト」で紹介しているサイトやsb UsersGroupのパティオには有益な情報・事例が沢山あります。
願わくば、sbがあなたのネットライフの一部になりますよう。
sbの大まかなインストール手順は以下の通りです。
最後に環境設定の「サーバアドレス」が正しく設定されているかどうかを確認します。
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では以下の外部ライブラリを利用します。
Image::Magick が利用できる環境ではアップした画像のサムネイル生成が可能になります。
Net::SMTP が利用できる環境ではsendmailを使わずにメール通知が行えます。
Image::Magick, Net::SMTP は必須ではありません。
これらの必要なライブラリはsb_extとして、sb開発研究所からダウンロードできます。
配布アーカイブの util/ ディレクトリ内に「sb-check.cgi」というスクリプトを同梱しています。
このスクリプトを利用すると、sb設置に足りていないライブラリなどを確認することができます。
以下の方法でご利用下さい。
#!/usr/bin/perl
を変更します(「perlのパス設定」参照)ウェブブラウザでsb-check.cgiにアクセスした際、サーバーエラーとなる場合、上記手順の1〜3のいずれかの設定が間違っている可能性があります。
sb-check.cgiにアクセスすると、外部ライブラリチェックを行います。必要なライブラリが「ない」と表示された場合はsb開発研究所から外部ライブラリなどをダウンロードしてください。
また、外部接続チェックで
以外の内容が表示された場合、sbの一部の機能がご利用いただけません。200 OK
項目 | 説明 |
---|---|
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 のディレクトリ名は環境設定により変更することが出来ます。
スクリプトの最初の行
は設置するサーバにあわせて適時設定してください。#!/usr/bin/perl
設定する必要があるのはsb.cgi, cnt.cgi, mb.cgiとadmin.cgiだけです。
lib/内のスクリプトにもいちいち指定してありますが、それらは変更する必要はありません。
init.cgi で sb の基本的な設定を行います。
init.cgi では、
のように「項目」+「半角スペース(あるいはタブ)」+「設定内容」のように記述します。DataDir ./data/
「項目」と「設定内容」の間は半角スペースあるいはタブをひとつだけ記述するようにしてください。ふたつ以上の半角スペースあるいはタブがあると正しく設定が読み込まれません。
, DataDir
ならびに DataSuffix
は必須項目になっています。ScriptPath
特に
は必ず設定してください。これが正しく設定されていないと正常に動作しません。ScriptPath
項目 | 説明 |
---|---|
必須項目 | |
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 | 管理画面表示に際して管理画面用のテンプレートの文字コード変換処理を行うかどうかの設定です。管理画面表示の際に文字コードの変換処理を必要としない場合は と設定してください。sbでは後述するようにja.plの文字コードを変換するだけで処理コードを変更します。EUC-JP以外の文字コードに設定した場合、管理画面表示に常時文字コード変換処理が必要となり、管理画面の表示速度が低下します。そこで の文字コードも利用する文字コードに合わせておき、管理画面表示の際に文字コード変換処理をしないような設定をすることができます。 |
HelpSrv | ヘルプドキュメントが置かれているURIを指定します。ヘルプファイルの「ja.html」を抜いて指定してください。例えば、ヘルプドキュメントが「http://serennz.cool.ne.jp/sblog/doc/ja.html」だったら、 のように指定します。 |
TempSrv | 管理画面用のテンプレートファイルが置かれているURIを指定します。主に管理画面で利用されている画像指定に利用されます。「_parts」以下を抜いて指定してください。例えば、sbタイトル画像が「http://serennz.cool.ne.jp/sblog/lib/lang/_parts/title.gif」で閲覧可能な場合、 のように指定します。 |
TempDir | 管理画面用のテンプレートファイルが納められたディレクトリを指定します。sb.cgi, admin.cgi および cnt.cgi からみた「lib/」ディレクトリ内の「lang/」ディレクトリの位置を指定してください。 |
WeblogId | sb を複数設置した際に利用する識別子です。複数の sb を設置した場合でも、特に不都合がなければ利用する必要はありません。利用する場合には のように指定します。「id」には英数字と_(アンダーバー)が利用できます。文字数制限は特にありません。 |
BaseSrv | ベースサーバアドレスの初期値を設定します。この設定は環境設定の「サーバアドレス」で上書き可能です。 |
PluginDir | プラグインファイルを置くディレクトリを指定します。プラグインについてはplugin/内の「readme.txt」に詳細説明が記載されています。 |
AdminCookieDay | 管理画面のユーザー名・パスワードはお使いのブラウザにCookieとして保存されます。通常、1日間その情報を保持しますが、このオプションでその日数を変更することができます。 のように設定すると7日間、管理画面のCookie情報を保持します。 |
RefCheck | 管理画面においてリファラをチェックするかどうかを設定します。sbではセキュリティ強化のため、いくつかの操作に対してリファラチェックを行っています。セキュリティ対策ソフトウェアの中にはリファラ情報を変更するものもあり、そのままの設定ではご利用いただけない場合があります。その場合、 のように設定すると、管理画面でのリファラチェックを省略することができます。 |
MainScript | sb.cgiの名称を変更した際に利用します。例えば、sb.cgiをblog.cgiに変更した場合、 のように記述します。 |
TopIndex | トップページ用のインデックスファイル名(index.html)を変更した際に利用します。例えば、index.htmlをindex.htmに変更した場合、 のように記述します。 |
RecordDays | アクセス解析のデータ保存しておく期間を設定します。通常、30日間の分のアクセスログを保存していますが、このオプションでその保存期間を変更することができます。例えば、14日間のデータのみでよい場合、 のように記述します。 |
SpamCheckLevel | コメントのスパムチェック方式のデフォルトを決定します。0〜4までの数値を指定して下さい。 と設定すると、スパムチェックは行われません。 |
SpamCheckId | 「SpamCheckLevel」を2に設定している場合に利用されるID文字列を設定します。 のように設定します。 |
StyleDir | BaseDir上のテンプレート画像パーツディレクトリの名称を指定します。 |
XmlrpcForcedPublish | XML-RPC APIを利用した記事投稿において「piblish」のboolean値に関わらず記事を強制的に公開の状態で保存するかどうかを設定します。 と設定すると、強制的に公開します。0に設定した場合、「piblish」のboolean値によって公開・非公開が決定されます。 |
ログディレクトリならびに画像ディレクトリはベースディレクトリと組み合わせて利用されることに注意してください。例えば、ベースディレクトリを
と指定し、ログディレクトリを./
と指定すると、sb.cgi並びにadmin.cgiからはlog/
と扱われます。画像ディレクトリも同様です。sb の仕様上、ログディレクトリならびに画像ディレクトリはベースディレクトリ上に置かれるものとして処理されます。./log/
文字コードは直接設定しません。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にアクセスする際にはデータディレクトリ内に自動生成されたファイルを一度すべて消去してください。
管理ユーザー設定画面ではユーザー名とパスワードを設定します。ここで設定したユーザー名並びにパスワードは「編集メニュー」の「プロフィール編集」で後から自由に変更できます。
プロフィール編集でユーザー名・パスワードを変更した後は、一度ログアウトをする必要があります。
すでに古いバージョンをご利用いただいている場合に新しいバージョンにする際には以下の点に注意してください。
基本的に置き換えが必要なもの
基本的に置き換えが不要なもの(ver 1.00R以降)
文字コードを変えて利用している場合には 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/ の中身の差し替えで行うことができます。
ただし、バージョンアップに伴い、内部データは拡張されている場合があります。
拡張されたデータは以前のバージョンでは無視されるように設計されているため、データの保存操作が入るとバージョンアップで保存された内容が失われる場合があります。
バージョンアップに伴って追加された機能などがご利用いただけないだけで、動作そのものに大きな影響はありません。
sbをウェブサーバ上にアップロードするためには多くの場合、FTPソフトウェア(クライアント)を利用します。
init.cgiの編集などに利用します。Windowsの「メモ帳」は利用しない方がいいでしょう。
sb開発研究所にてダウンロードできるアーカイブファイルを解凍するためのソフトウェアです。
Mac OS Xをご利用の場合、「ターミナル」を利用して解凍できますので、上記ソフトは必要ありません。
コマンドラインで「tar」がご利用できる環境でしたら、
で解凍できます(tar zxf sb1xxx.tar.gz
部分は解凍するアーカイブによって異なります)。sb1xxx
sbを利用する上で見ておくと便利なサイトを紹介します。