天天看点

Linux CentOS 6.5 x64 SVN服务器搭建

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目录下放有可执行的命令:

Linux CentOS 6.5 x64 SVN服务器搭建

可以通过查看SVN版本来确认是否已经安装成功,输入如下命令:

svn --version
           
Linux CentOS 6.5 x64 SVN服务器搭建

3. 确定SVN版本库存放位置,我选择使用/var/svn/repository

mkdir -p /var/svn/repository
           

4. 在指定位置(/var/svn/repository)创建版本库

svnadmin create /var/svn/repository
           

版本库创建成功后,在版本库目录中会生成如下文件:

Linux CentOS 6.5 x64 SVN服务器搭建

5. 进入conf目录(该svn版本库配置文件) authz -- 文件是权限控制文件 passwd -- 帐号密码文件 svnserve.conf -- SVN服务配置文件

6. 配置

设置账号密码,打开passwd文件
vim passwd
           
Linux CentOS 6.5 x64 SVN服务器搭建

在[users]块下添加一行username = password, 此处格式为:用户名 = 密码,例如:admin = password

设置权限,打开authz文件

vim authz
           
Linux CentOS 6.5 x64 SVN服务器搭建
在最后添加:
[/]
admin = rw
           

说明:

[/] -- 版本库根目录

admin = rw -- admin用户有读写权限

用户组设置为同样道理,大家自己研究吧,这里就不多说了。

设置配置文件svnserve.conf

vim svnserve.conf
           
Linux CentOS 6.5 x64 SVN服务器搭建
打开如上红色框中的几行注释: anon-access = read #匿名用户可读 auth-access = write #授权用户可写 password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 realm = /var/svn/repository # 认证空间名,我们最初设置的版本库所在的目录

7. 配置防火墙端口

默认端口为3690

vi /etc/sysconfig/iptables
           

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
           

保存后重启防火墙

service iptables restart
           

8. 启动SVN版本库

svnserve -d -r /var/svn/repository/
           

9. 查看SVN进程

[[email protected] 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 端口

[[email protected] conf]# netstat -ln |grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN
           

11. 停止重启SVN

[[email protected] password]# killall svnserve    //停止
[[email protected] password]# svnserve -d -r /opt/svn/repositories  // 启动 
           

12. 测试

地址: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了.

如有不对的地方欢迎大家支出,交流学习。

继续阅读