qwikWeb開発者日記

  • diaryプラグインの実験場でもあります.
  • このWikiサイトの「Eto_」からはじまる日記ページ群が、以下に表示されます.

江渡 2007/08/05

  • qwik.jpのdisk full問題について対処する.

Todo

  • いろいろある対処方法のうち,簡単にできるものから順にやっていく.

backup不要ページ対策

  • _SiteLogは通常単調増加であり,backupは不要である.
  • 他,下記ページ群もbackupが不要である.backupをとらないようにする.
_SiteLog
_SiteChanges
_GroupCharset
_GroupCount
  • できた.

添付ファイルのbackupをとらないように

  • 現在添付ファイルがdeleteされる際に,常にbackupをとっている.
  • これをbackupをとらないように変更する.
  • できた.

添付ファイルのMAXを定義する

  • 現在添付ファイルのMAX SIZEが定義されていない.
  • 10MB以上のファイルははじくように設定する.
  • できた.
  • 必要なサイトは,max_file_sizeを自主的に設定することでmaxを回避できる.

サイト消滅

  • サイトが消滅しないようになっているのを,ちゃんと消滅させる.
  • bury先を同じdirにすることによって,ちゃんと消滅させるようにした.

サイト消滅アナウンスについて

  • どうもサイト消滅アナウンスが送られてないっぽい.
  • 途中でエラーが起きても処理を継続するはずなのだが,なぜメールが送られないのか,謎である.

やりのこし

  • サイト全体のファイル容量のMAXを設定する.

デプロイ

  • kpushする.
  • qwik.jpにはいる.eto権限でsvn up.
cd /home/qwik/qwik/lib
svn up
  • qwik権限で,stopさせる.1分待つと再スタートする.
kill `cat /data1/qwik/log/qwikweb.pid-d`
  • ちゃんと動作してるかな.
  • tagをのこしておく.

svn copy -m 'Enable site sweep.' svn+ssh://eto@rubyforge.org/var/svn/qwik/qwik svn+ssh://eto@rubyforge.org/var/svn/qwik/tags/REL-20070805

Debian恐い

  • サイトアーカイブが動作しない
  • zipが入ってないからだ
  • aptで入れてみよう
  • aptitude installと、あれ入らない
  • aptitude updateと、aptitude upgradeと、
  • あれ? やべ、kernelとか入れ替えはじめてる! エラーになってとまる
  • あわてて止めて、stableをsargeにかきなおして、updateしなおし
  • エラーになってとまる。ありとあらゆるパッケージが消えてる…。
  • sshが切断された→再接続しようとしても外部から入れない…。
  • あわてて電話する→IPアドレスなら入れることがわかる (210.135.98.49)
  • こつこつゼロからパッケージ入れ直し →http://eto.com/d/DebianSetup.html
  • 復旧した! ←いまここ

サイトアーカイブの動作

% cd
% svn checkout svn+ssh://...@rubyforge.org/var/svn/qwik/qwik trunk
% make
 1) Error:
test_act_zip(TestActArchive):
NameError: uninitialized constant Qwik::SiteArchive::Zip
  • zipが入ってないというエラー

gemのinstall

rubyzip (0.9.1, 0.5.12, 0.5.11, 0.5.9, 0.5.8, 0.5.7, 0.5.5)
   rubyzip is a ruby module for reading and writing zip files

これをいれたい。

% cd ~/work
% wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
% tar xfz rubygems-0.9.4.tgz; cd rubygems-0.9.4
% sudo ruby setup.rb

rdocのinstall

# aptitude install rdoc

aptitude update

  • /etc/apt/sources.list
deb http://ftp.arege.jp/debian-arege sarge mecab senna mysql-dfsg-4.1
deb http://ftp.riken.go.jp/pub/Linux/debian/debian/ sarge contrib main non-free
deb-src http://ftp.riken.go.jp/pub/Linux/debian/debian/ sarge contrib main non-free
deb http://security.debian.org/ sarge/updates contrib main non-free

# aptitude update
# aptitude upgrade
# aptitude install
# aptitude install ruby
# aptitude dist-upgrade

いれたパッケージ

# aptitude install tcsh screen subversion
# aptitude install less make cvs zsh telnet rsync zip unzip w3m
# aptitude install ddskk skkdic
# aptitude install libruby1.8 ruby1.8 ruby1.8-dev ruby1.8-elisp
# aptitude install libalgorithm-diff-ruby1.8 libhtree-ruby1.8
# aptitude install libzip-ruby1.8 imagemagick libdb4.2-ruby1.8
# aptitude install libgd-ruby1.8 libopenssl-ruby1.8
# aptitude remove exim4 exim4-base exim4-config exim4-daemon-light
# aptitude install postfix
# aptitude install apache2
# aptitude install ntp-simple
# aptitude install nsd host

教訓

  • 片手間にaptitude updateしてはいけない

再度、Rubu/ZIPについて確認

# aptitude install libzip-ruby1.8
% cd /usr/lib/ruby/1.8
% ls -l zip
  • ちゃんと入っている
  • おそらく起動したときに入ってなかったのが問題だ。起動しなおす。
% su qwik
% ps auxww | grep qwikweb
% kill 17682
% kill -KILL 17687
% kill -KILL 17684 
% kill -KILL 17688

Setup trac

Setup svk on eto.com

  • svkを使って、eto.com上にrepositryをmirrorする
# aptitude update
# aptitude upgrade
# aptitude install svk
% svk depotmap --init
y
% svk mirror //mirror/qwik svn://rubyforge.org/var/svn/qwik
% svk sync //mirror/qwik
  • どうせ更新しないなら、//mirror/qwikじゃなくて//qwikにすればよかった…。

Setup trac on eto.com

# aptitude install trac
% trac-admin ~/trac initenv qwikWeb sqlite:db/trac.db svn /home/eto/.svk/local /usr/share/trac/templates
% tracd -p 8000 ~/trac

表示されている。よしよし。

repositryの確認

qwikwebのrepositryの状態を確認する.

% cd ~/temp
% svn checkout svn+ssh://youraccount@rubyforge.org/var/svn/qwik

下記のような構成になっている

- qwik
  - qwik
  - trunk
  - branches
  - tags

いつのまにか理想的な配置になっている.どうもありがとうございます!

本来trunk以下にあるべき内容が,qwik以下にある. これは開発者間で合意がとれていれば特に問題にはならないだろう.

svkの導入

commitの粒度を細かくするために,svkを導入することを試みる.

colinux% svk mirror //mirror/qwik svn+ssh://eto@rubyforge.org/var/svn/qwik
% svk sync //mirror/qwik
% svk cp -m "create." //mirror/qwik //qwik
% cd
% mv qwik qwik0
% svk co //qwik

問題なく導入できた.

日記プラグインの改良

  • 日記プラグインを少し改良した

Bug fix

  • watchlogが動かなくなっていたので修理した
% gem update -y file-tail
  • これも使えそうだが,とりあえず自前で用意した

eto 2007/04/20

  • qwik.jpで、TypeKey認証が使えなくなっていた。
  • 修正して反映させました。
  • Thanks to Mr. dotimpact.

eto 2007/04/17

  • act-diaryを作ってみた

eto 2007/04/16

Last modified: 2007-04-21 Attached files total: 1MB