下载包
wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-1.5.3.tar.gz
1. 编译apache
tar zxvf httpd-2.2.11.tar.gz
cd httpd-2.2.11
./configure --enable-dav --enable-dav-fs --enable-so --enable-ssl --enable-maintainer-mode -prefix=/usr/local/apache2 --enable-mods-shared=all
make && make install
问题: 在centos6系统中,如果增加了 --enable-ssl 会一直报错编译不成功,即使我们yum install openssl-devl 也不行,这是因为centos6中yum安装的openssl版本和httpd-2.2.11所要求的版本不一致,解决办法:下载更新的httpd(2.4.6没有问题)或者源码编译安装openssl(0.9版本)
2. 编译subversion
tar zxvf subversion-1.5.3.tar.gz
cd subversion-1.5.3
./configure --prefix=/usr/local/subverion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/src/httpd-2.2.11/srclib/apr/ --with-apr-util=/usr/local/src/httpd-2.2.11/srclib/apr-util --with-ssl
make && make install
3. 添加svn用户
useradd SVN
4. 创建仓库
/usr/local/subverion/bin/svnadmin create /home/SVN/lishiming
5. 测试svn
添加一个文件到仓库 /usr/local/subverion/bin/svn import /tmp/disk.txt file:///home/SVN/lishiming/disk.txt -m test
其中 命令格式为 svn import filename svn仓库路径 -m 说明
查看添加的文件信息 /usr/local/subverion/bin/svn list --verbose file:///home/SVN/lishiming/
6. 整合apache
vim /usr/local/apache2/conf/httpd.conf
在最后面加入
DAV svn
SVNPath /home/SVN/lishiming
AuthzSVNAccessFile /home/SVN/lishiming/conf/authz.conf
AuthType Basic
AuthName "Subversion"
AuthUserFile /home/SVN/authfile
Require valid-user
另外需要修改一下
User SVN
Group SVN
7. 添加认证用户
/usr/local/apache2/bin/htpasswd -c /home/SVN/authfile svntest
说明:第一次创建这个用户是需要加-c 选项,以后再次创建就不需要了,因为authfile 文件已经存在
8. 编辑用户权限
vim /home/SVN/lishiming/conf/authz.conf 内容如下:
[lishiming:/]
svntest = rw
9. 更改权限
chown -R SVN:SVN /home/SVN/
10. 重启apache
访问 10.0.2.111/lishiming/
wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-1.5.3.tar.gz
1. 编译apache
tar zxvf httpd-2.2.11.tar.gz
cd httpd-2.2.11
./configure --enable-dav --enable-dav-fs --enable-so --enable-ssl --enable-maintainer-mode -prefix=/usr/local/apache2 --enable-mods-shared=all
make && make install
问题: 在centos6系统中,如果增加了 --enable-ssl 会一直报错编译不成功,即使我们yum install openssl-devl 也不行,这是因为centos6中yum安装的openssl版本和httpd-2.2.11所要求的版本不一致,解决办法:下载更新的httpd(2.4.6没有问题)或者源码编译安装openssl(0.9版本)
2. 编译subversion
tar zxvf subversion-1.5.3.tar.gz
cd subversion-1.5.3
./configure --prefix=/usr/local/subverion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/src/httpd-2.2.11/srclib/apr/ --with-apr-util=/usr/local/src/httpd-2.2.11/srclib/apr-util --with-ssl
make && make install
3. 添加svn用户
useradd SVN
4. 创建仓库
/usr/local/subverion/bin/svnadmin create /home/SVN/lishiming
5. 测试svn
添加一个文件到仓库 /usr/local/subverion/bin/svn import /tmp/disk.txt file:///home/SVN/lishiming/disk.txt -m test
其中 命令格式为 svn import filename svn仓库路径 -m 说明
查看添加的文件信息 /usr/local/subverion/bin/svn list --verbose file:///home/SVN/lishiming/
6. 整合apache
vim /usr/local/apache2/conf/httpd.conf
在最后面加入
DAV svn
SVNPath /home/SVN/lishiming
AuthzSVNAccessFile /home/SVN/lishiming/conf/authz.conf
AuthType Basic
AuthName "Subversion"
AuthUserFile /home/SVN/authfile
Require valid-user
另外需要修改一下
User SVN
Group SVN
7. 添加认证用户
/usr/local/apache2/bin/htpasswd -c /home/SVN/authfile svntest
说明:第一次创建这个用户是需要加-c 选项,以后再次创建就不需要了,因为authfile 文件已经存在
8. 编辑用户权限
vim /home/SVN/lishiming/conf/authz.conf 内容如下:
[lishiming:/]
svntest = rw
9. 更改权限
chown -R SVN:SVN /home/SVN/
10. 重启apache
访问 10.0.2.111/lishiming/
0
SVN提交时强制添加注释
如果在linux环境中,则命名为pre-commit,并添加执行权限
——————————————————————————————————–
#!/bin/sh
REPOS=”$1″
TXN=”$2″
SVNLOOK=/opt/CollabNet_Subversion/bin/svnlook
LOGMSG=$($SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” | wc -c)
if [ "$LOGMSG" -lt 10 ]; then
echo -e “\n Empty log message not allowed.Commit aborted!”1>&2
exit 1
fi
————————————————————————————————————
脚本命令解释
————————————————————————————————————
LOGMSG=$($SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” | wc -c)
将提交的日志信息作为便来那个输入之后,将grep英文和数字的结果作为变量
if [ "$LOGMSG" -lt 10 ]; 传入变量来判断变量长度是否小于10
-eq 等于号 -gt 大于号 -lt小于号
echo 错误提示信息的时候必须重定向到 stderr ,即 1>&2
pre-commit 文件拷贝到 hooks 目录之后,需要 chmod 0755 pre-commit ,给 pre-commit 文件增加可执行权限(或者至少把文件owner改为 svn 服务运行用户并加上owner的x权限)
如果在linux环境中,则命名为pre-commit,并添加执行权限
——————————————————————————————————–
#!/bin/sh
REPOS=”$1″
TXN=”$2″
SVNLOOK=/opt/CollabNet_Subversion/bin/svnlook
LOGMSG=$($SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” | wc -c)
if [ "$LOGMSG" -lt 10 ]; then
echo -e “\n Empty log message not allowed.Commit aborted!”1>&2
exit 1
fi
————————————————————————————————————
脚本命令解释
————————————————————————————————————
LOGMSG=$($SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” | wc -c)
将提交的日志信息作为便来那个输入之后,将grep英文和数字的结果作为变量
if [ "$LOGMSG" -lt 10 ]; 传入变量来判断变量长度是否小于10
-eq 等于号 -gt 大于号 -lt小于号
echo 错误提示信息的时候必须重定向到 stderr ,即 1>&2
pre-commit 文件拷贝到 hooks 目录之后,需要 chmod 0755 pre-commit ,给 pre-commit 文件增加可执行权限(或者至少把文件owner改为 svn 服务运行用户并加上owner的x权限)
编辑回复