設定のヒント

ここではadiaryの設定について説明します。

すべての設定を網羅することはできませんので、補足的な説明に留めます。

公開ディレクトリの変更

一部のレンタルサーバでは、cgi-bin 以下に設置しないと cgi が動作しない上、cgi-bin 中ファイルが読み出せないことがあります。その場合の対策を書きます。

公開ディレクトリの設置場所を変更する

標準では、テーマや画像、RSSなどは adiary と同一のディレクトリに置くようになっています。

この場合ディレクトリ構成を次のように変更します。

自分のwwwディレクトリ
  + cgi-bin
    + adiary
       + __chche/
       + data/
       + info/
       + lib/
       + plugin/
       + skel/
       + skel.local/
       - adiary.cgi
       - adiary.conf.cgi
       - (略)
  + adiary
    + js/
    + pub/
    + pub-dist/
    + theme/
  • http://example.com/cgi-bin/adiary/adiary.cgi
  • http://example.com/adiary/theme/

adiary のファイル群の中から公開ディレクトリ4つを違う場所に移動します。パーミッションはマニュアルどおりに設定してください。

続いて adiary.conf.cgi を開き、次の設定を変更します。

# 公開のデータディレクトリ
<$constant(pub_dir)    = '../../adiary/pub/'>
<$constant(pubdist_dir)= '../../adiary/pub-dist/'>
<$constant(theme_dir)  = '../../adiary/theme/'>
<$constant(script_dir) = '../../adiary/js/'>

トラブル事例集

一般的なレンタルサーバではインストールの項目の操作だけで十分動作しますが、中には特殊なレンタルサーバも存在します。

広告付きレンタルサーバはサーバ(Apache)自体に特殊な細工がされていることが多く、うまく動作しないことがあります。

adiary.cgi より先に進めません、リンクが時々おかしい、404エラーになる

adiaryはcgiのパスなどを自動的に解析しますが、サーバによって自動解析を失敗することがあります。

この場合は、adiary.env.cgi をサンプルからコピーして、以下を参考に中身を設定してください。

●ブラウザでアクセスしたときのURL:http://example.com/adiary/adiary.cgi
<$Basepath="/adiary/">
<$ENV.SCRIPT_NAME="/adiary/adiary.cgi">

●ブラウザでアクセスしたときのURL:http://example.com/cgi-bin/ad/adiary.cgi
<$Basepath="/cgi-bin/ad/">
<$ENV.SCRIPT_NAME="/cgi-bin/ad/adiary.cgi">

●ブラウザでアクセスしたときのURL:http://example.com/adiary.cgi
<$Basepath="/">
<$ENV.SCRIPT_NAME="/adiary.cgi">

mod_rewrite を使用していなければ(何のことか分からない場合は使用してません)、次の設定も行ってください。

<$Mod_rewrite=0>

XXXの動作がおかしい

画面遷移などで通常は起こりそうもないような不具合が起こることがあります。

adiaryの不具合の場合もありますが、FTPでadiaryをサーバに(上書き)アップロードする際、ファイルが中途半端に上書きされ壊れることで意味不明な挙動を示すことがあります*1特にffftpを使用しアップロードする場合、接続が途中で切れたら必ず最初からやり直してください

adiary自体の不具合か確認したい場合はテスト用ブログなどをご利用ください。

*1 : 以前何件か報告されました

見た目がおかしい、テーマ(CSS)が表示されない

ここを参照してみてください

自前サーバへのインストール

ローカルのサーバ、自前で管理しているサーバ、VPSサーバ等へのインストール方法を述べます。

前項のレンタルサーバを前提としたインストール方法よりも内容的に高度になります。なお、Apacheはすでにインストールされ、設定も済んでいるものとします。

※パッケージコマンドはDebian系に準拠しています。他のディストリビューションやFreeBSD等では適当に読み替えてください。

gitを使用する

自前サーバでしたら、gitを使うと圧倒的に楽ですので、その方法で説明します。

まずgitをサーバにインストールしてください。

$ sudo apt-get install git

次にadiaryを展開したいディレクトリに移動し、Githubからソースを取得します。

$ git clone https://github.com/nabe-abk/adiary

実行した場所の adiary/ 以下に全ソースファイルが展開されます。

アップデートする場合は「adiary」を展開したディレクトリに移動して以下のコマンドを入力するだけです。

$ git pull

開発版が欲しいとき

$ git pull origin develop:master

tag.bz2から展開する

ファイルを取得して展開したいディレクトリで次のコマンドを入力してください。*1

$ tar xvf adiary-3.xx.tar.bz2 

アップデード時は、新しいアーカイブを展開してから cp -Rp 等で上書きする必要があります。

*1 : adiaryのディレクトリは勝手に作られます。

Perlのインストール

Perl及び必要なモジュールをインストールします。すでにインストールされている場合は必要ありません。

$ sudo apt-get install perl
$ sudo apt-get install perlmagick libnet-ssleay-perl libcryptx-perl
  • インストールモジュール : Image::Magick, Net::SSLeay, CryptX

RPM系の場合は以下

$ sudo yum install ImageMagick-perl perl-Net-SSLeay perl-CryptX

パーミッションの設定

cgiファイルにはすでに実行属性がついていると思いますので、ディレクトリの書き込み許可だけ設定してください。

$ chmod 777 __cache data pub

suEXEC環境ではこの設定は不要です(よく分からない時は設定を行ってください)。

confの設定

サンプルから .conf.cgi を設定してください。面倒ならばデフォルトのままで大丈夫です。

$ cp adiary.conf.cgi.sample adiary.conf.cgi
$ vi adiary.conf.cgi

詳細はadiary.conf.cgiの項目を参照。使い勝手よりセキュリティを重視する場合admin_trust_modeを解除したほうが良いです。

adiaryへのアクセス

adiary.cgiへアクセスして適当なID/PASSでログインしてください。

うまくログインできたらあとは画面の指示に従います。

動作環境

クライアント側

サーバ側

Pure Perl環境でも動作しますが、Image::Magick(perlmagick)モジュールのインストールを強く推奨します。*2

その他、使用することのあるモジュールは「メニュー」→「システム管理」→「システムチェック」から確認してください。

注意

Apache以外のサーバ、または .htaccess が無効になっているサーバで動作させる場合、data/ および __cache/ ディレクトリをwebサーバから参照できない場所に移動するか、他の方法でそれらのディレクトリにweb上からアクセスできないようにしてください。

*1 : CGI実行環境としての互換性です。特殊な依存はありませんが、一部の説明はApacheを前提として書かれています。

*2 : なくても動きますが、画像管理機能がかなり使いにくくなります。