AuthzSVNAccessFile /data/svn/authz.cong
Require valid-user
多个版本库:
DAV svn
SVNListParentPath on
SVNParentPath /data/svn/svnroot
AuthType Basic
AuthName " Subversion repository "
AuthUserFile /data/svn/passwd.conf
AuthzSVNAccessFile /data/svn/authz.conf
Require valid-user
注意:
(1) 单个版本库就是SVNPath /data/svn/svnroot/www跟./svnadmin create
/data/svn/svnroot/www目录要一样【这个是对单个版本库】,多个版本库只需要svn的主目录即可,这里SVNParentPath
/data/svn/svnroot
(2) AuthzSVNAccessFile是权限控制文件,单个版本库不需要,多个版本库要设置不同版本库的权限
(3) 目录svnroot目录的权限设置成750
注:下面的六、七是单个版本库测试的效果,多个版本库类似!
六. 验证安装
打开浏览器,输入地址为http://服务器ip/svn
出现登陆窗口,输入用户名、密码
如果可以正常打开如上页面则说明安装配置正常,可以正常使用了,在页面上可以看到由于目前资料库中没有内容,因此看到的内容为空。
七.导入数据到资料库
cd /usr/local/subversion/bin
./svn import /要导入的目录/test file:///data/svn/svnroot/test
-m “说明文字任意写”
重新打开浏览器,输入地址http://服务器ip/svn,输入用户名密码即可
八.版本库服务器和web服务器的同步
为了可以在修改完代码提交到SVN服务器后,WEB服务器直接同步.需要配置SVN的钩子,打开版本库的hooks目录,可以看到有一个post-
commit.tmpl文件,这是一个模板文件,复制一份放在此目录下,命名为post-commit,里面原有的代码全部注释掉.这里可以执行shell
命令,每次commit完成后都会调用此文件.
1.单版本库跟服务器目录的同步:
进入到版本库下的hooks下去
subversion/bin/svn checkout file:///版本库的目录
/本地要取出的目录(这个目录要另外新建,保持和版本库同步更新)
cd /data/svn/svnroot/www/hooks
vi post-commit
#!/bin/sh
export LANG=zh_CN.GBK #输出编码设置 或者设置为export
LANG=en_US.UTF-8
SVN=/usr/local/subversion/bin/svn
WEB=/data/www #web目录要更新同步的目录
$SVN update --username apache --password 123456 $WEB #这里面的username跟password一定要有读写的权限
chmod 757 post-commit #给它可执行的权利
2.多版本跟服务器目录的同步
进入到版本库下的hooks下去
subversion/bin/svn checkout file:///版本库的目录
/本地要取出的目录(这个目录要另外新建,保持和版本库同步更新,即你的web站点的目录)
cd /data/svn/svnroot/www/hooks
vi post-commit
#!/bin/sh
export LANG=zh_CN.GBK #输出编码设置export LANG=en_US.UTF-8
SVN=/usr/local/subversion/bin/svn
$SVN update --username 用户名
--password 密码
/checkout同步目录(即你的web站点目录) #里面的username跟password一定要有读写的权限(修改权限775)
chmod 757 post-commit#给它可执行的权利
注意:(红色字体一定要注意)
1.svn checkout file:///版本库的目录 /本地要取出的目录
——>这步一定要做,否则不会同步修改
2.目录位置一定要对应好了,要不出现问题累死……
问题1:
You don't have permission to access /svn/ on this server.
主要原因是:/home/svnroot/repository/dev目录对于你的svn用户(如:svnroot)没有权限,可能是因为你用svnadmin
create时是以root运行的,所以,mod_dav_svn就没有相应权限等
解决办法:
chown -R svn用户 /home/svnroot/repository/dev
chgrp -R svn用户所属用户组 /home/svnroot/repository/dev
chmod -R 775 /home/svnroot/repository/dev
因为要使mod_dav_svn模块生效,必须重启apache
问题2:客户端提交时出现attempt to write a
readonly database的问题
原因是你的版本库中的db目录,apache没有写的权限,修改db目录权限apache可写即可
二、Mysql安装
MySQL-server-community-5.1.51-1.rhel5.i386.rpm 安装服务端
MySQL-client-community-5.1.51-1.rhel5.i386.rpm 安装客户端
MySQL-devel-community-5.1.51-1.rhel5.i386.rpm 用于php的mysql安装
rpm –ivh MySQL-server-community-5.1.51-1.rhel5.i386.rpm
rpm –ivh MySQL-client-community-5.1.51-1.rhel5.i386.rpm
rpm –ivh MySQL-devel-community-5.1.51-1.rhel5.i386.rpm
三、 PHP准备的tar包安装
安装php之前要准备:
curl-7.15.0.tar.gz
freetype-2.3.5.tar.gz
gd-2.0.35.tar.gz
gettext-0.16.1.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.31.tar.bz2
libxml2-2.6.31.tar.gz
t1lib-5.0.0.tar.gz
tiff-3.8.2.tar.gz
zlib-1.2.3.tar.gz
3.1 安装curl-7.15.0.tar.gz
#tar zxvf curl-7.15.0.tar.gz
#cd curl-7.15.0
#mkdir /usr/local/crul
#./configure --prefix=/usr/local/curl
#make clean
#make
#make install
3.2 jpegsrc.v6b.tar.gz
#mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
#./configure --prefix=/usr/local/jpeg --enable-shared
--enable-static
#make clean
#make
#make install
3.3 libxml2-2.6.31.tar.gz
#tar zxvf libxml2-2.6.31.tar.gz
#cd libxml2
#mkdir usr/local/libxml2
#./configure --prefix=/usr/local/libxml2
#make clean
#make(时间可能稍长些)
#make install
#cp xml2-config /usr/bin
3.4 PDFlib-7.0.3-Linux-php.tar.gz
#tar xvf PDFlib-7.0.3-Linux-php.tar.gz
#cd pdflib
#cp bind/php5/php520mt/libpdf-php.so /usr/local/lib/
(上面的php520mt目录的同级目录中有php503,php510,php520目录,不知道是不是版本的区别)
3.5 t1lib-5.0.0.tar.gz
#tar zxvf t1lib-5.0.0.tar.gz
#cd t1lib
#mkdir /usr/local/t1lib
#./configure --prefix=/usr/local/t1lib
#make without-doc
#make install
3.6 freetype-2.3.5.tar.gz
#tar zxvf freetype-2.3.5.tar.gz
#cd freetype
# mkdir /usr/local/freetype
#./configure --prefix=/usr/local/freetype
#make clean
#make
#make install
3.7 zlib-1.2.3.tar.gz
#tar zxvf zlib-1.2.3.tar.gz
#cd zlib-1.2.3
#./configure --shared
#make clean
#make
#make install
3.8 libpng-1.2.26.tar.gz
#tar zxvf libpng-1.2.26.tar.gz
#cd libpng
#cp scripts/makefile.linux ./makefile
#mkdir /usr/local/libpng
#./configure --prefix=/usr/local/libpng