トップ «前の日記(2008-02-28-Thu) 最新 次の日記(2008-03-09-Sun)» 編集

■ 日 々 の 過 ち ■

2003|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|
半期 四半期 全カテゴリ




2008-03-08-Sat 複数のtdiary インストールメモ

_ [Web] 複数のtdiaryを同一サーバで運用する方法のインストールメモ。

・XREA+tdiary2.2.1+日記&Blogkitの運用

・image_ex.rb、search.rbの追加プラグインを使用

 

上記の仕様でインストールしようとし、先人達のメモなどを見ていろいろ試行錯誤をしたが上手くいかなかった。

自分なりに考え、なんとか上手くいっているようなので、備忘録として残す。

_

_

ディレクトリ構造
 
   
virtual/userID/data/diary_1/  ……日記1のデータディレクトリ
  blog_1/  ……blog1のデータディレクトリ
public_html/userdomain/tdiary/  ……tdiaryのインストールディレクトリ
  blogkit/ ……tdiaryのインストールディレクトリ
  doc/  
  misc/  
  plugin/  
   theme_url.rb……テーマを共有するプラグイン
  skel/  
  tdiary/  
  theme/  
  .htaccess  
  blog.conf  
  tdiary.conf  
  image_size.rb  
  nph-index.rb ……index.rbじゃない理由は後述
  search.rb  
  update.rb  
 diary_1/  ……日記1を運用するディレクトリ
  images/ ……日記1のimage_ex.rbの画像ディレクトリ
  .htaccess  
  nph-index.rb ……index.rbじゃない理由は後述
  search.rb  
  tdiary.conf  
  update.rb  
 blog_1/  ……blog1を運用するディレクトリ
  images/ ……blog_1のimage_ex.rbの画像ディレクトリ
  .htaccess  
  nph-index.rb ……index.rbじゃない理由は後述
  search.rb  
  tdiary.conf  
  update.rb  

 

tdiaryのディレクトリに本体をインストールし、diary_1、blog_1にそれぞれ日記とblogをインストールする。

日記やblogを増やす場合は並列に同様に。

 

.htaccess(全て共通)

 Options +ExecCGI

 AddHandler cgi-script .rb

 DirectoryIndex nph-index.rb

 <Files "*.rhtml">

deny from all

 </Files>

 

 <Files "tdiary.*">

deny from all

 </Files>

 

 <Files update.rb>

AuthName tDiary

AuthType Basic

AuthUserFile /virtual/userID/.htpasswd

require user user

 </Files>

 

blog.conf blogKit内のtdiary.comf.sample_jaの下記部分を変更、追加する。

#

# データを格納するディレクトリ

#

@data_path = "/virtual/userID/#{@directory_name}"

@options['sp.path'] = [

'/virtual/userID/public_html/tdiary/misc/plugin',

'/virtual/userID/public_html/tdiary/blogkit/plugin']

 

# 絵日記プラグイン機能追加版

#@options['image_ex.previewsize'] = 120

@options['image_ex.yearlydir'] = 0

@options['image_ex.useresize'] = 1 # ←コレがポイント

@options['image_ex.converttype'] = 0

@options['image_ex.thresholdsize'] = 240 #これより大きいサイズはリサイズされる

@options['image_ex.convertedwidth'] = 240 #サムネイルのサイズ(横)

@options['image_ex.convertedheight'] = 180 #サムネイルのサイズ(縦)

@options['image_ex.convertpath'] = "/usr/bin/convert" #convertのパス。xreaの場合は標準装備なのでこれでOK。

 

 

diary.conf tdiary.comf.sampleの下記部分を変更、追加する。

@data_path = "/virtual/userID/#{@directory_name}"

 

@options['sp.path'] = '/virtual/userID/public_html/tdiary/misc/plugin'

 

@options['image_ex.previewsize'] = 120

@options['image_ex.yearlydir'] = 0

@options['image_ex.useresize'] = 1 # ←コレがポイント

@options['image_ex.converttype'] = 0

@options['image_ex.thresholdsize'] = 240

@options['image_ex.convertedwidth'] = 240

@options['image_ex.convertedheight'] = 180

@options['image_ex.convertpath'] = "/usr/bin/convert"

 

 

nph-index.rb

#!/usr/local/bin/ruby

require '/virtual/userID/public_html/tdiary/nph-index.rb'

 

 

update.rb

#!/usr/local/bin/ruby

require '/virtual/userID/public_html/tdiary/update.rb'

 

 

diary_1のtdiary.conf(日記用)

@directory_name = 'data/diary_1'

eval( File::readlines( "/virtual/userID/public_html/tdiary/diary.conf" ).join.untaint )

@options['image.dir'] = '/virtual/userID/public_html/diary_1/images/'

@options['image.url'] = 'http://diary_1/images/'

@data_path = "/virtual/userID/data/diary_1"

 

 

blog_1のtdiary.conf(blog用)

@directory_name = 'data/blog_1'

eval( File::readlines( "/virtual/userID/public_html/tdiary/blog.conf" ).join.untaint )

@options['image.dir'] = '/virtual/userID/public_html/blog_1/images/'

@options['image.url'] = 'http://blog_1/images/'

@data_path = "/virtual/userID/data/blog_1"

 

 

theme_url.rb(一つのthemeを共有化するプラグイン)

def theme_url

'http://userdomain/tdiary/theme'

end

 

 

ここで、index.rbをnph-index.rbとした目的を書いておく。

xreaの有料版(広告無し)では、2回に1回、スクリプトエラーが出てしまう。

それを回避する方法が以下。

(方法は全てxrea で tDiary を正常に動かす方法(まとめ)を参考にしている。(というかそのまま)

 

・ファイルネームの変更(index.rb→nph-index.rb)

・.htaccessの修正(index.rb→nph-index.rb) …上記の.htaccessは修正済み

・tdiary.rbの修正

  head = {

  'type' => 'text/html',

  'Vary' => 'User-Agent'

  }

  head = {

   'nph' => true, # 追加

   'type' => 'text/html',

   'Vary' => 'User-Agent'

  }

に修正。また、

  rescue TDiary::ForceRedirect

   head = {

   #'Location' => $!.path

   'type' => 'text/html',

   }

  rescue TDiary::ForceRedirect

   head = {

   #'Location' => $!.path

   'nph' => true, # 追加

   'type' => 'text/html',

   }

に修正。これでエラーを吐かなくなる。

ちなみに、これをやったのは随分前なので、現在のバージョンでも同様にエラーが起こるかは不明。保険の意味で変更しておいた。もしかすると、やらなくても大丈夫かもしれない。

 

その他、tdiaryのインストールディレクトリに、search.rb、image-size.rb、misc/pluginにimage_ex.rbをコピーする。

ちなみに、search.rbは最新の物では上手く動かず、grep.rb,v 1.58というもので動いている。

後は、nph-index.rbとupdate.rbの属性を700にしてやれば、準備完了。

   

以上で、一通り動く、ハズ。疲れた〜。(これを書くのもね)

 

最後に、参考にさせて頂いたページを。

同一サーバで複数のtDiaryを運営する方法

月夜叢雲 花吹雪

fmemo

絵日記プラグイン機能追加版(image_ex.rb)をいれる

 

諸先輩方に感謝。