suse linux 下搭建subversion笔记

一、准备工作:

                到apache官方网站下载最新的subversion及httpd安装包。后续可能还需要一些依赖

二、安装步骤

                1、安装httpd

                              1) 解压httpd   tar zxvf httpd-2.2.21.tar.gz

                               2)进入cd httpd-2.2.21

                               3)执行后面的命令  ./configure --enable-dav --enable-so --prefix=/opt/apache/ (注意:前两个参数一定要给)

                                           执行到这一步可能会报一个:configure: error: no acceptable C compiler found in $PATH

                                           当遇到这个错误的时候是因为你的服务器上没有安装 c 编译环境,这时你需要插入linux系统光盘,安装上 gcc

                                           (这里只是举一个例子,后续安装过程中还会出现类似的问题,只要看准错误信息就能够很快速的解决了)

                               4)执行 make

                               5)执行 sudo make install     (注:sudo指以超级管理员的权限去执行这个命令,每一次需要输入root用户密码,默认5分钟超时)

                               6)进入 cd /opt/apache/bin    启动apache    ./apachectl start

                                            打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功

                 2、安装subversion

                               1)解压subversion   tar zxvf subversion-1.7.1.tar.gz

                               2)进入subversion-1.7.1   cd subversion-1.7.1

                               3)执行命令  ./configure --with-apxs=/usr/local/apache/bin/apxs --prefix=/usr/local/subversion 

                                                     --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-openssl --with-zlib 

                                                     --enable-maintainer-mode

                                             (注意:执行到这里可能会报一个:configure: error: subversion requires openssl  或者类似的错误,别着急,那是因为subversion安装

                                             时需要一些依赖,可 能要早期的版本中这些依赖需要我们自己去下载,但是我使用的1.7已经不需要我们自己去下载了,你只需

                                             要在subversion-1.7.1目录中执行一下 ./get-deps.sh ,这样就会自动下载并安装这个些依赖了,但是别高兴得太早,这些依赖都是

                                             从国外的网站上面下载的,有些可能需要翻墙才能够下载得下来,比如我在安装时 zlib 这个依赖就下载不了,几经周折才搞到手,

                                             需要自己下载的依赖还得自己安装,程序帮助我们下载的依赖是自己安装的,还有一点,下载的依赖必须拷贝到相应的目

                                             录 subversion-1.7.1/build/generator/templates 然后进行安装  ./configure --enable-dav --enable-so --prefix=/opt/apache/  )

                                             当所有都依赖装好之后,再执行以上命令安装subversion就没问题了

                               4)执行命令  make

                               5)执行命令  sudo make install

                 3、创建仓库

                               1)./svnadmin create /home/svnmanager/svn/         (注:svnmanager是指管理svn的linux用户)

                               2)进入svn目录,看是不是有些新的文件或者是目录,如果有就证明创建成功了

                 4、svn配置

                              1)修改apache配置文件:httpd.conf文件,以实现用户的访问

                                          vi /opt/local/apache/conf/httpd.conf

                                         添加两条语句    LoadModule dav_svn_module modules/mod_dav_svn.so

                                                                     LoadModule authz_svn_module modules/mod_authz_svn.so

                                         在文件末尾添加如下语句

                                         <Location /svn>
                                               DAV svn
                                               SVNPath /home/svnmanager/svn                                                     //svn 路径
                                               AuthType Basic                                                                                      //连接类型
                                               AuthName "Subversion Repository"                                                 //
                                               AuthzSVNAccessFile /home/svnmanager/svn/conf/authz
                                               AuthUserFile /home/svnmanager/passwds                                   //用户配置文件
                                               Require valid-user                                                                                //认证方式
                                        </Location>

                              2)重启httpd

                                         在目录  /usr/local/apache/bin/ 下执行  sudo apachectl -k restart

                                         在浏览器中访问  http://localhost/svn,如果有东西显示就说明成功

                  5、用户权限管理

                               1)进入到  /opt/apache/bin

                               2)添加用户  htpasswd –c /home/svnmanager/passwds user001

                                         (注:第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加;以后每次加入新的用户,就不需要使用-c)

                                                    htpasswd /home/svnroot/repository/authfile

                               3)分配权限  vi /home/svnmanager/svn/conf/authz

                                          admin = user001
                                          devs = user002,user003,user004
                                          [svn:/]
                                          @admin = rw

                                          [svn:/folder001]
                                          @devs = rw

                                          [svn:/folder002]
                                          @devs = rw

                              4)修改 svnserve.conf

                                          去掉以下几行的注释:

                                          anon-access = read

                                          auth-access = write

                                          authz-db = authz

                                          password-db = passwd

                              5)修改管理账号

                                          vi /home/svnmanager/svn/conf/passwd


                                          [users]

                                          user001=123456     //用户名=密码

                              6)修改执行权限及文件属性

                                           chmod –R 755 /home/svnmanager/svn

                                           chown -R daemon /home/svn/*

                                           (可能会出现的错误:Can't open file 'svn/db/txn-current-locks':permission denied)

                                           (注意:在前面的一系列操作中都有可能误用root用户权限操作,而导致svn客户端不能访问svn服务器,当发生这样的错误之后只要把软件

                                           安装目录中的文件和目录改为管理svn的用户就可以了,比如上面的  svnmanager  用户。 但是svn仓库的属主必须是daemon用户)

                                          

                                           (可能会出现的错误:Permission denied: make_sock: could not bind to address [::]:80

                                                                                    Permission denied: make_sock: could not bind to address 0.0.0.0:80)

                                           这个问题是怎么解决的我忘了,如果上面的问题解决了这个好像也解决了

 三、大功告成                                          

                设置完成之后重启apache,subversion就可以用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章