Redhat系列:redhat9、redhat advance server、fedora、centOS
二、所需软件
Ø Apache 2.0.59(http://archive.apache.org/dist/httpd/httpd-2.0.59.tar.gz)
Ø Openssl 0.9.8e(http://www.openssl.org/source/openssl-0.9.8e.tar.gz)
Ø Subversion 1.4.3(http://subversion.tigris.org/downloads/subversion-1.4.3.tar.gz)
注:
windows下的二进制包
http://subversion.tigris.org/downloads/svn-win32-1.4.3.zip
Linux下的附加包,安装时可以不使用此包,
http://subversion.tigris.org/downloads/subversion-deps- 1.4.3.tar.gz)
三、安装过程
Ø 创建svn专用的系统帐户
# useradd svn –d /home/svn
# passwd svn (使用此命令来更改用户svn的口令)
# chown –R svn /home/svn
然后退出root用户,以svn的身份登录。
Ø 创建目录结构
[svn@]# cd /home/svn
[svn@]# mkdir pkgs
[svn@]# mkdir pkgs/open_ssl_dir
[svn@]# mkdir apache2
Ø 将下载的apache/openssl /subversion安装包放在/home/svn/pkgs目录下
Ø 创建自动编译的脚本文件/home/svn/pkgs/svn_install.sh
保存后将文件属性设为可执行[svn@]# chmod 777 svn_install.sh
然后运行该脚本文件[svn@]# ./svn_install.sh,将会自动编译
/home/svn/pkgs/svn_install.sh
#!/bin/sh
export SRC_HOME="/home/svn/pkgs"
export APACHE_VERSION="2.0.59"
export APACHE_HOME="/home/svn/apache2"
export OPEN_SSL_DIR="/home/svn/pkgs/open_ssl_dir"
export OPEN_SSL_VERSION="0.9.8e"
export SUBVERSION_VERSION="1.4.3"
echo ">> Install open_ssl"
cd ${SRC_HOME}
tar xvzf openssl-${OPEN_SSL_VERSION}.tar.gz
cd openssl-${OPEN_SSL_VERSION}
./config --prefix=${SRC_HOME} --openssldir=${OPEN_SSL_DIR}
make
make install
echo ">> Install Apache2"
cd ${SRC_HOME}
tar zxf httpd-${APACHE_VERSION}.tar.gz
cd httpd-${APACHE_VERSION}
./configure --prefix=${APACHE_HOME} --enable-suexec \
--enable-so --with-suexec-caller=bin \
--enable-ssl --with-ssl=${OPEN_SSL_DIR} --enable-cache \
--enable-ext-filter --with-z=/usr/include --enable-dav \
--with-layout=Apache --enable-headers=shared \
--enable-auth --enable-alias --enable-so --enable-proxy=shared \
--enable-proxy-http=shared --enable-rewrite=shared --enable-deflate=shared
make
make install
echo ">> Install SVN"
cd ${SRC_HOME}
tar zxf subversion-${SUBVERSION_VERSION}.tar.gz
cd subversion-${SUBVERSION_VERSION}
./configure --prefix=/home/svn/subversion-${SUBVERSION_VERSION} \
--with-zlib \
--with-apr=${APACHE_HOME} \
--with-apr-util=${APACHE_HOME} \
--with-apxs=${APACHE_HOME}/bin/apxs
make
make install
Ø 配置系统PATH
编辑/home/svn/.bashrc,在最后加入下面内容:
export SVNHOME=/home/svn
export PATH=$PATH:$SVNHOME/apache2/bin
export PATH=$PATH:$SVNHOME/subversion-1.4.3/bin
四、配置SVN Server
Ø 建立代码仓库(假设建立一个mylucysvn的仓库)
[svn@]# mkdir /home/svn/repos
[svn@]# svnadmin create --fs-type fsfs /home/svn/repos/mylucysvn
Ø 配置apache
注意:以apache方式访问时,在eclipse中建立SVN连接信息时需要使用http://xxx:xx/xxx/的方式,而不是svn://xxx:xx/xxx/
编辑/home/svn/apache2/conf/httpd.conf,找到如下相应的section,并修改。
安装过程中,64位机引起的 libexpat.so: could not read symbols: File in wrong format 问题解决办法如下:
apache:
apache在执行./configure后,相关的配置参数保存在MakeFile文件,该文件存放在 /httpd-2.0.59/srclib/apr-util
1. APRUTIL_LIBS = /usr/lib/libexpat.la 改成 /usr/lib64/libexpat.la
重新make 如果还不行,再试下如下:
1、删除安装目录下的configure文件,在我的环境中是httpd-2.0.59/configure
2、删除“httpd-2.0.59/srclib/apr-util/configure”
3、通过以下命令重建编译文件(以下命令在http-2.26/目录下运行)。
svn:
# rm -rf /usr/lib/libexpat.so
# cp /usr/lib64/libexpat.so /usr/lib/libexpat.so
安装完成后配置和测试
-------------------------------
# 2、安装完毕 编辑 apache 支持 svn
# 新建库 会自动创建 /home/svn 目录
/usr/local/svn/bin/svnadmin create /home/svn
# svn目录权限给 apache 用户
chown -R daemon.daemon /home/svn
vi /usr/local/apache2/conf/httpd.conf
/LoadModule dav_svn_module
i<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "Welcome to SVN"
AuthUserFile /home/svn/conf/passwd
AuthzSVNAccessFile /home/svn/conf/authz
Require valid-user
</Location>
- -
# 3、配置SVN
# 添加用户 (切记 第一次使用 参数 -c 之后如果继续使用-c则账户信息将全部丢失)
/usr/local/apache2/bin/htpasswd -c /home/svn/conf/passwd sheng01
/usr/local/apache2/bin/htpasswd /home/svn/conf/passwd sheng02
/usr/local/apache2/bin/htpasswd /home/svn/conf/passwd sheng03
/usr/local/apache2/bin/apachectl restart
# 配置用户权限
vi /home/svn/conf/authz
[groups]
group_admin = sheng01
group_all = sheng01,sheng02,sheng03
[/]
@group_admin = rw
或
sheng01 = rw
[/public]
@group_all = rw
或
sheng01 = rw
sheng02 = rw
sheng03 = rw
[/data/sheng01]
sheng01 = rw
[/data/sheng02]
sheng02 = rw
[/data/sheng03]
sheng03 = rw
# 4、测试 svn
http://ip/svn = /
http://ip/svn/public = /public
http://ip/svn/data/sheng01 = /data/sheng01
http://ip/svn 测试
rm -rf /usr/bin/svnadmin
rm -rf /usr/sbin/svnadmin
rm -rf /usr/bin/svnlook
rm -rf /usr/sbin/svnlook
ln -s /usr/local/svn/bin/svnadmin /usr/bin/svnadmin
ln -s /usr/local/svn/bin/svnadmin /usr/sbin/svnadmin
ln -s /usr/local/svn/bin/svnlook /usr/bin/svnlook
ln -s /usr/local/svn/bin/svnlook /usr/sbin/svnlook
二、所需软件
Ø Apache 2.0.59(http://archive.apache.org/dist/httpd/httpd-2.0.59.tar.gz)
Ø Openssl 0.9.8e(http://www.openssl.org/source/openssl-0.9.8e.tar.gz)
Ø Subversion 1.4.3(http://subversion.tigris.org/downloads/subversion-1.4.3.tar.gz)
注:
windows下的二进制包
http://subversion.tigris.org/downloads/svn-win32-1.4.3.zip
Linux下的附加包,安装时可以不使用此包,
http://subversion.tigris.org/downloads/subversion-deps- 1.4.3.tar.gz)
三、安装过程
Ø 创建svn专用的系统帐户
# useradd svn –d /home/svn
# passwd svn (使用此命令来更改用户svn的口令)
# chown –R svn /home/svn
然后退出root用户,以svn的身份登录。
Ø 创建目录结构
[svn@]# cd /home/svn
[svn@]# mkdir pkgs
[svn@]# mkdir pkgs/open_ssl_dir
[svn@]# mkdir apache2
Ø 将下载的apache/openssl /subversion安装包放在/home/svn/pkgs目录下
Ø 创建自动编译的脚本文件/home/svn/pkgs/svn_install.sh
保存后将文件属性设为可执行[svn@]# chmod 777 svn_install.sh
然后运行该脚本文件[svn@]# ./svn_install.sh,将会自动编译
/home/svn/pkgs/svn_install.sh
#!/bin/sh
export SRC_HOME="/home/svn/pkgs"
export APACHE_VERSION="2.0.59"
export APACHE_HOME="/home/svn/apache2"
export OPEN_SSL_DIR="/home/svn/pkgs/open_ssl_dir"
export OPEN_SSL_VERSION="0.9.8e"
export SUBVERSION_VERSION="1.4.3"
echo ">> Install open_ssl"
cd ${SRC_HOME}
tar xvzf openssl-${OPEN_SSL_VERSION}.tar.gz
cd openssl-${OPEN_SSL_VERSION}
./config --prefix=${SRC_HOME} --openssldir=${OPEN_SSL_DIR}
make
make install
echo ">> Install Apache2"
cd ${SRC_HOME}
tar zxf httpd-${APACHE_VERSION}.tar.gz
cd httpd-${APACHE_VERSION}
./configure --prefix=${APACHE_HOME} --enable-suexec \
--enable-so --with-suexec-caller=bin \
--enable-ssl --with-ssl=${OPEN_SSL_DIR} --enable-cache \
--enable-ext-filter --with-z=/usr/include --enable-dav \
--with-layout=Apache --enable-headers=shared \
--enable-auth --enable-alias --enable-so --enable-proxy=shared \
--enable-proxy-http=shared --enable-rewrite=shared --enable-deflate=shared
make
make install
echo ">> Install SVN"
cd ${SRC_HOME}
tar zxf subversion-${SUBVERSION_VERSION}.tar.gz
cd subversion-${SUBVERSION_VERSION}
./configure --prefix=/home/svn/subversion-${SUBVERSION_VERSION} \
--with-zlib \
--with-apr=${APACHE_HOME} \
--with-apr-util=${APACHE_HOME} \
--with-apxs=${APACHE_HOME}/bin/apxs
make
make install
Ø 配置系统PATH
编辑/home/svn/.bashrc,在最后加入下面内容:
export SVNHOME=/home/svn
export PATH=$PATH:$SVNHOME/apache2/bin
export PATH=$PATH:$SVNHOME/subversion-1.4.3/bin
四、配置SVN Server
Ø 建立代码仓库(假设建立一个mylucysvn的仓库)
[svn@]# mkdir /home/svn/repos
[svn@]# svnadmin create --fs-type fsfs /home/svn/repos/mylucysvn
Ø 配置apache
注意:以apache方式访问时,在eclipse中建立SVN连接信息时需要使用http://xxx:xx/xxx/的方式,而不是svn://xxx:xx/xxx/
编辑/home/svn/apache2/conf/httpd.conf,找到如下相应的section,并修改。
安装过程中,64位机引起的 libexpat.so: could not read symbols: File in wrong format 问题解决办法如下:
apache:
apache在执行./configure后,相关的配置参数保存在MakeFile文件,该文件存放在 /httpd-2.0.59/srclib/apr-util
1. APRUTIL_LIBS = /usr/lib/libexpat.la 改成 /usr/lib64/libexpat.la
重新make 如果还不行,再试下如下:
1、删除安装目录下的configure文件,在我的环境中是httpd-2.0.59/configure
2、删除“httpd-2.0.59/srclib/apr-util/configure”
3、通过以下命令重建编译文件(以下命令在http-2.26/目录下运行)。
svn:
# rm -rf /usr/lib/libexpat.so
# cp /usr/lib64/libexpat.so /usr/lib/libexpat.so
安装完成后配置和测试
-------------------------------
# 2、安装完毕 编辑 apache 支持 svn
# 新建库 会自动创建 /home/svn 目录
/usr/local/svn/bin/svnadmin create /home/svn
# svn目录权限给 apache 用户
chown -R daemon.daemon /home/svn
vi /usr/local/apache2/conf/httpd.conf
/LoadModule dav_svn_module
i<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "Welcome to SVN"
AuthUserFile /home/svn/conf/passwd
AuthzSVNAccessFile /home/svn/conf/authz
Require valid-user
</Location>
- -
# 3、配置SVN
# 添加用户 (切记 第一次使用 参数 -c 之后如果继续使用-c则账户信息将全部丢失)
/usr/local/apache2/bin/htpasswd -c /home/svn/conf/passwd sheng01
/usr/local/apache2/bin/htpasswd /home/svn/conf/passwd sheng02
/usr/local/apache2/bin/htpasswd /home/svn/conf/passwd sheng03
/usr/local/apache2/bin/apachectl restart
# 配置用户权限
vi /home/svn/conf/authz
[groups]
group_admin = sheng01
group_all = sheng01,sheng02,sheng03
[/]
@group_admin = rw
或
sheng01 = rw
[/public]
@group_all = rw
或
sheng01 = rw
sheng02 = rw
sheng03 = rw
[/data/sheng01]
sheng01 = rw
[/data/sheng02]
sheng02 = rw
[/data/sheng03]
sheng03 = rw
# 4、测试 svn
http://ip/svn = /
http://ip/svn/public = /public
http://ip/svn/data/sheng01 = /data/sheng01
http://ip/svn 测试
rm -rf /usr/bin/svnadmin
rm -rf /usr/sbin/svnadmin
rm -rf /usr/bin/svnlook
rm -rf /usr/sbin/svnlook
ln -s /usr/local/svn/bin/svnadmin /usr/bin/svnadmin
ln -s /usr/local/svn/bin/svnadmin /usr/sbin/svnadmin
ln -s /usr/local/svn/bin/svnlook /usr/bin/svnlook
ln -s /usr/local/svn/bin/svnlook /usr/sbin/svnlook