« 制御文字の作り方 | メイン | everyday サーバいじり記録 »
2005年09月20日
subversion
やった事を記録
ちなみにrootでなければ権限無いものもあるので、注意
rpmで入れようと思ったが
mod_dav_svn.so がどーも手に入らない。
なので以下参照してソースでいれました。
http://www.atmarkit.co.jp/flinux/special/webdav03/webdav02a.html
ここ参照ね 本あんま役にたってない・・・
1、バークレイDBのインスコ
http://www.sleepycat.com/ より
db-4.0.14.tar.gz
をダウンロード解凍 #バージョンもちっと新しかったな
tar xzvf db-4.....
cd db-4.
cd build_unix
なんかしらんがこのディレクトリにていつもの呪文
このbuild_unixでconfigureやらんとエラーなるぽ
../dist/configure
make
make install
終わると次のように言われるので
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/BerkeleyDB.4.3/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
ちゅうことで
lv /etc/ld.so.conf にて
/usr/local/BerkeleyDB.4.3/lib
を書き加え
そして
/sbin/ldconfig
これで バークレイDBのインスコ完了
2、あぱっちー
configureオプション
モジュール最小の場合
./configure --enable-so=yes --enable-dav=yes \
--with-berkeley-db=/usr/local/BerkeleyDB.4.3
モジュール最大の場合
./configure --enable-module=most\
--enable-shared=max \
--enable-dav=yes \
--with-berkeley-db=/usr/local/BerkeleyDB.4.3
まぁ どっちにしろ
--with-berkeley-db=/usr/local/BerkeleyDB.4.3 と
--enable-dav=yes がありゃいいのかな
今回は最小でやってみようー
make
make installじゃ!
ハァハァできた
3、本家本丸のsubversionのインスコ!
subversion-1.1.4.tar.gz をおとしてきますた
tar xzvf subversion-1.1.4.tar.gz
cd subversion-1.1.4
configure オプション!
./configure --with-apxs=/usr/local/apache2/bin/apxs \
--with-apr=/usr/local/src/httpd-2.0.54/srclib/apr \
--with-apr-util=/usr/local/src/httpd-2.0.54/srclib/apr-util \
--with-berkeley-db=/usr/local/BerkeleyDB.4.3
2行目は/usr/local/src に今回はソースを置いてるので
ま、それぞれインストールするときの状況にあわせてちょ
んで
make
rm -f /usr/local/lib/libsvn*
make install
2行目は初めてのインスコ時はやらんでいいらしい。
これでインスコ関係終了~
4、下準備
リポジトリを /var/www/corp/totuya に作るとする!
http://ホスト名:8080/sub/でリポジトリにアクセスさせよかね
4-1、apacheの下準備
conf に以下追加 場所はどこら辺がええんだろ
わからんので最後に追加しとくか
<Location /sub>
DAV svn
SVNPath /var/www/corp/totuya
</Location>
あとは 8080をListenするよにしとこかね
Listen 80 を変更
↓↓↓↓↓↓↓
Listen 8080
アパッチの準備完了
4-2リポジトリの準備
#リポジトリの作成 これは空ディレクトリじゃないとだめらしい。
svnadmin create /var/www/corp/toptuya
chown -R nobody:nobody /var/www/corp/totuya
4-3 あぱち起動してみよう
/usr/local/apache2/bin/apachectl start
起動できたー
4-4、リポジトリにソース?インポート
svn import /var/www/corp/totuyatest http://localhost:8080/sub/
こんなん言われました・・・
svn: ログメッセージを取得するのに外部エディタを使えませんでした。$SVN_EDITOR 環境変数を設定するか、--message (-m) か --file (-F) オプションを用いてみてください
面倒なので以下にコマンドを変更
svn import -m 'yazuya'/var/www/corp/yazuyatest http://localhost:8080/sub/
-m 'totuya' ←コメントね
これでインポート完了
5、テスト環境に即座に反映するために
元のテスト環境を退避
sudo mv /var/www/corp/totuyatest /var/www/corp/totuyatest_org
テスト環境用のディレクトリを新たに作成
sudo mkdir /var/www/corp/totuyatest
sudo chown nobody.nobody /var/www/corp/totuyatest
リポジトリからチェックアウトしてくる
cd /var/www/corp/totuyatest
sudo -u nobody svn checkout http://localhost:8080/sub/ .
これでテスト環境に元のソースが入っているはずなので動作確認
http://192.168.1.175
動作がうまくいっているようであれば、コミットされるたびに動くファイルにスクリプト作成
sudo touch /var/www/corp/totuya/hooks/post-commit
sudo chown nobody.nobody /var/www/corp/totuya/hooks/post-commit
sudo chmod 755 /var/www/corp/totuya/hooks/post-commit
どのファイルがいつ動くかはテンプレートファイルに記載があるので、それを参照の事
とりあえず、post-commit は コミットされた後動きます。
中身はこんなかんじ
------------------------------------------------------
cd /var/www/corp/totuyatest/
svn update
-------------------------------------------------------
これだけです。
テスト環境でアップデートかけているだけです。
以上でコミットされると最新状態にテスト環境もなります。
投稿者 muuming : 2005年09月20日 14:59