Fedora CVS服务器安装配置和创建用户组

系统 Linux
首先确保系统安装有Fedora CVS服务器# rpm -qa|grep Fedora CVS服务器Fedora CVS服务器-1.11.22-9.fc7 如果命令输出类似于上面的输出则说明系统已经安装有Fedora CVS服务器,否则就需要从安装光盘中安装Fedora CVS服务器的rpm包。

虽然网上有很多关于Fedora CVS服务器的配置文档供大家参考,但是本着“纸上得来终觉浅,绝知此事须躬行”的态度,还是自己动手安装一下。因为别人配置的环境和 自己的毕竟不大一样,操作起来可能会有一些步骤有问题。

只有我们自己遇到问题并解决时,才能够对Fedora CVS服务器的配置理解的更加深入。也建议各位需要用到Fedora CVS服务器的朋友也动手装一下,实现你自己的Fedora CVS服务器。 闲话少说,转入正题。我用的操作系统是:Fedora 7(注意:以下操作是以root身份操作的#su root)

一、Fedora CVS服务器安装

首先确保系统安装有Fedora CVS服务器# rpm -qa|grep Fedora CVS服务器Fedora CVS服务器-1.11.22-9.fc7 如果命令输出类似于上面的输出则说明系统已经安装有Fedora CVS服务器,否则就需要从安装光盘中安装Fedora CVS服务器的rpm包。但安装完Fedora7后系统自己就安装好Fedora CVS服务器软件了。前期工作: Fedora7默认是没有安装上xinetd服务,所以先安装xinetd服务#yum install xinetd
 
二、Fedora CVS服务器端的配置

1.创建Fedora CVS服务器组和用户
1)创建Fedora CVS服务器组
#/usr/sbin/groupadd Fedora CVS服务器
 
2)创建新用户HOME目录
#mkdir /home/Fedora CVS服务器root
 
3)添加新用户Fedora CVS服务器root,并将其添加至Fedora CVS服务器组,并指定其HOME目录
#/usr/sbin/useradd -g Fedora CVS服务器 -G Fedora CVS服务器 -d /home/Fedora CVS服务器root Fedora CVS服务器root
 
4)设置Fedora CVS服务器root用户的密码,我这里的密码为:chongqing
#passwd Fedora CVS服务器root Changing password for user Fedora CVS服务器root. 新的 UNIX 口令: 重新输入新的 UNIX 口令: passwd: all authentication tokens updated successfully.
 
5)更改/home/Fedora CVS服务器root/目录及其子目录的属主和属组
因为是在root用户下间的该目录,他的属主和属组都是root,这里我们要将其属主改为Fedora CVS服务器root,属组改为Fedora CVS服务器,保证Fedora CVS服务器组的用户对该目录有相应的权限。# chown -R Fedora CVS服务器root.Fedora CVS服务器 /home/Fedora CVS服务器root/
 
6)更改/home/Fedora CVS服务器root目录属性
保证Fedora CVS服务器root同组(Fedora CVS服务器组)的其他用户也有读写和执行权,我们以后要为Fedora CVS服务器组添加用户# chmod -R 775 /home/Fedora CVS服务器root/(注意:以下操作是以Fedora CVS服务器root身份进行操作的)

2.切换至Fedora CVS服务器root用户,并创建一个仓库

1)切换用户
#su Fedora CVS服务器root 口令: bash-3.2$
 
2)设置全局变量Fedora CVS服务器ROOT,指定仓库所在的目录
$export Fedora CVS服务器ROOT=/home/Fedora CVS服务器root/
 
3)创建仓库
$ Fedora CVS服务器 init
OK,到目前为目止,就可以在本机上以Fedora CVS服务器root身份提交源代码了

3.提交源入源代码

1)进入你想提交给Fedora CVS服务器的代码所在目录我这里是/home/HelloWorld/bash-3.2$ cd /home/HelloWorld/ bash-3.2$ ls helloworld.cpp makefile 装载Fedora CVS服务器 import -m "[repository test]" [Fedora CVS服务器test] [vendortag] [releasetag]-m后面引号内填入log内容,接下来是源代码模块名称,接着是装载者,最后是标识符号,我这里是:

2)提交工程

  1. $ Fedora CVS服务器 import -m "my Fedora CVS服务器 project" myProject Fedora CVS服务器root start   
  2. N myProject/makefile   
  3. N myProject/helloworld.cpp   
  4. No conflicts created by this import  

此时,我们的源码也提交了,说明module已经建立了。其目录为:/home/Fedora CVS服务器root/myProject/

  1. $ ls -l /home/Fedora CVS服务器root总计 20   
  2. drwxrwxr-x 3 Fedora CVS服务器root Fedora CVS服务器 4096 10-14 10:59 Fedora CVS服务器ROOT   
  3. drwxrwxr-x 2 Fedora CVS服务器root Fedora CVS服务器 4096 10-14 12:11 myProject  


 3)checkout工程

如果我们在root用户(或者其他用户,但必须保证该用户对于存放module的目录有写的权限)下测试,checkout出这一个module,可以执行如下:
# Fedora CVS服务器 -d /home/Fedora CVS服务器root checkout myProject
Fedora CVS服务器 checkout: Updating myProject
U myProject/helloworld.cpp
U myProject/makefile
 
说明在本地可以checkout出来,而且他会自动在当前目录下创建以该module名为名的目录项,不管你checkout出来的是一个源码文件还是整个module。

4.创建登录Fedora CVS服务器的用户和密码

Fedora CVS服务器默认使用系统用户登录,为了系统安全性的考虑也可以使用独立的用户管理。Fedora CVS服务器用户名和密码保存在Fedora CVS服务器ROOT目录下的passwd文件中,格式为:
[Fedora CVS服务器 用户名]:[加密的口令]:[等效系统用户名]

1)先创建一个passwd文件
$ cd /home/Fedora CVS服务器root/Fedora CVS服务器ROOT/
$ htpasswd -c passwd Fedora CVS服务器user
New password:
Re-type new password:
Adding password for user Fedora CVS服务器user
$ cat passwd
Fedora CVS服务器user:R9oDKNeysScdw
$vi passwd

在末尾添加 :Fedora CVS服务器root 作用是映射到Fedora CVS服务器root用户,最终结果如下:Fedora CVS服务器user:R9oDKNeysScdw:Fedora CVS服务器root 在创建其他用户时,不用带参数#htpasswd passwd 用户名New password: Re-type new password:
 
要彻底防止使用系统帐号登陆,可以编辑Fedora CVS服务器ROOT目录下的config文件,把:#SystemAuth=yes这一行前面的#去掉,改为如下形式:SystemAuth=noFedora CVS服务器就不会验证系统用户了,否则当用户名不在passwd文件中时,Fedora CVS服务器会进行系统用户的验证。

2)配置Fedora CVS服务器用户的读写权限
使用 Fedora CVS服务器ROOT目录下的readers和writers文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。

readers文件记录 拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。注意, readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。

5.设置开机启动Fedora CVS服务器服务

1)检查/etc/services中,Fedora CVS服务器pserver是否开启。Fedora CVS服务器pserver是远程登录Fedora CVS服务器时对用户的验证方式。
$cat /etc/services | grep Fedora CVS服务器pserver
Fedora CVS服务器pserver 2401/tcp # Fedora CVS服务器 client/server operations
Fedora CVS服务器pserver 2401/udp # Fedora CVS服务器 client/server operations
如果命令输出类似于上面的输出,这说明我的系统已打开该服务。

2)创建Fedora CVS服务器pserver文件

切换至root用户下:
#su root
cd /etc/xinetd.d/
#vi Fedora CVS服务器pserver
 
编辑该文件,内容如下:
service Fedora CVS服务器pserver
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/Fedora CVS服务器
server_args = -f --allow-root=/home/Fedora CVS服务器root pserver
log_on_success += USERID
log_on_failure += USERID
}

其中,--allow-root=/home/Fedora CVS服务器root即仓库所在目录。
注意:每行的第一个"="左右两侧要有一个空格。

3)然后更改/etc/xinetd.d/Fedora CVS服务器
否则的话,在后面的远程登录本机时会出现下面的问题

“没有该仓库”

  1. [test@liu ~]$ Fedora CVS服务器 -d :pserver:Fedora CVS服务器user@10.15.5.89:/home/Fedora CVS服务器root login   
  2. Logging in to :pserver:Fedora CVS服务器user@10.15.5.89:2401/home/Fedora CVS服务器root  
  3. Fedora CVS服务器 password:   
  4. /home/Fedora CVS服务器root: no such repository   
  5. [test@liu ~]$ 

更改方法如下:

把disable=yes 改为 disable=no ;env和server_args中路径改为你的Fedora CVS服务器root路径,我的是/home/Fedora CVS服务器root更改后的内容如下

  1. # default: off   
  2. # description: The Fedora CVS服务器 service can record the history of your source "   
  3. # files. Fedora CVS服务器 stores all the versions of a file in a single "   
  4. # file in a clever way that only stores the differences "   
  5. # between versions.   
  6. service Fedora CVS服务器pserver   
  7. {   
  8. disable = no   
  9. port = 2401   
  10. socket_type = stream   
  11. protocol = tcp   
  12. wait = no   
  13. user = root   
  14. passenv = PATH   
  15. server = /usr/bin/Fedora CVS服务器   
  16. env = HOME=/home/Fedora CVS服务器root   
  17. server_args = -f --allow-root=/home/Fedora CVS服务器root pserver   
  18. bind = 127.0.0.1 }  

3)重启xinetd服务,使配置生效

  1. 重启xinetd  
  2. # /etc/init.d/xinetd restart   
  3. 停止 xinetd: [确定]   
  4. 启动 xinetd: [确定]   
  5. 确定Fedora CVS服务器pserver是否启动  
  6. #netstat -l | grep Fedora CVS服务器pserver   
  7. tcp 0 0 *:Fedora CVS服务器pserver *:* LISTEN  

4)最后还必须检查防火墙的设置,看2401端口是否打开打开
#/sbin/iptables -L&line;grep Fedora CVS服务器
 

如果看到ACCEPT tcp -- anywhere anywhere tcp dpt:Fedora CVS服务器pserver说明端口已经打开,否则请打开防火墙2401端口 

  1. #/sbin/iptables -A INPUT -i eth0 -p tcp --dport 2401 -j ACCEPT  
  2. #/sbin/service iptables save 

至此,Fedora CVS服务器配置全部完成,下面进行测试。

三、客户端测试

1、连接Fedora CVS服务器

刚才建立的Fedora CVS服务器端的IP为:10.15.5.89客户端主机使用非root用户,我的用户名为test首先建立环境变量Fedora CVS服务器ROOT,以刚才建立的Fedora CVS服务器用户Fedora CVS服务器user登录:

  1. [test@liu ~]$ export Fedora CVS服务器ROOT=:pserver:Fedora CVS服务器user@10.15.5.89:/home/Fedora CVS服务器root   
  2. [test@liu ~]$ Fedora CVS服务器 login   
  3. Logging in to :pserver:Fedora CVS服务器user@10.15.5.89:2401/home/Fedora CVS服务器root   
  4. Fedora CVS服务器 password:   
  5. [test@liu ~]$  

如果没有错误提示,则代表成功登录Fedora CVS服务器。

在此却很有可能出现:unrecognized auth response from 10.15.5.89: Fedora CVS服务器 pserver: cannot open /home/Fedora CVS服务器root/Fedora CVS服务器ROOT/config: Permission denied

尤其是当你的linux版本较高时。这是由于selinux的原因,这是一种安全机制,具体可以上网查。只要关闭selinux就可以了:编辑/etc/selinux/config,将SELINUX设置为SELINUX=disabled,禁用SELINUX。重启电脑就好了

2、检出模块

我们上面已经建立了一个仓库了: myProject 我们在客户端将该模块checkout

[test@liu ~]$ Fedora CVS服务器 checkout myProject
Fedora CVS服务器 checkout: Updating myProject
U myProject/helloworld.cpp
U myProject/makefile
[test@liu ~]$ 

好了,在当前目录下生成了目录myProject,现在你就可以进入myProject进行修改,删除,提交等操作了。

四、现在我们来说说多仓库的建立

注意,我们用Fedora CVS服务器root仅仅是用来管理,所以,不要在它$HOME下面创建任何仓库另外,Fedora CVS服务器root用户的初始环境不应该包含非空的$Fedora CVS服务器ROOT.(也就是必须设置环境变量)  使用Fedora CVS服务器root来进行的任何管理工作都指明Fedora CVS服务器ROOT是一个好的习惯.OK,开始给单个项目建仓库假设有两个项目,project1,project2,希望单独存放,便于管理

1、分别给两个工程建立各自的Fedora CVS服务器主目录  
#mkdir /home/Fedora CVS服务器root/pro1
#mkdir /home/Fedora CVS服务器root/pro2

2、 分别更改pro1和pro2目录及其子目录的属主和属组
#chown Fedora CVS服务器root.Fedora CVS服务器 /home/Fedora CVS服务器root/pro1
#chown Fedora CVS服务器root.Fedora CVS服务器 /home/Fedora CVS服务器root/pro2

3、更改目录pro1和pro2的权限
#chmod 2775 /home/Fedora CVS服务器root/pro1
#chmod 2775 /home/Fedora CVS服务器root/pro2
 (更高的安全要求则$chmod 2770 /home/Fedora CVS服务器root/pro1)

4、OK,开始建立仓库
#su Fedora CVS服务器root
$Fedora CVS服务器 -d /home/Fedora CVS服务器root/pro1 init
$Fedora CVS服务器 -d /home/Fedora CVS服务器root/pro2 init
$chmod 2775 /home/Fedora CVS服务器root/pro1
$chmod 2775 /home/Fedora CVS服务器root/pro2

5、修改启动文件
#vi /etc/xinetd.d/Fedora CVS服务器pserver

内容如下:

  1. service Fedora CVS服务器pserver  
  2. {  
  3. disable = no 
  4. socket_type = stream 
  5. wait = no 
  6. user = root 
  7. server = /usr/bin/Fedora CVS服务器  
  8. server_args = -f --allow-root=/home/Fedora CVS服务器root/pro1 --allow-root =/home/Fedora CVS服务器root/pro2 pserver  
  9. log_on_success += USERID  
  10. log_on_failure += USERID  


然后更改/etc/xinetd.d/Fedora CVS服务器, 否则的话,在后面的远程登录本机时会出现下面的问题“没有该仓库”

[test@liu ~]$ Fedora CVS服务器 -d :pserver:Fedora CVS服务器user@10.15.5.89:/home/Fedora CVS服务器root/pro1 login
Logging in to :pserver:Fedora CVS服务器user@10.15.5.89:2401/home/Fedora CVS服务器root/pro1
Fedora CVS服务器 password:
/home/Fedora CVS服务器root/pro1: no such repository
[test@liu ~]$
 

更改方法如下:把disable=yes 改为 disable=no ;env和server_args中路径改为你的Fedora CVS服务器root路径,我的是/home/Fedora CVS服务器root更改后的内容如下

  1. # default: off   
  2. # description: The Fedora CVS服务器 service can record the history of your source "   
  3. # files. Fedora CVS服务器 stores all the versions of a file in a single "   
  4. # file in a clever way that only stores the differences "   
  5. # between versions.   
  6. service Fedora CVS服务器pserver   
  7. {   
  8. disable = no   
  9. port = 2401   
  10. socket_type = stream   
  11. protocol = tcp   
  12. wait = no   
  13. user = root   
  14. passenv = PATH   
  15. server = /usr/bin/Fedora CVS服务器   
  16. env = HOME=/home/Fedora CVS服务器root   
  17. server_args = -f –allow-root=/home/Fedora CVS服务器root/pro1 --allow-root=/home/Fedora CVS服务器root/pro2 pserver   
  18. bind = 127.0.0.1 }  

6、重启xinetd服务,使配置生效
重启xinetd# /etc/init.d/xinetd restart
停止 xinetd: [确定]
启动 xinetd: [确定] 

7、建立更多的仓库的技巧
由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做

1)修改Fedora CVS服务器pserver和Fedora CVS服务器文件#vi /etc/xinetd.d/Fedora CVS服务器pserver#vi /etc/xinetd.d/Fedora CVS服务器
修改它们的内容中如下:

  1. service Fedora CVS服务器pserver  
  2. {  
  3. disable = no 
  4. socket_type = stream 
  5. wait = no 
  6. user = root 
  7. server = /home/Fedora CVS服务器root/Fedora CVS服务器.run  
  8. log_on_success += USERID  
  9. log_on_failure += USERID  

2)然后写脚本/home/Fedora CVS服务器root/Fedora CVS服务器.run#vi /home/Fedora CVS服务器root/Fedora CVS服务器.run

脚本内容如下:

  1. #!/bin/bash  
  2.  
  3. /usr/bin/Fedora CVS服务器 -f "  
  4. --allow-root=/home/Fedora CVS服务器root/pro1 "  
  5. --allow-root=/home/Fedora CVS服务器root/pro2 "  
  6. --allow-root=/home/Fedora CVS服务器root/pro3 "  
  7. --allow-root=/home/Fedora CVS服务器root/pro4 "  
  8. --allow-root=/home/Fedora CVS服务器root/pro5 "  
  9. --allow-root=/home/Fedora CVS服务器root/pro6 "  
  10. pserver  

3)更改Fedora CVS服务器.run的权限:#chmod +x /home/Fedora CVS服务器root/Fedora CVS服务器.run

4)重启服务:#service xinetd restart好了,现在多个独立的仓库也建立好了 .

【编辑推荐】

  1. Fedora映像文件太小的解决办法解压和提取相应文件
  2. Fedora 5.0解压和提取相应文件物理分区
  3. Fedora Xen操作系统特性
  4. Fedora apache配置一个基于IP的虚拟主机
  5. Fedora yum配置建立新文件优化加速
责任编辑:佚名 来源: CSDN
相关推荐

2009-09-17 16:55:02

WSUS服务器

2011-08-02 18:25:04

Web远程管理服务器

2009-03-04 09:48:52

安装配置桌面虚拟化Xendesktop

2014-08-14 14:18:05

Linux用户

2010-02-24 13:46:54

Fedora FTP

2010-05-18 13:02:30

2009-09-17 17:37:05

Nis服务器

2009-09-24 14:58:19

打印服务器

2009-09-17 16:50:23

WSUS服务器

2010-02-24 13:55:18

Fedora vsFT

2010-02-07 13:45:29

Ubuntu orac

2010-02-26 14:03:11

Fedora vsft

2009-12-03 14:42:43

配置cvs服务器

2010-02-03 14:28:15

Linux Samba

2009-03-01 14:40:16

LinuxNF安装

2015-05-07 09:31:49

CollectdCollectd-We监控服务器

2011-01-07 09:44:13

2009-07-26 22:23:12

Fedora 8JDKEclipse

2010-05-18 13:37:03

IIS服务器

2010-08-26 09:33:10

DHCP服务器
点赞
收藏

51CTO技术栈公众号