«前の日記(2013-08-15) 最新 次の日記(2013-09-04)» 編集

会長@腹部日記


2013-08-22 [長年日記]

_ Apache + fcgi + tDiary + rbenvでgithubさきっちょを追いかける環境を一旦整理

tDiary 4.0.0-20130808で実施。cgiでも使えると思われます。

ぐちゃぐちゃになってしまったので整理しておく。若干古めな手順に見えてきた。

rbenv + bundlerは入れておくこと。

  • 1. githubからclone
cd ~/workspace/github
for repo in core contrib theme
do
  git clone $repo
done
  • 2. jsとthemeにシンボリックリンク
cd ~/workspace/github/tdiary-core/js
ln -s ../../tdiary-contrib/js/* .
cd ../theme
ln -s ../../tdiary-theme/* .
  • 3. Gemfile.localをtdiary-coreに作成
cat ~/workspace/github/tdiary-core/Gemfile.local
group :tamoot do
   gem 'twitter' # twitter を使うオレオレプラグインのため
end

group :fcgi do
   gem 'fcgi'
end
  • 4. fcgi用公開ディレクトリの作業
cd /export/fcgi/tdiary_top
cp ~/workspace/github/tdiary-core/tdiary.conf.sample tdiary.conf
# 中身は適宜編集
# ~/workspace/github/tdiary-contrib/plugin をsp.pathに入れておく
ln -s ~/workspace/github/tdiary-core/js .
ln -s ~/workspace/github/tdiary-core/theme .
touch index.rdf
    • update.rb, index.fcgiを作成。こうすると本体の更新に追随可能。
cat update.rb
#!/home/tdiary/.rbenv/versions/2.0.0-p247/bin/ruby
require '/home/tdiary/workspace/github/tdiary-core/update'
cat index.fcgi
#!/home/tdiary/.rbenv/versions/2.0.0-p247/bin/ruby
load '/home/tdiary/workspace/github/tdiary-core/index.fcgi'
  • 5. .htaccessも作成

tdiary.confや.htpasswd以外には、肝心なところは以下

RewriteEngine on
RewriteBase /d # この日記ベース
RewriteRule ^([0-9\-]+)\.html$ index.fcgi?date=$1
RedirectMatch 404 /\.git(/|$)
  • 6. bundle installしておく
cd ~/workspace/github/tdiary-core
rbenv exec bundle install --without coffee:memcached:redis:gfm:server:development:test
  • 7. apacheを再起動して確認する

もし、ここまできて動作しないのであれば、おそらく残る原因はapacheかfcgiそのものの設定、パーミッションといったところのため割愛。

Tags: tDiary Ruby