Linux CentOS 6.5 x64 SVN服务器搭建步骤
1. 安装Subversion
yum install subversion
注意:安装需要使用root权限,否则会提示You need to be root to perform this command.英文也很简单,这里就不多废话了。
2. 查看Subversion的安装位置
rpm -ql subversion我们看到在bin目录下放有可执行的命令:
可以通过查看SVN版本来确认是否已经安装成功,输入如下命令:
svn --version
3. 确定SVN版本库存放位置,我选择使用/var/svn/repository
mkdir -p /var/svn/repository4. 在指定位置(/var/svn/repository)创建版本库
svnadmin create /var/svn/repository版本库创建成功后,在版本库目录中会生成如下文件:
6. 配置
7. 配置防火墙端口设置账号密码,打开passwd文件
vim passwd在[users]块下添加一行username = password, 此处格式为:用户名 = 密码,例如:admin = password
设置权限,打开authz文件
vim authz
在最后添加:
[/] admin = rw说明:
[/] -- 版本库根目录
admin = rw -- admin用户有读写权限
用户组设置为同样道理,大家自己研究吧,这里就不多说了。
设置配置文件svnserve.conf
vim svnserve.conf打开如上红色框中的几行注释:anon-access = read #匿名用户可读auth-access = write #授权用户可写password-db = passwd #使用哪个文件作为账号文件authz-db = authz #使用哪个文件作为权限文件realm = /var/svn/repository # 认证空间名,我们最初设置的版本库所在的目录
默认端口为3690
vi /etc/sysconfig/iptables添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT保存后重启防火墙
service iptables restart
svnserve -d -r /var/svn/repository/
[root@localhost conf]# ps -ef|grep svn|grep -v grep root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
10. 检测SVN 端口
[root@localhost conf]# netstat -ln |grep 3690 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
11. 停止重启SVN
[root@localhost password]# killall svnserve //停止 [root@localhost password]# svnserve -d -r /opt/svn/repositories // 启动
地址:svn://127.0.0.1
默认端口:3690
13. 问题
a. 提交时提示Error: Can't open file '/var/svn/repository/db/txn-current-lock': Permission denied的解决
根源:/var/svn目录下的一切子目录和文件都是属于root用户的
解决办法:把/var/svn目录下的所有文件和子目录添加读写权限
chmod –R o+rw /home/svn延伸问题:is not in the sudoers file. This incident will be reported.1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去.
2.添加sudo文件的写权限,命令是:
chmod u+w /etc/sudoers
3.编辑sudoers文件
vi /etc/sudoers找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
ps:这里说下你可以sudoers添加下面四行中任意一条
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.
4.撤销sudoers文件写权限,命令:
chmod u-w /etc/sudoers
这样普通用户就可以使用sudo了.
如有不对的地方欢迎大家支出,交流学习。