本帖最后由 Kry1702 于 2016-6-12 23:56 编辑
1.软件版本
SVN版本:subversion-1.9.4
Apache版本:httpd-2.4.20
Apr版本:apr-1.5.2
Apr-Util版本:apr-util-1.5.4
SQLite版本:sqlite-amalgamation-3.13.0
2.搭建结构
/data
└── svndata
├── config
│ └── authz
├── mydata
│ ├── test1data
│ └── test2data
├── .password
└── public
3.软件下载
svn下载
或者官网下载:
或者:
Apr下载
Apr-Util下载
SQLite下载
4.解压文件
解压apr:
解压apr-util:
解压httpd:
解压sqlite:
解压subversion:
5.apr与apr-util支持httpd
6.编译apache
报错:缺少pcre
7.配置apache服务
修改httpd配置:
添加一下内容:
加入服务:
8..测试httpd是否正常
浏览器地址栏中输入服务器IP,显示“It Works”表示httpd搭建成功。如果不成功请查看日志文件。
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7480&size=300x300&key=751d9b71907d35bf&nocache=yes&type=fixnone
9.配置subversion支持组件sqlite
注意:如果在subversion-1.9.4中存在”sqlite-amalgamation“目录,就不需要创建,直接将sqlite目录下的东西拷贝进去。
10.编译安装subversion
解释:
--with-apxs:安装扩展模块的工具;
--with-apr:指定apr;
--with-apr-util:指定apr-util;
--prefix:指定安装路径;
--with-zlib:支持zlib压缩库;
--enable-mod-activation:启用apache中的mod_dav_svn;
注意:
如果不加--enable-mod-activation选项会报错,直接在httpd.conf中添加LoadModule dav_svn_module modules/mod_dav_svn.so,LoadModule authz_svn_module modules/mod_authz_svn.so 启动httpd就会报“cannot load modules/mod_dav_svn.so into server:/usr/local/apache/modules/mod_dav_svn.so:cannot open shared object file:no such file or directory”
报错:如果编译包缺少zlib
方法一:yum安装推荐使用:
方法二:编译安装:
11.配置subversion环境变量
添加一下内容:
生效配置:
12.建立仓库(用于存放项目)
13.创建项目
14.配置svn用户帐号密码
-c:创建密码文件
创建test用户,密码为123123
注意:再添加新用户时,不需要加-c选项。例:htpasswd /data/svndata/.password test2
15.配置权限文件
创建存放权限文件目录:
复制访问权限文件:
修改所属主群:
16.配置权限文件
添加以下内容:
扩展说明:
[/] =>在所有仓库的根目录下
* = r =>对所有的用户都具有读权限
[groups] =>群组设置
svn1-developers = hrwang,bao =>某群组里的成员
svn2-developers = hrwang
[svn1:/] =>svn1仓库的根权限配置
@svn1-developers = rw =>如果在前面加上@符号,表示这群组权限设置
17.httpd中配置svn
末尾添加:
18.导入项目文件(有项目数据就导,没就跳过)
格式:
svn import 导入文件路径 http://svn项目路径
-m:信息文件
--username:指定用户名
19.导出项目文件
格式
svn co http://SVN_PATH/svn_project
svn co file:///SVN_PATH/svn_project
svn co -r 12 file:///var/lib/svn/dev/projects
20.访问测试
测试public
浏览器中输入:IP/public
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7481&size=300x300&key=5fe104821e743838&nocache=yes&type=fixnone
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7482&size=300x300&key=699d094c37aa9191&nocache=yes&type=fixnone
测试test1data
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7483&size=300x300&key=f802f11bbbac2016&nocache=yes&type=fixnone
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7484&size=300x300&key=0f2e674c9b5991ae&nocache=yes&type=fixnone
如果不登录不成功,请检查防火墙、配置文件、查看apache错误日志是一个不错的想法。
1.软件版本
SVN版本:subversion-1.9.4
Apache版本:httpd-2.4.20
Apr版本:apr-1.5.2
Apr-Util版本:apr-util-1.5.4
SQLite版本:sqlite-amalgamation-3.13.0
2.搭建结构
/data
└── svndata
├── config
│ └── authz
├── mydata
│ ├── test1data
│ └── test2data
├── .password
└── public
3.软件下载
svn下载
[root@localhost ~]# cd /usr//local/src/ [root@localhost src]# wget http://mirror.bit.edu.cn/apache/subversion/subversion-1.9.4.tar.bz2 |
或者官网下载:
官网下载:http://subversion.apache.org/packages.html |
SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html |
Apache下载
[root@localhost src]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.20.tar.bz2 |
官网下载:http://www.apache.org/dyn/closer.cgi |
Apr下载
[root@localhost src]# wget http://mirror.bit.edu.cn/apache/apr/apr-1.5.2.tar.bz2 |
Apr-Util下载
[root@localhost src]# wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.bz2 |
SQLite下载
[root@localhost src]# wget http://www.sqlite.org/2016/sqlite-amalgamation-3130000.zip |
4.解压文件
解压apr:
[root@localhost ~]# cd /usr/local/src/ [root@localhost src]# tar jxvf apr-1.5.2.tar.bz2 |
解压apr-util:
[root@localhost src]# tar jxvf apr-util-1.5.4.tar.bz2 |
解压httpd:
[root@localhost src]# tar jxvf httpd-2.4.20.tar.bz2 |
解压sqlite:
[root@localhost src]# unzip sqlite-amalgamation-3130000.zip |
解压subversion:
[root@localhost src]# tar jxvf subversion-1.9.4.tar.bz2 |
5.apr与apr-util支持httpd
[root@localhost src]# cp -r apr-1.5.2 ./httpd-2.4.20/srclib/apr [root@localhost src]# cp -r apr-util-1.5.4 ./httpd-2.4.20/srclib/apr-util/ |
6.编译apache
[root@localhost src]# cd httpd-2.4.20 [root@localhost httpd-2.4.20]# ./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre --enable-dav --enable-rewrite --enable-maintainer-mode [root@localhost httpd-2.4.20]# make && make install |
报错:缺少pcre
解决办法:[root@localhost ~]# yum -y install pcre-devel |
7.配置apache服务
[root@localhost ~]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd |
修改httpd配置:
[root@localhost ~]# vim /etc/init.d/httpd |
添加一下内容:
#chkconfig: 35 85 15 #description: apache |
加入服务:
[root@localhost ~]# chkconfig --add httpd [root@localhost ~]# chkconfig --level 35 httpd on |
8..测试httpd是否正常
[root@localhost ~]# service httpd start |
浏览器地址栏中输入服务器IP,显示“It Works”表示httpd搭建成功。如果不成功请查看日志文件。
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7480&size=300x300&key=751d9b71907d35bf&nocache=yes&type=fixnone
9.配置subversion支持组件sqlite
[root@localhost httpd-2.4.20]# cd ../subversion-1.9.4 [root@localhost subversion-1.9.4]# mkdir sqlite-amalgamation [root@localhost subversion-1.9.4]# cp ../sqlite-amalgamation-3130000/s* ./sqlite-amalgamation |
注意:如果在subversion-1.9.4中存在”sqlite-amalgamation“目录,就不需要创建,直接将sqlite目录下的东西拷贝进去。
10.编译安装subversion
[root@localhost subversion-1.9.4]# mkdir /usr/local/subversion/ [root@localhost subversion-1.9.4]# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/ --with-apr-util=/usr/local/apache/ --prefix=/usr/local/subversion --with-zlib --enable-mod-activation [root@localhost subversion-1.9.4]# make && make install |
解释:
--with-apxs:安装扩展模块的工具;
--with-apr:指定apr;
--with-apr-util:指定apr-util;
--prefix:指定安装路径;
--with-zlib:支持zlib压缩库;
--enable-mod-activation:启用apache中的mod_dav_svn;
注意:
如果不加--enable-mod-activation选项会报错,直接在httpd.conf中添加LoadModule dav_svn_module modules/mod_dav_svn.so,LoadModule authz_svn_module modules/mod_authz_svn.so 启动httpd就会报“cannot load modules/mod_dav_svn.so into server:/usr/local/apache/modules/mod_dav_svn.so:cannot open shared object file:no such file or directory”
报错:如果编译包缺少zlib
方法一:yum安装推荐使用:
[root@localhost ~]# yum -y install zlib |
方法二:编译安装:
[root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://zlib.net/zlib-1.2.8.tar.gz 或官网下载:http://www.zlib.net/ [root@localhost src]# tar zxvf zlib-1.2.8.tar.gz [root@localhost src]# cd zlib-1.2.8 [root@localhost zlib-1.2.8]# mkdir /usr/local/zlib [root@localhost zlib-1.2.8]# ./configure --prefix=/usr/local/zlib [root@localhost zlib-1.2.8]# make && make install 再次编译时指定选项--with-zlib=/usr/local/zlib |
11.配置subversion环境变量
[root@localhost ~]# vim /etc/profile.d/path.sh |
添加一下内容:
#!/bin/bash export PATH=$PATH:/usr/local/subversion/bin |
生效配置:
[root@localhost ~]# source /etc/profile.d/path.sh |
12.建立仓库(用于存放项目)
[root@localhost ~]# mdkir -p /data/svndata/ =>创建仓库 [root@localhost ~]# mkdir /data/svndata/mydata/ =>创建仓库 |
13.创建项目
[root@localhost ~]#svnadmin create /data/svndata/public => 项目public [root@localhost ~]# svnadmin create /data/svndata/mydata/test1data => 项目test1data [root@localhost ~]# svnadmin create /data/svndata/mydata/test2data => 项目test2data [root@localhost ~]# chown -R daemon.daemon /data/svndata |
14.配置svn用户帐号密码
[root@localhost ~]# htpasswd -c /data/svndata/.password test1 New password: 123123 Re-type new password: 123123 Updating password for user test1 [root@localhost ~]# chown daemon.daemon /data/svndata/.password |
-c:创建密码文件
创建test用户,密码为123123
注意:再添加新用户时,不需要加-c选项。例:htpasswd /data/svndata/.password test2
15.配置权限文件
创建存放权限文件目录:
[root@localhost ~]# mkdir /data/svndata/config/ |
[root@localhost ~]# cp /data/svndata/public/conf/authz /data/svndata/config/authz |
修改所属主群:
[root@localhost ~]# chown -R daemon.daemon /data/svndata/config/ |
16.配置权限文件
[root@localhost ~]# vim /data/svndata/config/authz |
添加以下内容:
[repository:/] test= rw test1= r [groups] admin=admin user1=test1,test2 [public:/] =>仓库public的根目录下的访问权限 @admin = rw @user1 = rw [test1data:/] test1 = rw =>test1data仓库test1用户具有读和写权限 [test2data:/] test2 = rw =>test2data仓库test2用户具有读权限 |
扩展说明:
[/] =>在所有仓库的根目录下
* = r =>对所有的用户都具有读权限
[groups] =>群组设置
svn1-developers = hrwang,bao =>某群组里的成员
svn2-developers = hrwang
[svn1:/] =>svn1仓库的根权限配置
@svn1-developers = rw =>如果在前面加上@符号,表示这群组权限设置
17.httpd中配置svn
[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf |
末尾添加:
=>虚拟路径 DAV svn SVNParentPath /data/svndata/mydata => 仓库路径。 AuthzSVNAccessFile /data/svndata/config/authz =>权限配置文件 AuthType Basic =>认证类型 AuthName "svn for private" =>提示语 AuthUserFile /data/svndata/.password =>用户密码保存文件 Require valid-user =>启用密码文件,否则不会识别到AuthUserFile参数 DAV svn SVNPath /data/svndata/public AuthzSVNAccessFile /data/svndata/config/authz AuthType Basic AuthName "svn for public" AuthUserFile /data/svndata/.password Require valid-user |
18.导入项目文件(有项目数据就导,没就跳过)
本地导入:[root@localhost subversion]# svn import /tmp/test http://localhost/mydata/test1data -m /tmp/test/2.txt --username test |
远程导入:[root@localhost subversion]# svn import /tmp/test http://192.168.0.183/pubilc -m /tmp/test/2.txt --username test |
格式:
svn import 导入文件路径 http://svn项目路径
-m:信息文件
--username:指定用户名
19.导出项目文件
[root@localhost ~]# svn co http://localhost/public /tmp/test/ =>导出public项目文件 |
格式
svn co http://SVN_PATH/svn_project
svn co file:///SVN_PATH/svn_project
svn co -r 12 file:///var/lib/svn/dev/projects
20.访问测试
测试public
浏览器中输入:IP/public
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7481&size=300x300&key=5fe104821e743838&nocache=yes&type=fixnone
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7482&size=300x300&key=699d094c37aa9191&nocache=yes&type=fixnone
测试test1data
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7483&size=300x300&key=f802f11bbbac2016&nocache=yes&type=fixnone
http://www.apelearn.com/bbs/forum.php?mod=image&aid=7484&size=300x300&key=0f2e674c9b5991ae&nocache=yes&type=fixnone
如果不登录不成功,请检查防火墙、配置文件、查看apache错误日志是一个不错的想法。
编辑回复