Subversion-1.6.1(svn-1.6.1)+Apache-2.2.11

来源:互联网 发布:周易简单算法 编辑:程序博客网 时间:2024/06/05 17:01

一、安装前的准备工作

 

1.下载 subversion-1.6.0.tar.gz: http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz


subversion-deps-1.6.0.tar.gz: http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz


httpd-2.2.11.tar.gz: http://apache.freelamp.com/httpd/httpd-2.2.11.tar.gz


apr-1.3.3.tar,gz:   http://apache.freelamp.com/apr/apr-1.3.3.tar.gz

apr-util-1.3.4.tar.gz: http://apache.freelamp.com/apr/apr-util-1.3.4.tar.gz


zlib-1.2.3.tar.gz: http://www.zlib.net/zlib-1.2.3.tar.gz


Berkeley DB 4.7.25.tar.gz



2.rpm -qa|grep httpd apr subversion ,如果有的话,全部卸载.


二、开始安装


1.安装apr

cd apr

./configure --prefix=/usr/local/apr

make

make install

2.安装apr-util

cd apr-util

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

make

make install

3.安装zlib

cd zlib

./configure

make

make install

4.安装httpd

tar zxvf httpd-2.2.11.tar.gz

cd httpd-2.2.11

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

make

make install

5.解压subversion

tar zxvf subversion-1.6.1.tar.gz

tar zxvf subversion-deps-1.6.1.tar.gz (这个解压后会自动放到前面一个解压的目录里的)


安装serf

cd subversion-1.6.1/serf

./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/

make

make install

安装 neon

cd subversion-1.6.1/neon

./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/

make

make install

安装 sqlite

cd subversion-1.6.1/sqlite-amalgamation

./configure --prefix=/usr/local/sqlite3

make

make install

6.安装subversion

cd subversion-1.6.1

./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-sqlite=/usr/local/sqlite3 --with-ssl --with-zlib=/usr/lib --enable-maintainer-mode

make

make install


注意:configure时会警告要DBD的支持,可以忽略,但我们还是把它装上

7.安装db-4.7.25.tar.gz

tar -zxvf db-4.7.25.tar.gz

cd db-4.7.25/dist

./configure(我执行这一步的时候 报错说该文件目录下不可以 然后建议我换到../build_unix下重新执行,然后照做 OK)

make

make install

vi /etc/ld.so.conf 加入下面一行

/usr/local/BerkeleyDB.4.7/lib #保存

ldconfig

(一下两个命令提示我要覆盖某些文件么 然后我执行覆盖)

cp /usr/local/BerkeleyDB.4.7/include/* /usr/include   

cp /usr/local/BerkeleyDB.4.7/lib/* /usr/lib

重新执行安装  (没搞明白这里的重新执行安装是指的安装什么 然后只是安装了这个db-4.7.25.tar.gz)


三、配置

1.vi /usr/local/apache/conf/httpd.conf 查看是否有如下2行,有就对了

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


2.建立版本库

mkdir /code (代码的根目录,根据自己情况)

/usr/local/svn/bin/svnadmin create /code/test (建一个test项目)

ls /code/test 里面多了些文件就对了(刚刚执行到这里的时候 文件里面没有dav 当时以为做错了什么然后硬着头皮到最后 完全搞定的时候 再次查看 就有了dav文件夹了)


//这条语句将把路径/home/wordspace下找到的文件导入到你创建的Subversion 仓库中去,

//提交后的修订版为1。(随便找一个文件目录 就可以的)

# ./svn import /home/wordspace file:///code/test –m "注释"

//不让其他人有该目录的权限

# chmod 700 /code/test   //这句话(也许不是)有时导致客户端不能访问:


svn: 提交失败(细节如下): 

svn: Can't create directory '/code/test/db/transactions/1-2.txn': Permission denied


这样就可以了:


chown -R daemon /code/test

chmod -R 755 /code/test


3.配置Apache来支持SVN

vi /usr/local/apache/conf/httpd.conf

在末尾加上如下内容:

<Location /svn>

   DAV svn

   SVNParentPath /code #svn父目录

   AuthzSVNAccessFile /code/test/conf/authz #权限配置文件

   AuthType Basic    #连接类型设置

   AuthName "Subversion" #连接框提示

   AuthUserFile /code/test/conf/passwd #用户配置文件

   Require valid-user #采用何种认证

</Location>

保存退出

4.启动 apache


cd /usr/local/apache2/bin

./apachectl start 

打开IE,输入:http://IP/svn/test 或 http://localhost/svn/test

会弹出一个输用户和密码的框就对了

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

#vi  /usr/local/apache2/conf/httpd.conf
找到#ServerName www.example.com:80  
把#去掉,再重启apache即可没事了。

5.创建用户配置文件

htpasswd -c /code/test/conf/passwd user1        //必须要这样创建.

回车输入密码 (-c是第一次要创建文件)

htpasswd /code/test/conf/passwd user2

回车输入密码

.

.等

6.创建权限配置文件

vi /code/test/conf/authz

[test:/]

user1 = rw

user2 = r

保存退出

注:

[test:/] //这表示,仓库test的根目录下的访问权限

    user1 = rw //test仓库user1用户具有读和写权限

    user2 = r //test仓库user2用户具有读权限

    [test2:/] //test2仓库根目录下的访问权限

    user1 = r //user1用户在test2仓库根目录下只有读权限

    user2 = //user2用户在 test2仓库根目录下无任何权限

   [/] //这个表示在所有仓库的根目录下

   * = r //这个表示对所有的用户都具有读权限

   #[groups] //这个表示群组设置

   #svn1-developers = user1, user2 //这个表示某群组里的成员

   #svn2-developers = user1

   #[svn1:/]

   #@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

7.重启Apache


cd /usr/local/apache2/bin

./apachectl restart 

打开IE,输入:http://IP/svn/test 或 http://localhost/svn/test

会弹出一个输用户和密码的框

输入你的添加的用户和密码就ok了