搭建svn服务器

1、  检查zlib有没有安装

2、  下载并安装 apr-1.2.12.tar.gz   在此网下载http://apr.apache.org/

./configure 
# make
 
# make install
 

3、   下载并安装apr-util-1.2.12.tar.gz

# . /configure --with-apr=/usr/local/apr 
# make
 
# make install
 

 

4

安装apache 2.2.6                                下载网站http://httpd.apache.org/
1. 
解包  httpd-2.2.6.tar.gz 

# tar xzvf httpd-2.2.6.tar.gz
 
# cd httpd-2.2.6
 

2. 
生成配置文件 

./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-dav --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-maintainer-mode MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0

      

      3. 生成 make 文件,并安装 

# make
 
# make install
 

4. 编辑配置文件 httpd.conf 

# vi /usr/local/apache2/conf/httpd.conf
 

修改内容:

      Listen localhost:80      

      ServerName localhost:80 
保存退出 

* apache
的默认端口为 80 
* Svn
的默认端口为 3690 
5. 
启动 Apache 服务: 

# /usr/local/apache2/bin/apachectl start
 

6. 
浏览网站: 
用浏览器查看http://localhost/, 得到 it works ,说明 apache 已经配置成功了。 

需要将 linux 的防火墙关闭,否则其他 IP 地址无法访问 
关闭防火墙命令: service iptables stop 

7. 停止 Apache 服务: 

# /usr/local/apache2/bin/apachectl stop
 

8. 
设置启动系统后,自启动 Apache 服务 
编辑etc/rc.d/rc.local 
# vi /etc/rc.d/rc.local
 

在最后加上一句: 
/usr/local/apache2/bin/apachectl start

 

5、  到此站http://www.sqlite.org/下载类似于sqlite-amalgamation-3070800.zip的文件

http://www.sqlite.org/sqlite-amalgamation-3070800.zip

然后解压

unzip sqlite-amalgamation-3070800.zip

得到目录sqlite-amalgamation-3070800

 

再解压subversion并在subversion目录下创建目录

 

mkdir sqlite-amalgamation

 

再把前面的sqlite-amalgamation-3070800目录下的sqlite3.c复制到subversion/ sqlite-amalgamation

 

cp /root/ sqlite-amalgamation-3070800/*.*   /root/ subversion/sqlite-amalgamation/

 

编译安装

./configure --with-apxs=/usr/local/apache2/bin/apxs --with-ssl  --with-zlib --prefix=/usr/local/subversion--with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

 

make && make install

 

 

 

安装完成了

 

 

创建多个项目的管理办法

  • 创建svn仓库路径

mkdir -p /svn/pro1

mkdir -p /svn/pro2

svnadmin  create   /svn/pr1

svnadmin  create   /svn/pr2

 

  • 创建svn仓库路径

 

svnadmin  create  /svn/pr1

svnadmin  create  /svn/pr2

注意:为了规范:一般在项目目录下再创建:

mkdir-p   /svn/pr1/trunk

mkdir-p   /svn/pr1/tags

mkdir-p   /svn/pr1/branches

 项目2操作和一类似。

 

  • :修改配置文件:

        vi   /svn/pr1/conf/svnserve.conf

              [general]

              anon-access = none

              auth-access=write

              password-db=passwd                     //这个是用户及密码

              auth-db=authz                                  //这个是权限管理

 

可以把passwdauthz指定到统一的目录,使多个项目共用一个用户验证和权限管理文件。

如:

password-db=/svn/users/passwd

auth-db=/svn/users/authz

这样每新建一个项目,把新项目的svnserve.conf文件中的用户验证和权限管理都指向这里,这就可以统一管理了,当然也可以只把“权限管理文件统一到一个文件

 

 

  vi    /svn/pr1/conf/passwd

                xxx=****             // 用户名=密码

 

 

vi                  /svn/pr1/conf/authz

在末尾添加如下代码:

[/]

dan=rw

w=r

意思是版本库的根目录dan对其有读写权限,w只有读权限

 

 

(3):启动svn服务

        svnserve   -d  -r   /svn/    

        注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径:比如

       /svn/pr1    /svn/pr2  ------------------->   /svn/    

 

 

 

 

补:

authz 用户权限配置文件 

        # vi /home/svn/project_1/conf/authz

        [groups]

        managers=manager1,manager2         #定义群组 managers 包含manager1 和 manager2 两个用户

        [/]

        @managers=rw                       #定义群组 managers 有读写权限

        manager3=r                         #定义 manager3 有读权限

        *=                                 #以上没有定义的用户都没有任何权限

 


你可能感兴趣的:(SVN,服务器,配置文件)