linux下源码包安装与部署svn 2011-9-23
一、安装软件包
yum -y install *gcc*
1、安装apache
tar -zxvf httpd-2.2.17.tar.gz -C /usr/src/
cd /usr/src/httpd-2.2.17/
./configure --prefix=/usr/local/apache-2.2.17 --enable-dav --enable-so --enable-modules=most --enable-modules=so
make
make install
2、安装apr
tar -jxvf apr-1.3.12.tar.bz2 -C /usr/src/
cd /usr/src/apr-1.3.12/
./configure --prefix=/usr/local/apr-1.3.12
make
make install
3、安装apr-util
tar -zxvf apr-util-1.3.9.tar.gz -C /usr/src/
cd /usr/src/apr-util-1.3.9/
./configure --prefix=/usr/local/apr-util-1.3.9 --with-apr=/usr/local/apr-1.3.12/
make
make install
4、安装sqlite
tar -zxvf sqlite-amalgamation-3.6.17.tar.gz -C /usr/src/
cd /usr/src/sqlite-3.6.17/
./configure --prefix=/usr/local/sqlite-3.6.17
make
make install
5、安装zlib
tar -jxvf zlib-1.2.3.tar.bz2 -C /usr/src/
cd /usr/src/zlib-1.2.3/
./configure --prefix=/usr/local/zlib-1.2.3
make
make install
6、安装expat
yum -y install expat*
7、安装svn
tar -jxvf subversion-1.6.5.tar.bz2 -C /usr/src/
cd /usr/src/subversion-1.6.5/
./configure --prefix=/usr/local/svn-1.6.5 --with-apxs=/usr/local/apache-2.2.17/bin/apxs --with-apr=/usr/local/apr-1.3.12/ --with-apr-util=/usr/local/apr-util-1.3.9/ --with-sqlite=/usr/local/sqlite-3.6.17/ --with-ssl --with-zlib=/usr/local/zlib-1.2.3/ --enable-maintainer-mode
make
make install
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
错误:vn_subr-1.so.0: cannot restore segment prot after reloc: Permission denied
make: *** [revision-install] 错误 127
解决方法:关闭selinux setenforce 0
二、apache整合
vim /usr/local/apache-2.2.17/conf/httpd.conf
DocumentRoot "/www"
<Directory "/www">
<Location /svn>
DAV svn
SVNParentPath /data/svn //svn根目录
AuthType Basic
AuthName "SVNTest"
AuthzSVNAccessFile /data/svn/authz.conf //svn认证文件(设置权限)
AuthUserFile /data/svn/authfile //apache认证文件(密码文件)
Require valid-user
</Location>
创建虚拟主机
vim /usr/local/apache-2.2.17/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot /www/an
ServerName an.com
</VirtualHost>
/usr/local/apache-2.2.17/bin/apachectl start
测试域名绑定成功!
三、创建svn版本库
ln -s /usr/local/svn-1.6.5/bin/svnadmin /sbin/
ln -s /usr/local/svn-1.6.5/bin/svn /sbin/
mkdir /data/svn //创建根目录
svnadmin create /data/svn/
svnadmin create /data/svn/an //创建项目仓库
svn import /www/an/ file:///data/svn/an/ -m "import" //将/www/an导入到svn项目库
在导入仓库后,原来的目录树并没有转化成一个工作副本,需要使用checkout手
动导出一个工作副本。
chown -R daemon:daemon /data/svn/
svn checkout file:///data/svn/an/ /www/an/
取出版本 0。
chown -R daemon:daemon /www/an/
chmod -R 700 /data/svn/
vim /data/svn/an/hooks/post-commit //svn与apache同步脚本
#!/bin/bash
exportLC_CTYPE=zh_CN.GB18030 //支持语言
SVN=/usr/local/svn-1.6.5/bin/svn //svn路径
WEB=/www/an //apache虚拟目录
$SVN update --username ancs --password 1
chmod 700 /data/svn/an/hooks/post-commit
chown daemon:daemon /data/svn/an/hooks/post-commit
/usr/local/apache-2.2.17/bin/htpasswd -(c)m /data/svn/authfile ancs //创建apache认证用户
New password:
Re-type new password:
/usr/local/apache2/bin/htpasswd -D /data/svn/authfile test 删除svn用户
vim /data/svn/authz.conf //svn权限配置文件
[test:/] //单个用户
ancs = rw
[groups] //组权限设置
develop=ancs,tom
[test:/]
develop = rw
启动svn
/usr/local/svn-1.6.5/bin/svnserve -d -r /data/svn/
验证是否成功启动
netstat -tulnp | grep svn
tcp 0 0 :::3690 :::* LISTEN 2675/svnserve
客户端安装TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi
检出成功!
转载于:https://blog.51cto.com/linuxan/676924