为了方便的从不同的地方管理、同步我的源代码。所以想在网络上建立一个自己的SVN 服务器。以前用过hostmonster(www.hostmonster.com)的服务,觉得价格、性能和服务都还不错。所以就选择了它。经过一个星期的艰苦努力,终于搞定,不容易啊。把步骤记录下来:
环境:
mac snow leopard
Domain: aaa.com(假设)
1 给Hostmonster 的 support 写封信, 让他们给你的Domain开通ssh权限(需要身份证复印件,我就用数码相机照了一张,也通过了)
2 打开mac 的 “终端”(命令行)
3 输入 “ssh –l aaa www.aaa.com” 输入密码
4 执行下面的命令(注意,我domain所在的是64位的服务器,如果是32位的话,参考http://joemaller.com/881/how-to-install-subversion-on-a-shared-host/)
################################################################
#!/bin/bash
#installing subversion (from http://www.hostmonsterforum.com/showthread.php?t=1294)
#from root ssh login:
cd
mkdir src
cd src
wget http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.gz
tar -xzvf subversion-1.4.6.tar.gz
tar -xzvf subversion-deps-1.4.6.tar.gz
cd subversion-1.4.6
cd apr
./configure --enable-shared --prefix=$HOME
make && make install
cd ../apr-util
./configure --enable-shared --prefix=$HOME /
--with-expat=builtin --with-apr=$HOME /
--without-berkeley-db
make && make install
cd ../neon
./configure --enable-shared --prefix=$HOME /
--with-libs=$HOME --with-ssl
make && make install
cd ../
./configure --prefix=$HOME --without-berkeley-db /
--with-editor=/usr/bin/vim --with-apr=$HOME /
--with-apr-util=$HOME --with-neon=$HOME /
--without-apxs --without-apache
make && make install
如果没有错误提示的话,svn应该安装成功了
5 运行
cd
svn/bin/svn –version
如果能看到svn的版本, 表明 安装成功
6 如果想要在任何地方都能使用SVN命令,请修改.bashrc 文件.增加如下行:
PATH=$PATH:$HOME/bin
export PATH
(请注意你的.bash_profile 和 .bashrc 文件正常, 我的这两个问题就被我误删除了)
7 建立 repository
cd
mkdir svnroot
cd svnroot
svnadmin create repository
8 配置 repository(这个大家可以在网上搜一搜,很多)
9 尝试连接一下
在local 的”终端” 输入 svn co svn+ssh://aaa@www.aaa.com/repository
返回错误; “bash: svnserve: command not found”
google 了半天,发现了这个
http://helpdesk.hostmonster.com/index.php/kb/article/000572
修正这个问题
10 利用hostmonster 的管理面板SSH/Shell Access, 生成了一对密钥文件。 这两个文件位于你服务器的 ~/.ssh目录下,分别是id_dsa, id_dsa.pub (我在生成时没有填密码)
11 在你的服务器上
cd ~/.ssh
cp id_dsa.pub authorized_keys
cd
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_dsa
chmod 700 ~/.ssh
12 编辑这个 authorized_keys 文件
在这个文件的最前面 添加 下面的内容(注意不要换行), 保存
command="/home2/aaa/bin/svnserve -t -r /home2/aaa/svnroot",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty
13 把id_dsa文件下载到你本地,改名 id_svn_dsa, 放到本地的 ~/.ssh/目录下
cd
chmod 600 ~/.ssh/id_svn_dsa
chmod 700 ~/.ssh
14 修改本地 ~/.subversion/config 文件 注意后面的 –q 参数
[tunnels]
ssh=ssh -i ~/.ssh/id_svn_rsa –q
15 在本地的”终端” 再次测试
svn co svn+ssh://aaa@www.aaa.com/repository
应该就可以成功了
参考文章:
http://www.sharpstep.com/Articles/HostMonster-svn/
http://joemaller.com/881/how-to-install-subversion-on-a-shared-host/
http://archive.apache.org/dist/apr/
http://helpdesk.hostmonster.com/index.php/kb/article/000572
http://wiki.site5.com/SVN/Subversion_(SVN)_Setup_Guide