:date: 2008-06-28 21:50:12 :tags: Event, python ===================================== Python温泉3, 2日目 翻訳Day ===================================== amachangキター! ということで2日目。朝8時起床。大雨。土曜はいつも昼過ぎまで寝てるので果てしなく眠い。 今日やったこと。 tracをインストール ------------------- easy_install trac でいけた。後は:: trac-admin /path/to/instance initenv して:: vi /path/to/instance/conf/trac.ini で設定。 initenvで対話形式で入力しただけで、tracからsvnを参照できるようになった。 tracの認証をapacheでやろうと思った ----------------------------------- tracd --port 8000 /path/to/instance で起動はできるけど、通常運用を考えるとサーバーはapacheにやってもらうのがいいよね。認証もapacheにおまかせ。 ということでapache2をインストール:: apt-get install apache2 apache2の認証をopenldapに持たせようと思った --------------------------------------------- 認証のためにldapを立てるのはめんどくさいなあ、と思いつつ、個別に用意するのはそれはそれで面倒そうだったので、設定することにした。 とりあえずopenldapを入れた:: apt-get install slapd apt-get install ldap-utils ldapaddで認証用ユーザーを追加 ------------------------------ ldapaddコマンドで手入力:: ldapadd -x -W -D cn=admin,dc=localdomain dn: ou=Users,dc=localdomain objectClass: organizationalUnit ou: Users dn: cn=taka,ou=Users,dc=localdomain objectClass: top objectClass: person cn: taka sn: Shimizukawa userPassword: dummy パスワードを変えてみる:: ldappasswd -x -W -S -D cn=taka,ou=Users,dc=localdomain pam_ldapを入れた ----------------- インストールして:: apt-get install libpam-ldap /etc/pam.d/apache2 に設定:: auth required /lib/security/pam_ldap.so no_warn try_first_pass account required /lib/security/pam_ldap.so no_warn try_first_pass mod_auth_pamを入れた --------------------- インストールして:: apt-get install libapache2-mod-auth-pam /etc/apache2/sites-enabled 以下のファイルに:: AuthName "LDAP ID / password for repos" AuthType Basic AuthPAM_Enabled on 等を記述してapacheを再起動。だがしかし、BASIC認証が通らない。/var/log/apache2/error.log を確認するとユーザーIDが無いと記録されている:: PAM: user 'taka' - not authenticated: User not known to the underlying authentication module apacheで認証できずにはまる --------------------------- ``/etc/ldap.conf`` の設定をほとんどデフォルトのままで使っていたので、 ``objectClass: person`` にはuidが無くてユーザーが見つかっていなかった。あとbind dnの設定を変えていなかったため、ou=Users以下を見る設定になっていなかった。 /etc/ldap.conf に以下を設定:: base ou=Users,dc=localdomain scope sub pam_login_attribute cn http経由でsvnを読み書きできるようにする ---------------------------------------- apt-get install libapache2-svn して /etc/apache2/sites-enabled/002-svn:: DAV svn SVNPath /var/lib/svn/repos svnのコミット時にldapで認証する -------------------------------- svnリポジトリ ``/var/lib/svn/repos`` の所有者をwww-dataにして、グループをsvnusersに変更する。また/etc/groupのsvnusersにwww-dataとsvnプロトコルでアクセスするユーザーを所属させる。これでsvnプロトコルとhttpプロトコル両方でコミットできる。あとはldap認証するようにLocationを設定する。 /etc/apache2/sites-enabled/002-svn:: DAV svn SVNPath /var/lib/svn/repos AuthName "LDAP ID / password for repos" AuthType Basic AuthPAM_Enabled on Require valid-user 昼ご飯を食べる -------------- 麓まで下山すると再登山が大変なので、みんなで仕出し弁当を食べる。 tracをmod_wsgiで動かそうとしてはまる ------------------------------------- apt-getにmod_wsgiが無い。unstableを使えるようにしてインストールしてみたけど、結局正しく動かなかった。 ``trac-admin /path/to/instance deploy /path/to/deploy`` で作成したtrac.wsgiの中で from trac.util import compat しているんだけど、compatが無いと言われる。原因不明。誰かがdelしてるに違いない。 しょうがないのでとりあえずcgiモードで動かす。 tracにbuildbotのwaterfallを表示しようとしてはまる -------------------------------------------------- trac-0.11ではTracBB-0.1.2はうまく動かない?とりあえず保留。 buildbot-0.7.7のマニュアルを翻訳し始めてみる --------------------------------------------- キーワードと各章のタイトルだけ翻訳した時点で3時間くらい経ってた。何回か眠気に負けそうになったので温泉に浸かってくる。晩ご飯まであと1時間頑張ろう。 晩ご飯を食べる --------------- 昨日より品数が増えた。普通にうまい。 iPhoneアプリ開発ハンズオンを見る --------------------------------- いまここ。NDAとかなんか大変らしい。 .. :extend type: text/html .. :extend: .. image:: 20080628_pyspa3_day2_dinner.* :width: 33%