在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
如果一切正常,应提示您输入用户名/密码。