ubuntu 12.04中安装配置svn服务器
2014-02-24 20:10
615 查看
因为不久之后,公司老大会交一个项目我做,今天就尝试着学习将svn服务器安装配置好,我把步骤记录下来,以防忘记.
以下是我整理后的步骤:
1.安装svn服务器必要的软件包:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
.
2.创建一个SVN账号和SVN组,并保证SVN账号已经添加进了SVN组,我的SVN账号是svnuser
$ sudo adduser svnuser 添加SVN账号
$ sudo addgroup subversion 添加SVN组
$sudo usermod -G subversion -a svnuser 将svnuser添加到subversion组
$ cat /etc/group|grep subversion 确认是否添加成功,如果添加成功会显示以下内容:
subversion:x:1004: svnuser
3.创建一个SVN仓库
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$sudo chmod -R g+rws myproject
$ sudo chown -R svnuser:subversion myproject
$ sudo svnadmin create /home/svn/myproject
$ sudo chown -R svnuser:subversion myproject
$sudo chmod -R g+rws myproject
这个地方一定要保证看到以下内容:
ls -l /home/svn/myproject/db/txn-current-lock
-rw-rwSr-- 1 svnuser subversion 0 2009-06-18 15:33 txn-current-lock
不然在SVN递交时,会提示:
Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied
相当于在myproject下,所有文件都要属于subversion这个组的svnuser这个用户
4.配置仓库访问权限,刚才创建了一个名称为myproject的SVN仓库,现在要设置它的访问权限。
位于/home/svn/myProject/conf/文件夹下的authz、passwd、svnserve.conf文件
svnserve.conf:svn服务配置文件,该文件版本库目录的conf目录下。
passwd:用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。
authz:权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。
首先编辑myproject/conf/svnserve.conf,激活以下两个选项:
(去掉前面的#即可以,记住去掉#后要顶格,带我的人是这样说的,其实我认为不必这样做也行)
password-db = password
authz-db = authz
然后编辑myproject/conf/authz,在[group]字段添加以下内容,将weike作为管理者:
[groups]
admin = sam
[/]
@admin=rw
*=r
最后编辑myproject/conf/passwd文件,在[users]字段添加以下内容:
[users]
sam= 123
保存上述编辑文件。
5.打开svn服务:
$sudo svnserve -d -r /home/svn
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置,这样客户端不用输入全路径,就可以访问版本库
如:svn://192.168.1.3/project
这里要注意,一定要用sudo,不然也会遇到以下提示;
Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied
6.设定为开机自动开启服务:
编辑文件/etc/rc.local,在exit0前一行添加一下内容:
svnserve -d -T -r /home/svn
此处无需添加sudo
7.检查
重启服务器,使用ps -aux |grep svn看看svn进程是否启动了。
8.导入项目到svn服务器
在window平台安装svn客户端TortoiseSVN,使用TortoiseSVN中import功能即可导入项目到svn服务器(具体做法请自行查阅)
以下是我整理后的步骤:
1.安装svn服务器必要的软件包:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
.
2.创建一个SVN账号和SVN组,并保证SVN账号已经添加进了SVN组,我的SVN账号是svnuser
$ sudo adduser svnuser 添加SVN账号
$ sudo addgroup subversion 添加SVN组
$sudo usermod -G subversion -a svnuser 将svnuser添加到subversion组
$ cat /etc/group|grep subversion 确认是否添加成功,如果添加成功会显示以下内容:
subversion:x:1004: svnuser
3.创建一个SVN仓库
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$sudo chmod -R g+rws myproject
$ sudo chown -R svnuser:subversion myproject
$ sudo svnadmin create /home/svn/myproject
$ sudo chown -R svnuser:subversion myproject
$sudo chmod -R g+rws myproject
这个地方一定要保证看到以下内容:
ls -l /home/svn/myproject/db/txn-current-lock
-rw-rwSr-- 1 svnuser subversion 0 2009-06-18 15:33 txn-current-lock
不然在SVN递交时,会提示:
Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied
相当于在myproject下,所有文件都要属于subversion这个组的svnuser这个用户
4.配置仓库访问权限,刚才创建了一个名称为myproject的SVN仓库,现在要设置它的访问权限。
位于/home/svn/myProject/conf/文件夹下的authz、passwd、svnserve.conf文件
svnserve.conf:svn服务配置文件,该文件版本库目录的conf目录下。
passwd:用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。
authz:权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。
首先编辑myproject/conf/svnserve.conf,激活以下两个选项:
(去掉前面的#即可以,记住去掉#后要顶格,带我的人是这样说的,其实我认为不必这样做也行)
password-db = password
authz-db = authz
然后编辑myproject/conf/authz,在[group]字段添加以下内容,将weike作为管理者:
[groups]
admin = sam
[/]
@admin=rw
*=r
最后编辑myproject/conf/passwd文件,在[users]字段添加以下内容:
[users]
sam= 123
保存上述编辑文件。
5.打开svn服务:
$sudo svnserve -d -r /home/svn
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置,这样客户端不用输入全路径,就可以访问版本库
如:svn://192.168.1.3/project
这里要注意,一定要用sudo,不然也会遇到以下提示;
Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied
6.设定为开机自动开启服务:
编辑文件/etc/rc.local,在exit0前一行添加一下内容:
svnserve -d -T -r /home/svn
此处无需添加sudo
7.检查
重启服务器,使用ps -aux |grep svn看看svn进程是否启动了。
8.导入项目到svn服务器
在window平台安装svn客户端TortoiseSVN,使用TortoiseSVN中import功能即可导入项目到svn服务器(具体做法请自行查阅)
相关文章推荐
- 关于Struts2的一点知识01
- OCP-1Z0-053-V13.02-691题
- SQLServer系统函数(2)_字符串函数
- ATL与WTL中CString的使用, 利用ATLCString获得窗口的文字.
- WINCE6.0中断实验总结
- CSS网页宽度的几个方案
- 二维码生成
- zoj 1094 Matrix Chain Multiplication
- 自己动手弄基于QT5和directx11的简单粒子编辑器v0.1(一个编辑器,一个更新器,一个linux服务端程序)
- nginx---HTTP模块
- HDU 1396 && ZJU 1629
- virtualenv工具--python
- 如何正确选择合适自己的英文学习方法和材料?
- c语言-键盘扫描码
- failed creating the Direct3d device--debug
- Mysql 批量insert性能测试
- POJ - 3259 Wormholes(判断负环, Bellman Ford,SPFA)
- 调用百度API
- 关于字符集和字符编码的问题
- [菜鸟每天来段CUDA_C] 利用页锁定内存提高运算效率