使用SVN在cPanel / CentOS 5.6服务器上安装Redmine

在cPanel / CentOS 5.6服务器上安装RedNine与SVN

本教程介绍如何在cPanel / CentOS 5.6服务器上安装带有SVN的Redmine 。 Redmine是一个灵活的项目管理Web应用程序。 使用Ruby on Rails框架编写,它是跨平台和跨数据库。

所有步骤都以“root”执行。

安装前检查是否安装了ImageMagick:

# /scripts/checkimagemagick
ok

如果没有安装它:

# /scripts/installimagemagick

这将需要几分钟,所以准备一杯咖啡。 ;)

在安装了ImageMagick之后,我们先从mod_dav开始。

检查是否启用了mod_dav:

# httpd -M | grep dav
dav_module (static)
dav_fs_module (static)

如果没有显示,则使用以下命令重新编译Apache:

# /scripts/easyapache
  • 简单的CLI将被加载:
  • 在“按钮”之间移动。
  • 加载默认 - “以前保存的配置”
  • 根据个人资料开始自定义。
  • 选择最新的Apache版本(例如:2.2.22)。
  • 选择最新稳定的PHP版本(例如:5.3.15)。
  • 用“Tab”键移动到“穷举选项列表”。
  • 在“Apache内置模块”下标记Dav和DAVFs
  • 用向下箭头向下移动到“首选项”。
  • 标记“归档备份(仅限此会话)” - 显然要创建一个备份工作的Apache :)
  • “下一步”>“保存并构建”>确认所有内容,如果被询问...并且构建正在运行。

现在你可以休息20-30分钟 - 喝以前准备的咖啡:D

成功完成检查后,如果dav现在启用:

# httpd -M | grep dav
dav_module (static)
dav_fs_module (static)

接下来我们需要安装/启用subversion。

# cd /usr/local/src/

在http://pkgs.repoforge.org/rpmforge-release/根据您系统的体系结构( uname -p )检查rpmforge repo rpm的最新软件包,并下载并安装:

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -K rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -i rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

从rpmforge安装最新的subversion:

# yum --enablerepo=rpmforge install subversion

获取刚刚安装的相同Subversion版本的源(例如1.6.11):

# svn --version
svn, version 1.6.11 (r934486)
compiled May 14 2012, 05:36:18
# yum list subversion
Installed Packages
subversion.i386 1.6.11-10.el5_8 installed
subversion.x86_64 1.6.11-10.el5_8 installed
# wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.bz2

检查http://www.sqlite.org/download.html上的最新SQLite Amalgamation软件包,并下载它(例如:3.7.13):

# wget http://www.sqlite.org/sqlite-amalgamation-3071300.zip

解包,准备配置:

# tar xjf subversion-1.6.11.tar.bz2
# unzip sqlite-amalgamation-3071300.zip
# mkdir -p subversion-1.6.11/sqlite-amalgamation/
# cp sqlite-amalgamation-3071300/sqlite3.c subversion-1.6.11/sqlite-amalgamation/sqlite3.c
# ls -lad /usr/local/apache/bin/apxs /home/cpeasyapache/src/httpd*/srclib/apr /home/cpeasyapache/src/httpd*/srclib/apr-util
drwxr-xr-x 26 root root 4096 Aug 11 05:36 /home/cpeasyapache/src/httpd-2.2.22/srclib/apr/
drwxr-xr-x 20 root root 4096 Aug 11 05:37 /home/cpeasyapache/src/httpd-2.2.22/srclib/apr-util/
-rwxr-xr-x 1 root root 22652 Aug 11 05:36 /usr/local/apache/bin/apxs*

^^^^^^^^^^^^^^
注意下一步需要路径。

配置,构建和安装subversion:

# cd subversion-1.6.11
# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/home/cpeasyapache/src/httpd-2.2.22/srclib/apr --with-apr-util=/home/cpeasyapache/src/httpd-2.2.22/srclib/apr-util
# make clean
# make && make install

再次 - 休息一下

在subversion成功安装后,我们来配置它。

为EA3配置文件创建包含文件夹:

# mkdir -p /usr/local/apache/conf/userdata/std/2/[USERNAME]/[DOMAIN]
# vi /usr/local/apache/conf/userdata/std/2/[USERNAME]/[DOMAIN]/svn.conf

添加以下行:

<IfModule mod_dav_svn.c>
   <Location /svn>
     DAV svn
     SVNPath /home/[USERNAME]/svn
     AuthType Basic
     AuthName "Subversion"
     AuthUserFile /home/[USERNAME]/.svn.htpasswd
     Require valid-user
   </Location>
</IfModule>

查找模块的位置:

# updatedb
# locate mod_dav_svn.so mod_authz_svn.so

/usr/local/apache/modules/mod_authz_svn.so
/usr/local/apache/modules/mod_dav_svn.so
^^^^^^^^^^^^^^

注意下一步需要路径。

# vi /etc/httpd/conf/includes/pre_main_global.conf

添加以下行:

   LoadModule dav_svn_module /usr/local/apache/modules/mod_dav_svn.so
   LoadModule authz_svn_module /usr/local/apache/modules/mod_authz_svn.so

创建svn存储库

# cd /home/[USERNAME]
# svnadmin create svn
# chown -R [USERNAME]:nobody svn

检查是否存在htpasswd:

# locate htpasswd
.
.
/usr/local/apache/bin/htpasswd
.
.
# /usr/local/apache/bin/htpasswd -cm /home/[USERNAME]/.svn.htpasswd [USERNAME_FOR_SVN]

系统将提示您设置新密码。

最后做:

# ln -s /home/[USERNAME]/svn /svn

设置颠覆是完成的,现在让它永久化并进行一些调整...

创建启动脚本:

# vi /etc/init.d/subversion

插入以下行:

#!/bin/bash
   #
   #   /etc/rc.d/init.d/subversion
   #
   # Starts the Subversion Daemon
   #
   # chkconfig: 345 90 10
   # description: Subversion Daemon 
   # processname: svnserve

source /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

# To pass additional options (for instace, -r root of directory to server) to
   # the svnserve binary at startup, set OPTIONS here.
   #
   OPTIONS="-r /svn"
 

RETVAL=0
   prog="svnserve"
   desc="Subversion Daemon"

start() {
   echo -n $"Starting $desc ($prog): "
   daemon $prog -d $OPTIONS
   RETVAL=$?
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
   echo
   }

stop() {
   echo -n $"Shutting down $desc ($prog): "
   killproc $prog
   RETVAL=$?
   [ $RETVAL -eq 0 ] && success || failure
   echo
   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
   return $RETVAL
   }

case "$1" in
   start)
   start
   ;;
   stop)
   stop
   ;;
   restart)
   stop
   start
   RETVAL=$?
   ;;
   condrestart)
   [ -e /var/lock/subsys/$prog ] && restart
   RETVAL=$?
   ;;
   *)
   echo $"Usage: $0 {start|stop|restart|condrestart}"
   RETVAL=1
   esac

exit $RETVAL

现在检查启动脚本是否正常工作:

# service subversion status
Usage: /etc/init.d/subversion {start|stop|restart|condrestart}

大! :)
使其能够在服务器启动时启动:

# chkconfig subversion on
# chkconfig --list subversion
subversion 0:off 1:off 2:on 3:on 4:on 5:on 6:off

现在检查是否全部配置正确并应用更改:

# /scripts/verify_vhost_includes
Testing /usr/local/apache/conf/userdata/std/2/[USERNAME]/[DOMAIN]/svn.conf...ok
^^^^^^^^^^^^^^

不要继续,如果有错误! 检查并仔细检查错误在哪里!

# /scripts/ensure_vhost_includes --user=[USERNAME]
info [safeapacherestart] Forced restart elapsed seconds: 2
Apache successfully restarted.
# /scripts/rebuildhttpdconf
Built /usr/local/apache/conf/httpd.conf OK
# /scripts/restartsrv_httpd
# service subversion restart

最后检查:

请访问www.yoursite.com/svn

如果一切正常,应提示您输入用户名/密码。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏