tDiary 4.0.2へのアップデート

tDiary 4.0.1へのアップデートでtDiary 4.0.1とblogkitの組み合わせのインストールについて書いたが、その後tDiaryユーザー掲示板にて質問したところ、ただただしさんにblogkitを修正していただいた(ただただしさん、ありがとうございました)。これによりtDiary 4.0.2とblogkitの組み合わせでも動くようになった。以下4.0.2で動かすためのインストール手順をまとめておく。
なお、本エントリーはtDiary 4.0.1へのアップデートをベースに、3.1.0から4.0.1を経由せずにアップデートすることを想定して書いたので、私自身が行った手順とは異なる形に整理されている部分もある。もし試してうまく行かないことがあったらコメントを頂ければ幸いです。

前提

動作環境はRuby 2.1.0とgem 1.8.25をさくらのレンタルサーバにインストールするで整備したもの。詳細は以下の通り。

  • さくらのレンタルサーバ 
    • FreeBSD 7.1-RELEASE-p16 (SAKURA11S) #0: Fri May 4 06:01:53 JST 2012
  • $HOME/localにインストールしたruby 2.1.0p0 (2013-12-25 revision 44422) [i386-freebsd7.1]
  • $HOME/local/lib/ruby/gemsにインストールしたRubyGems 1.8.25

もともと$HOME/www/blogにtDiary 3.1.0がインストールされている。すなわち、今回行うのは運用中のblogのシステムの入れ替えである。いきなり上書きは怖いので、とりあえず$HOME/www/blog-4.0.xにインストールし、成功したらblogと入れ替えることとする。
念のためデータディレクトリをバックアップしておく。
なお、以下$HOMEおよび ~ は /home/yoshimura-s を指す。文中やシェルスクリプトでは$HOMEと書くが、コマンドプロンプトでは ~ を使用、またエラーメッセージでは /home/yoshimura-s と表示されている。

入手

本家のダウンロードページからtdiary-full-v4.0.2.tar.gz, tdiary-contrib-v4.0.2.tar.gzを入手する。ローカルPCでブラウザを使ってダウンロードし、サーバの適当な場所にアップロード、もしくはサーバ上でwgetし、展開しておく。
またGitHubからtdiary-blogkitの最新版 (2014年2月20日現在、今後は何等かのタグが打たれるかもしれない) をダウンロードする。今回はgitを使わずwebからもらうこととする。ローカルPCのブラウザでzipをダウンロードする場合は以下の手順となる。

取得したZIPファイルをサーバの適当な場所にFTPでアップロードしてunzipする。
もしくは、上記の手順で表示されたDownload ZIPボタンのリンクURLをコピーしてサーバ上でwget。私の環境ではサーバ認証が通らず、–no-check-certificate でダウンロード可能だったが、セキュリティ的には非推奨。

Webへの公開ディレクトリにコピー

「前提」での方針に伴い、上記のunzipでできたtdiary-v4.0.2を$HOME/www/blog-4.0.2にひとまずコピーする。

    %cp -rp tdiary-v4.0.2 ~/www/blog-4.0.2

blogkit、contribについてはそれぞれ上記ディレクトリの下にコピーする。

    %cp -rp tdiary-blogkit-master ~/www/blog-4.0.2/blogkit
%cp -rp tdiary-contrib-v4.0.2 ~/www/blog-4.0.2/contrib

.htaccess、tdiary.confのコピー

.htaccessおよびtdiary.confについて、入手した4.0.2に含まれるサンプル(dot.htaccess及びblogkit/tdiary.conf.sample_ja)と従来の3.1.0で運用していたものを比較し、大きな変更がないことが確認できたので、従来のものをコピーする。

    %cd ~/www/blog-4.0.2
%cp ../blog/.htaccess .
%cp ../blog/tdiary.conf .

ただしtdiary.confについては最初に下記の行を追記。

    @lang = 'ja'

なお、プラグインのパスについては、上記のコピーによってできたディレクトリ構成に合わせて下記のように設定してある(localについては後述)。

    # プラグインのパスの設定
#
@options['sp.path'] = ['misc/plugin', 'blogkit/plugin', 'contrib/plugin', 'local/plugin']

実行ファイルのシェバング行の書き換え

オリジナルのシェバング行は

    #!/usr/bin/env ruby

となっているが、今回の環境では/usr/bin/envが使えないので、/home/yoshimura-s/local/bin/rubyに書き換える。
対象はindex.rb、update.rb、bin/tdiary、misc/convert2.rb、misc/migrate.rb。
下記のようなシェルスクリプトで実行した。

    #!/bin/sh
cd $HOME/www/blog-4.0.2
for f in index.rb update.rb bin/tdiary misc/convert2.rb misc/migrate.rb
do
echo $f
cp $f ${f}.org
cat ${f}.org | sed -e 's/\/usr\/bin\/env ruby/\/home\/yoshimura-s\/local\/bin\/ruby/' > $f
done

スタイル、テーマ、JavaScriptのリンク生成

READMEではコピーするように指示されているが、シンボリックリンクで対処。
スタイル:

    %cd ~/www/blog-4.0.2/tdiary
%ln -s ../blogkit/tdiary/style/blog.rb
%ln -s ../blogkit/tdiary/style/blogwiki.rb

テーマ:

    %cd ~/www/blog-4.0.2/theme
%ln -s ../blogkit/theme/blog

contribのsocialbuttonプラグインを使うためにはJavaScriptも必要。

    %cd ~/www/blog-4.0.2/js
%ln -s ../contrib/js/jquery.socialbutton.js
%ln -s ../contrib/js/socialbutton.js

プラグインの追加インストール

投稿日時表示機能のプラグイン postedat.rb を使用しているので、これをインストール。先に設定したlocal/pluginに入れることとする。
配布元から入手してコピーするだけ。

    %wget -O postedat-0.3.tar.gz "http://www.hiraku.ro/?c=plugin;plugin=attach_download;p=postedat;file_name=postedat-0.3.tar.gz"
%tar zxvf postedat-0.3.tar.gz
%cd postedat-0.3
%cp -rp * ~/www/blog-4.0.2/local/plugin

Bundlerのインストールと実行

既にRubyGemsを入れてあるのでインストールは簡単。

   %gem install bundler

GitHubで入手した4.0.1では.bundleディレクトリと.bundle/contribファイルの生成が必要だったが、パッケージ版をダウンロードするとこれらは既に存在するので作業は不要。Ruby 2.0.0までのgemも同梱されているが、2.1.0のgemは同梱されていないので、bundle installを実行する。

   %cd ~/www/blog-4.0.2
%bundle install

これにより、$HOME/www/blog-4.0.2/.bundle/ruby/2.1.0/ に必要なライブラリがインストールされる。
なお、GitHubで入手した4.0.1ではmisc/libへのBundlerのコピーが必要だったが、パッケージ版では既に同ディレクトリにbundler-1.3.5が存在するのでこの作業も不要。
以上によりブラウザからアクセス可能になっているはず。

従来環境との入れ替え

うまくアクセスできたら、blog-4.0.2をblogとして公開する。

    %cd ~/www
%mv blog blog-3.1.0
%mv blog-4.0.2 blog

これによって晴れてhttps://www.yoshimura-s.jp/blogでアクセスできるようになる。
プラグインの設定などは以前からキャリーされるが、念のため設定画面で確認し、必要に応じて適宜修正しておく。

tDiary 4.0.2へのアップデート” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です