codecube

简介

codecube是图形化的svn管理平台。这里你可以了解codecube是如何安装并配置的。

软件列表

操作系统 CENTOS 5.5codecube

  • mysql-5.5.17
  • httpd-2.2.22
  • subserver-1.6.16
  • php-5.3.10
  • nginx-1.0.8
  • cc(codecube项目)

[点击取得codecube] 解压/data/tmp目录,方便管理

创建相关路径

  • web目录 /data/www
  • svn目录 /data/svn
  • 源码目录 /data/tmp

安装编译所需的库

yum -y install yum-utils
yum -y install gcc gcc-c++ ncurses ncurses-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel pcre-devel expat-devel cmake bison

groupadd mysql
useradd -g mysql mysql

groupadd www
useradd -g www www
mkdir -pv /data/www
chown www:www -R /data/www

groupadd svn
useradd -g svn svn
mkdir -pv /data/svn
chown svn:svn -R /data/svn

mkdir -pv /data/tmp

mysql

wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
make
make install
cd ..

wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz
tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make
make install
cd ..

tar xvf /data/tmp/codecube/mysql-5.5.17.tar.gz
cd mysql-5.5.17/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk,gb2312 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_USER=mysql
make
make install

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

cd support-files/
cp my-large.cnf /etc/my.cnf
cp mysql.server /etc/rc.d/init.d/mysqld
cd ../../

chown -R mysql:mysql /usr/local/mysql
chmod +w /usr/local/mysql
chmod +x /etc/init.d/mysqld

#service mysqld start 失败的话运行下面命令
#/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

设置开机启动

chkconfig --add mysqld
chkconfig mysqld on

apache

tar xvf /data/tmp/codecube/httpd-2.2.22.tar.gz
cd httpd-2.2.22/
cp -rf /data/tmp/codecube/cc/app/codecube/scripts/apache2_authn_allow .
./configure --prefix=/usr/local/apache2 -enable-dav -enable-so -enable-maintainer-mode -enable-rewrite --with-modules=apache2_authn_allow/
make
make install
# 安装模块
cd apache2_authn_allow
make
make install
cd ../../

编辑httpd.conf

vim /usr/local/apache2/conf/httpd.conf
在里面添加
LoadModule authn_allow_module modules/mod_authn_allow.so
找到下面的内容
User daemon
Group daemon
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
改为
User www
Group www
DocumentRoot "/data/svn"
<Directory "/data/svn">
站点认证配置
cp -f /data/tmp/codecube/cc/app/codecube/scripts/apache.conf /usr/local/apache2/conf/
cat >> httpd.conf <<"EOF"
ServerName localhost
Include conf/apache.conf
EOF
服务配置
vim  /usr/local/apache2/bin/apachectl
在第二行添加两行
# chkconfig: 2345 85 15
# description: Activates/Deactivates Apache Web Server
复制脚本文件
cp -f /usr/local/apache2/bin/apachectl /etc/init.d/

设置开机启动

chkconfig --add httpd
chkconfig httpd on

subversion

版本必须是1.6.16。把mod_authz_svn替换掉。

tar xvf /data/tmp/codecube/subversion-1.6.16.tar.bz2
cd subversion-1.6.16.tar.bz2

wget http://www.webdav.org/neon/neon-0.29.6.tar.gz
tar xvzf neon-0.29.6.tar.gz
mv neon-0.29.6 neon

cp -rf /data/tmp/codecube/cc/app/codecube/scripts/subversion_authz_svn/* /data/tmp/subversion-1.6.16/subversion/mod_authz_svn
./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs
make
make install
cd ../../
安装完成后httpd.conf文件会自动增加模块
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

如果前面都编译正确会显示一下三个so文件

ls /usr/local/apache2/modules/
    httpd.exp mod_authn_allow.so mod_authz_svn.so mod_dav_svn.so

php

安装PHP参照lnmp服务器,php版本请选择装最新的php5.3.10

安装php的svn扩展

wget http://pear.php.net/go-pear.phar
php go-pear.phar

wget http://pecl.php.net/get/svn-1.0.1.tgz
tar xvf svn-1.0.1.tgz
cd svn-1.0.1
phpize
./configure --with-svn=/usr/local/svn --with-libdir=/usr/local/svn/lib
make LDFLAGS=-L/usr/local/svn/lib
make install
cd ../
编辑php.ini
cat >> /usr/local/php/etc/php.ini <<"EOF"
extenstion=svn.so
EOF
设置开机启动
chkconfig --add php-fpm
chkconfig php-fpm on

nginx

配置参照lnmp服务器

编译nginx的时候注意:

tar xvf /data/tmp/codecube/nginx-1.0.8.tar.gz
cd nginx-1.0.8
cp -rf /data/tmp/codecube/cc/app/codecube/scripts/nginx_auth_mysql .
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --add-module=nginx_auth_mysql
make
make install
cd ../

codecube站点配置

cp -f /data/tmp/codecube/cc/app/codecube/scripts/nginx.conf /usr/local/nginx/conf/site/codecube.conf

nginx启动脚本

cat > /etc/init.d/nginx <<"EOF"
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /usr/local/nginx/conf/nginx.conf
# pidfile:     /usr/local/nginx/logs/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

lockfile=/var/lock/subsys/nginx

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}

force_reload() {
    restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac
EOF

设置开机启动

chkconfig --add nginx
chkconfig nginx on

安装codecube

  • 创建数据库
    mysql -uroot -p
    mysql> CREATE DATABSE codecube
    
  • 安装app
    cp -rf /data/tmp/codecube/cc /data/www
    /data/www/cc/app/base/cmd install codecube
    
  • svn hook
    cd /data/svn
    tar xvf /data/tmp/codecube/hook-runner.tar
    

访问站点

http://192.168.51.118:667
如果访问不了检查下iptables是否为开启状态,关闭他。

內容目录

上一个主题

codecube

下一个主题

review board

快速搜索

输入相关的模块,术语,类或者函数名称进行搜索