close
在Gentoo底下安裝subversion的筆記

subversion提供兩種安全的連線模式
安全的意思是有加密的連線
subversion有提供svnserve (server mode)
和apache module (mod_dav_svn) 結合WEBDAV

兩種方法都可以做用SSH作tunneling
而apache module可以使用SSL加密

如果選擇使用apache + subversion
需要先emerge apache2
要在/usr/portage/net-www/apache/ 指定emerge apache2的ebuild
之後修改 /etc/make.profile/make.defaults
USE="x86 oss 3dnow apm arts avi berkdb crypt cups encode gdbm gif gpm gtk imlib
java jpeg kde gnome libg++ libwww mikmod mmx motif mpeg ncurses nls oggvorbis
opengl pam pdflib png python qt quicktime readline sdl slang spell ssl
svga tcpd truetype X xml2 xmms xv zlib apache2"
加入apache2的flag
除此之外有沒有其他方法...不知道

如果單用svnserve
可以不用做上面的部份

emerge subversion會發現它被masked
可以參考gentoo處理masked的方法
我是直接去/usr/portage/dev-util/subversion 去emerge它的ebuild

發現它需要neon
所以便emerge neon再emerge subversion
如果出現其中depends的package被maked
用上面的方法去解決
不知道有沒有更好的辦法

如果不配合apache , svnserve 就可以使用了
參考subversion的ebook

如果使用tunneling
可以設定環境變數SVN_SSH=ssh -l username
如果是配合tortoiseSVN
在windows底下只可以用 plink (putty) 或其他ssh tunnel建立tunnel
以plink為例
plink -P 22 -L 3690:targetserver.com:3690 -l username tunnelservre.com
詳情可以看plink的參數

之後只要設定tortoiseSVN的checkout路徑為svn://127.0.0.1/home/svn/repos/
/home/svn/repos 為svnserver repos的實體路徑

p.s 用此方法是沒有記錄author是誰...因為plink , ssh 沒有辦法跟subversion溝通

如果跟apache2結合修改/etc/apache2/conf/apache2.conf
ServerName machine.domain.com

# 使用SSL
LoadModule ssl_module modules/mod_ssl.so
# 使用WEV_DAV
LoadModule dav_module modules/mod_dav.so
# 使用Subverson Module
LoadModule dav_svn_module extramodules/mod_dav_svn.so
LoadModule authz_svn_module extramodules/mod_authz_svn.so
...
這個只是apache server的設定
還有subversion的module
修考mod_dav_svn.so的config
/etc/apache2/conf/modules.d/47_mod_dav_svn.conf
#

LoadModule dav_svn_module extramodules/mod_dav_svn.so


DAV svn
SVNPath /home/svn/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/conf/svnusers
Require valid-user

#
設定請參考 subversion的ebook >>http://svnbook.red-bean.com/
還有設定repos的權限為apache有權力讀寫的
如果要加入username, password
做 /home/svn/conf/svnusers > htpasswd -c /home/svn/conf/svnusers username 如果要加入 groups 可以參考 htpasswd

如果要使用ssl
設定/etc/apache2/conf/modules.d/40_mod_ssl.conf
#

LoadModule ssl_module extramodules/mod_ssl.so

#

....

SSLRequireSSL


如果要更詳細的mod_ssl文件
可以參考>>http://www.modssl.org/docs/

如果要加上virtual hosts
請參考apache2的doc
>>http://httpd.apache.org/docs-2.0/

Reference:
>>http://svnbook.red-bean.com/
>>http://httpd.apache.org/docs-2.0/
>>http://www.modssl.org/docs/
>>http://rapidsvn.tigris.org/
>>http://tortoisesvn.tigris.org/
>>http://ankhsvn.tigris.org/
>>http://subclipse.tigris.org/ (subversion eclipse plugin)
>>http://blog.tcchou.org/space/Subversion+簡易安裝
arrow
arrow
    全站熱搜

    Bluelove1968 發表在 痞客邦 留言(0) 人氣()