2016-10-01-Sat PS4とかnamazuとか
_ [日常] 温泉旅行から
帰ってきました。
向こうは21度とかだったのに、熊本市内に帰ってきたら30度。あちぃ。
温泉は良かったなー。結局家族風呂には入れなかったけど、混浴露天風呂を昨晩と今朝の二回堪能してきました。
混浴って言っても誰も入ってこなくて貸切でしたけどね。ええキレイサッパリ。
帰りにお土産として、温泉で蒸した野菜を頂きました。ジャガイモとサツマイモ、それに卵。帰宅してからお昼ごはんに食べたけど、これも美味かったな。大満足でした。
黒川温泉の奥の湯、お勧めです。
_ [日常] ヨメが某ゲームをやりたいと
譫言のように言うので、帰宅してから近所のGEOにPS4とそのゲームを買いに行きました。
買ったはいいんですが、PS4ってHDMI接続なのね。今時当たり前か。
ウチのTVにはHDMI端子が一つしかなく、それはHDDレコーダーに繋がっている。それを知ったヨメは「え?出来ないの?」と相当ガッカリした様子だったんですが、「こんなこともあろうかと」おもむろに予め用意してあったHDMIセレクターを取り出すオレ。全国100万人のマッドエンジニアの夢が叶った瞬間でした。
_ [Web] tdiary+squeeze.rb+xrea
備忘録です。
この日記はひとつのtdiaryで複数の日記とblogを運用しており、そのインストールメモはここにある。
そのディレクトリはこうなっている。
ディレクトリ構造 | |||||
virtual/userID/ | data/ | diary_1/ | ……日記1のデータディレクトリ | ||
namazu | nmz_diary_1 | ……日記1のnamazuディレクトリ | |||
make_index.sh | ……日記1のindex作成shスクリプト | ||||
nmz_blog_1 | ……blog1のnamazuディレクトリ | ||||
make_index.sh | ……blog1のindex作成shスクリプト | ||||
blog_1/ | ……blog1のデータディレクトリ | ||||
public_html/userdomain/ | tdiary/ | ……tdiaryのインストールディレクトリ | |||
blogkit/ | ……tdiaryのインストールディレクトリ | ||||
doc/ | |||||
misc/ | |||||
plugin/ | |||||
theme_url.rb | ……テーマを共有するプラグイン | ||||
skel/ | |||||
tdiary/ | |||||
theme/ | |||||
.htaccess | |||||
blog.conf | |||||
tdiary.conf | ……squeeze.rbを動かすために一時的に改変する | ||||
image_size.rb | |||||
index.rb | |||||
search.rb | |||||
update.rb | |||||
squeeze.rb | ……過去データを一括変換する為のプラグイン | ||||
diary_1/ | ……日記1を運用するディレクトリ | ||||
images/ | ……日記1のimage_ex.rbの画像ディレクトリ | ||||
html/ | ……squeeze.rbで吐き出したhtmlファイルを保存するディレクトリ | ||||
namazu/ | ……namazuを実行するディレクトリ | ||||
.htaccess | |||||
.namazurc | |||||
make_index.cgi | |||||
namazu,cgi | ……自動でcopyされる | ||||
.htaccess | |||||
index.rb | |||||
search.rb | |||||
tdiary.conf | ……namazuを動かすために一部追加 | ||||
update.rb | |||||
blog_1/ | ……blog1を運用するディレクトリ | ||||
images/ | ……blog_1のimage_ex.rbの画像ディレクトリ | ||||
html/ | ……squeeze.rbで吐き出したhtmlファイルを保存するディレクトリ | ||||
namazu/ | ……namazuを実行するディレクトリ | ||||
.htaccess | |||||
.namazurc | |||||
make_index.cgi | |||||
namazu,cgi | ……自動でcopyされる | ||||
.htaccess | |||||
index.rb | |||||
search.rb | |||||
tdiary.conf | ……namazuを動かすために一部追加 | ||||
update.rb |
赤文字が今回変更した部分。
ちなみに前の日記で書いた広告がらみのスクリプトエラーは対策が済んだようで、nph-index.rbではなくindex.rbで普通に動くようになった。
で、squeeze.rbだが、普通に動かすには各日記(ブログ)のtidary.confに下記を追加すればよい。
@options['squeeze.output_path'] = "/virtual/userID/public_html/diary_1/html/"
@options['squeeze.compat_path'] = true
1行目は吐き出したhtmlファイルを保存するディレクトリの指定。
2行目は吐き出すファイルディレクトリ形式の指定。trueにすると、2016年9月28日の日記が"/html/20160928"で出力される。無指定またはfalseだと先のファイルは"html/2016/0928"と年別にサブディレクトリが作られ、その下に月日の名前のファイルが作られる。namazuで運用するにはひとつのディレクトリに入っていた方が使い易いと思う。
squeeze.rbは日記を更新する度に動いてhtmlファイルを作る。逆に言うと、過去の日記は更新しない限り、htmlファイル化されない。コレでは困るので、squeeze.rbを強制的に実行し、過去の日記もhtmlファイル化する必要がある。
その為に、親のtdiaryディレクトリにsqueeze.rbを入れておく。これは実行後には削除してOK。
で、tdiary.confにて先と同じ指定を追加する。
@options['squeeze.output_path'] = "/virtual/userID/public_html/diary_1/html/"
@options['squeeze.compat_path'] = true
この場合は、diary_1に対してsqueeze.rbでhtmlファイル作成を行う。
もちろん、squeeze.rbはcgiとして実行可能な属性にしておく。
この状態で、ブラウザから"http://userdomain/tdiary/squeeze.rb"でsqueeze.rbをcgiとして実行。暫くすると、作られたファイルがブラウザに表示され、"End"の文字が出れば終了。ただしファイル数が多いと途中で終了してしまうことが多い(xreaの場合?)ので、FTPクライアントで出力ディレクトリの中身を確認しつつ何回か実行する必要があるかもしれない。自分の場合は対象ファイルが3500個ほどあり、3回ほど実行する必要があった。
同様にこれを、blog_1に対しても(もちろん日記が複数ある場合にはそれにも)行って、終了後にtdiary.confを元に戻して終了。
xreaの場合はこれで出来る、ハズ。
_ [Web] tdiary+namazu+xrea
続いてnamazuのインストール。
xreaにはnamazuがインストールされているので、INDEXを作るファイルとnamazuを実行するファイルの二つが有ればよい。
他にはnamazuの設定ファイル.namazurcと、.htaccessが必要。
まずINDEXを作るファイルmake_index.shはコレ。
#!/bin/sh
cd /usr/local/libexec/
/bin/cp -u namazu.cgi /virtual/userID/public_html/userdomain/diary_1/namazu/
cd /virtual/userID/public_html/userdomain/diary_1/namazu/
/bin/chmod 700 namazu.cgi
cd /virtual/userID/namazu/nmz_diary_1/
/usr/local/bin/mknmz \
--verbose \
--media-type='text/html' \
--indexing-lang=ja \
--exclude='/virtual/userID/public_html/log/|/virtual/userID/public_html/error/|/virtual/userID/public_html/.*\.pending/.*' \
--use-kakasi \
/virtual/userID/public_html/userdomain/diary_1/html/ \
> /virtual/userID/namazu/nmz_diary_1/make_index.log
cat /virtual/userID/namazu/nmz_diary_1/make_index.log
echo "</TEXTAREA><HR>Finished!! </BODY></HTML>"
rm -f /virtual/userID/namazu/nmz_diary_1/namazu.cgi;cp -uf /usr/local/libexec/namazu.cgi /virtual/userID/namazu/nmz_diary_1/
exit
続いて.namazurc。
Index /virtual/userID/namazu/nmz_diary_1
Template /virtual/userID/namazu/nmz_diary_1
Replace /virtual/userID/public_html/userdomain/diary_1/html/ http://userdomain/tdiary/?date=
Logging on
Lang ja_JP
MaxHit 10000
MaxMatch 1000
んで.htaccess
<Files ".namazurc">
Order allow,deny
Deny from all
Satisfy All
</Files>
これらを上記のディレクトリに入れて、make_index_shの属性は700とする。
SSHでSSHでログインし、make_index.shのディレクトリに移動。make_index.shを実行する。
対象ファイル数が多い場合、初回は数時間かかるかもしれないけど、2回目以降は差分だけの実行なのですぐに終わる。
終わったところで、http://userdomain/diary_1/namazu/namazu.cgiをブラウザより呼び出し、無事に検索画面が出れば終了。
最後にmake_index.shを定期的に実行させるため、xreaのコントロールパネルからcronジョブを設定。
(virtual/userID/)namazu/diary_1/make_index.shと(virtual/userID/)namazu/blog_1/make_index.shをジョブ登録して終了。一日一回決まった時間にジョブを走らせれば十分でしょう。
他の人に参考になるかはわからないけど、備忘録なので良しとしよう。