より高速に動作させる

CGI以外の方法を用いることで、adiaryを高速動作させることができます。自前サーバ所有者向きの設定項目です。*1

*1 : レンタルサーバによっては SpeedyCGI に対応していることがありますので、レンタルサーバの情報をご確認ください

共通事項

ここで示す、mod_perl や SpeedyCGI、FastCGIなどの高速化行う場合、データベースアクセスをメモリキャッシュとして展開することをお勧めします。CGI動作の場合は設定しても遅くなるだけですので誤って設定しないようにしてください。

キャッシュルーチンを途中に挟む場合の設定
<#$DB = loadpm('DB_cache', 'DB_pseudo', 'data/db/')>
<#$DB = loadpm('DB_cache', 'DB_pg',    'database=adiary', 'adiary', 'test', 1.connection_pool)>
<#$DB = loadpm('DB_cache', 'DB_mysql', 'database=adiary', 'adiary', 'test', 1.connection_pool)>
<#$DB = loadpm('DB_cache', 'DB_mysql', 'database=adiary', 'adiary', 'test', 1.connection_pool, 'ujis')>

すでにある記述してある <$DB = loadpm(....)> という行を <#$DB = loadpm(....)> とコメントアウトし、上記の中で適切な(外部DBを使用しないならば一番上)行の <#$DB = ...><$DB = ...> というように先頭 # を外し設定してください。

各方式の特徴、速度比較

こちらの記事を参照してください。

mod_perlにおける注意事項

worker 動作の mod_perl において「1.connection_pool」を有効にすると、何らかのリソースを消費しmod_prelの動作が不安定になる現象が確認されています。原因究明を行っいますが今だ不明のままです。prefork環境では確認していませんが、少なくともworkerではコネクションプールをオフにした方が安全です。次を参考にオフに設定してみてください。

<$DB = loadpm('DB_pg', 'database=adiary', 'adiary', 'test', 0)>
<$DB = loadpm('DB_cache', 'DB_mysql', 'database=adiary', 'adiary', 'test', 0)>

用語集

::

日記
1つ1つの記事のことを日記といいます。wiki的拡張に伴い記事という表現の方が多くなりましたが、同じものだと認識しておいてください。
日記帳
各ブログのことを日記帳といいます。
付加情報
最近の記事、最近のコメント、最近のトラックバックなどのサイドバー表示の情報を、日記帳の付加情報といいます。adiaryではこれらの情報を内部的にキャッシュしているため、記事の書き換えなど以外で情報が変更された場合、付加情報が追従できません。日記帳の設定を開き、なにもせず*1保存すると、付加情報が再構築されます。
テーマ
見た目に関わる要素はすべてテーマと呼ばれる CSS によって決定され、簡単に切り替えることができます。これはtDiaryはてなダイアリー由来のシステムです。
さつき記法
はてな記法上位互換の入力記法を備えていて、この記法を(はてなと区別するために)さつき記法といいます。とはいえ、adiaryのはてな記法や単にはてな記法と呼んでもまったく構いません。*2

*1 : もちろん変更しても構いません

*2 : はてな的には知りませんが(^^;

/adiary/ 等で表示させる

概要

通常 adiary の URL は

http://nnnnn.adiary.org/adiary/adiary.cgi/userx/111

http://eeeee.adiary.org/blog/adiary.cgi/053

といったように、adiary.cgi を含みます。WebサーバがApacheならば、これを

http://nnnnn.adiary.org/adiary/userx/111

http://eeeee.adiary.org/blog/053

のようにしてアクセスさせることができます。

設定可能な環境

Webサーバとして Apache が利用されている必要があります。そして .htaccess が許可され、mod_rewrite が Apache にインストールされていなければなりません。レンタルサーバの場合は情報がないことがありますが、試しに

RewriteEngine	On

とだけ書かれた .htaccess を置いてみてください。アクセスして「500 Internal Server Error」とならなければ利用可能な可能性があります。*1

*1 : .htaccessそのものが許可されていない場合もエラーになりませんが利用できません……

設定方法

http://nnnnn.adiary.org/adiary/adiary.cgi に adiary が設置されている場合、.htaccess には次のように記述して、adiary.cgi と同じディレクトリに置きます。

RewriteBase	/adiary/
RewriteCond	%{REQUEST_FILENAME}	!-f
RewriteRule	^(.*)$			adiary.cgi/$1	[L]

RewriteBase に書くのはブウラザでアクセス時、URLに表示されるパスです。/home/xxxx/adiary/ などではありません。間違えないようにしてください。

既に記事がある状態で移行した場合は、最近の記事やコメントなどのリンクがすぐに修正されません。気になる場合は、管理者でログイン後「管理 → 管理メニュー → システム管理 → 付加情報の再構築」を行ってください。

注意

基本的な設定

adiaryの設定には adiary.conf.cgi などのファイルを書き換えるものと、adiaryシステム上(ブウラザ上)から管理→日記帳の設定で行うものの2種類が存在します。

全体としての動作を決めるのが adiary.conf.cgi です。通常あまり凝った設定は必要ありませんので、いくつか大切なものをピックアップして解説します。

ルータPCやFirewall内の外部公開wwwに adiary をインストールする場合

adiaryはアクセス時のホスト名を基本として動作しますので、RSSに内部ホスト名やIPが出てしまったり、トラックバックなどが送れなかったりします。この場合は、外部から参照するサーバ名を adiary.conf.cgi で設定してください。

<$Server_name='my-offical.host.name'>

ルータの仕様などで、ローカルからここで設定した Server_name にアクセスできないときは次も設定してください。

<$Redirect_use_relative_url = 1>    ←有効にする

タグの利用制限を外す

adiaryは信頼出来ない第3者にレンタルしても問題が起きないようなセキュリティ設計になっています。そのためタグの利用制限がキツくなっており、JavaScript などを記述できません。

信頼出来る仲間内、または個人で利用する場合は adiary.conf.cgi 中で trust mode(トラストモード)を設定すると、タグの利用制限を外すことができます。

<$v.trust_mode = 1>

管理者のみタグ制限を外す場合は、上を設定せずに次を設定します。(Ver1.31~)

<$v.root_trust_mode = 1>

追加のはてなテーマ

adiaryでは「はてなテーマ」が使用出来ます。必要な方は はてなテーマ をダウンロードした上で、theme/hatena/ ディレクトリ内で展開してください。

【ファイル構造】
theme/
  satsuki/
  hatena/
    _skelton/
    artnouveau-blue/
        :
    hatena/
    hatena2/
        :
        :

画像アップロード機能でサムネイル(縮小画像)を作りたい場合

レンタルサーバでなければ、ImageMagick(PerlMagick)をインストールしてください。レンタルサーバの場合は、個人で ImageMagick をインストールすることができません。

画像アップロード機能が要らない場合

 adiary.conf.cgi 中の v.uploader の設定値を 0 に書き換えて、uploader.cgi の実行属性を消してください(削除でも可)。

<$v.uploader = 0>