自从工做后,发现以前的代码开发太随便啦,因而通过不到两年的工做积累,打算在本身开发软件的过程当中好好管理本身的项目。因而打算搭建本身的项目服务器,去年搭建过一次,可是因为没有记录,如今须要再来一遍,好多步骤忘记,同时又遇到了些新问题,在网上搜集不少资料,如今一步一步记录下搭建的过程,都是本身验证OK,须要的能够参考参考。apache
一 安装环境准备vim
1. 安装如下用户包:windows
$ sudo apt-get install subversion apache2 libapache-svn浏览器
(注意:若是不安装libapache-svn, 在配置apache2时,DAV svn会出现错误,提示没有dav模块)服务器
完成以上安装后,能够直接访问apache的主页,在浏览器地址中输入:http://服务器IP/, 便可看到“It Works”界面,说明安装正常。svn
二 配置svn测试
1. 建立版本库ui
$sudo mkdir /home/svnthis
$sudo chmod 770 /home/svn加密
$sudo chown lxm:subversion –R /home/svn
$sudo chmod –R g+rws /home/svn
$svnadmin create /home/svn/repos
此时可看到/home/svn/repos目录下svn版本库全部文件夹及配置文件:
建立subversion用户组,并把apache运行用户www-data和本身的用户加入到subversion用户组中
$sudo addgroup subversion
$sudo usermod –G subversion –a www-data lxm
接下来导入项目文件:
进入你的项目源文件根目录下,如个人,/home/lxm/test
导入项目到版本库:
$svn import /home/lxm/test file:///home/svn/repos/test –m “inital import”
2. 配置权限访问等
1)添加svn 用户
$htpasswd -c /home/svn/repos/conf/passwd lxm //而后会提示你输入密码,固然第一次建立svn用户,须要经过参数-c,而后第二次建立svn用户就不须要,这里要注意。
(可选)$htpasswd /home/svn/repos/conf/passwd test2 //建立第二个svn用户
这时看到/repos/conf目录下的passwd文件变成加密的内容
2)用户权限配置
因为我是配置为本身用,权限都配置为我本身访问:
$ vim /home/svn/repos/authz
Code
$vim /home/svn/repos/svnserve.conf
将如下代码前面的#去掉(注意代码前面没有空格额)
auth-access = write 设置有权限用户得权限
password-db = passwd 指定查找用户名和密码得文件,这样设置即为本目录下得passwd
authz-db = authz 制定各用户具体权限得文件,这样设置即为本目录下得authz
三 apech2配置
$sudo vim /etc/apache2/mods-enabled/dav_svn.conf
修改如下内容:
Code
备注:此配置文件是告诉apache关于svn的访问路径已经相关配置文件,这里注意f访问的根目录
重启apache服务器:
$sudo /etc/init.d/apache2 restart
四 功能测试
到此,全部配置完成,下面一步一步验证:
1. apache访问验证
在浏览器地址栏中输入:http://服务器IP/svn/
便可看到访问到svn版本的根目录,下面有你以前导入的项目文件夹,说明apache配置完成并正常工做
2. svn验证
在本身pc或其余pc中导出svn测试,前提是其余pc也要能访问服务器额
我在windows下安装tortoiseSVN客户端,导出svn版本库正常,在导出地址填:http://服务器IP/svn/,须要填写帐号和密码,即以前添加的帐号和密码。
导出完毕后,修改项目中某个文件,检查提交有没有问题,我测试过一切正常。