zoukankan      html  css  js  c++  java
  • Ubuntu 12.04 64位安装Redmine+GIT+ReviewBoard

    首先介绍下这三样东西

    Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。

    ReviewBoard作为一个开源的代码复查工具,已经受到越来越多的开发人员喜爱。

    GIT是分布式版本控制工具。

    以上三个据说是被称为团队协作开发中的三件套

    废话不多少,进入配置步骤,整个配置过程中遇到了很多问题,由于时间跨度有点大,中间遇到的问题可能会遗漏。

    第一步:从git开始配置,由于它的配置最简单,这里直接复制前一篇博客的配置

    安装python setuptools

    sudo apt-get install python-setuptools
    下载gitosis
    git clone https://github.com/tv42/gitosis.git
    进入gitosis目录

    cd gitosis
    安装

    python setup.py install

    创建git账号

    sudo useradd -c 'git version manage' -m -d /home/git -s bin/bash  git

    将客户端生产的秘钥上传到服务器目录/home/git/id_rsa.pub,生成方法见生成秘钥

    初始化git

    sudo -H -u git gitosis-init < /home/git/id_rsa.pub
    
    
    显示如下信息则成功
    #Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
    #Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
    修改post-update权限
    sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
    客户端克隆仓库进行配置

    git clone git@主机IP:gitosis-admin.git
    克隆后keydir目录下存放的是公钥,gitosis.conf是配置文件

    打开配置文件,增加下面的内容,并将另一台机器的公钥recwert@webca.cc.pub置于公钥目录下

    [group webca]
    writable = webca
    members = victor@webca.cc recwert@webca.cc

    将修改commit

    git add .
    git commit -m 'add some key'
    git push

    使用初始化的客户机victor@webca.cc提交webca仓库,代码如下
    mkdir webca   
    cd webca  
    git init  
    touch README.md 
    git add README.md 
    git commit -m "init webca"  
    git remote add origin git@主机IP:webca.git  
    git push origin master 

    push后服务器就会多出一个webca.git目录/home/git/repositories/webca.git

    修改该文件夹权限为777,因为后面装的redmine需要这个文件夹是777的权限

    第二步,安装Redmine

    安装依赖软件

    sudo apt-get install apache2 libapache2-mod-passenger mysql-server redmine redmine-mysql
    安装过程中会进行配置,按照提示一步一步配置下去即可,涉及到的配置是mysql的账号密码,redmine的账号密码等信息,安装完后的redmine在/var/www/redmine目录

    配置apache

    /etc/apache2/conf.d 目录下,建立文件:

    sudo vi redmine.conf
    RailsEnv production
    RailsBaseURI /redmine
    建立链接
    sudo ln -s /usr/share/redmine/public /var/www/redmine
    重启apache

    sudo service apache2 restart
    访问redmine

    http://主机IP/redmine

    账号admin,密码admin

    这样差不多redmine就安装完了,如果集成git见前一篇博客

    第三步,安装reveiewboard,这一步是如此的艰难。。。耗费了太多时间,原因是配置文件的问题,该过程直接参考官方地址就好了

    redmine官方配置方法

    安装python setuptools,前面安装过了其实。。

    apt-get install python-setuptools
    升级,这一步可能不用,而且这一步做了之后后面会出一个小问题,就是easy_install系统中会存在两个,导致reviewboard不能安装,解决方法见后面

    easy_install -U setuptools
    安装python-dev

    apt-get install python-dev
    安装memcached

    apt-get install memcached
    安装python_memcached

    easy_install python-memcached
    这一步可能会报一个这样的错误 entry point ('console_scripts','easy_install') not found 

    原因是系统中可能存在两个easy_install,使用下面命令查看

    which -a easy_install
    那么我们使用其中的一个就好了,即带上全路径,后面所有用到的easy_install都要带上路径

    /usr/bin/easy_install python-memcached
    安装patch
    apt-get install patch

    安装reviewboard

    /usr/bin/easy_install ReviewBoard
    这一步可能会出错。。。原因嘛,你懂的,需要从google code上下东西。。然后的然后,存在一面巨大的墙。。解决办法么,最简单的就是修改hosts,github上搜索google hosts即可找到解决方法

    安装python-mysql

    /usr/bin/easy_install mysql-python
    这一步可能会报错,内容如下

    sh: mysql_config: not found
    Traceback (most recent call last):
      File "setup.py", line 15, in <module>
        metadata, options = get_config()
      File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    解决方法见下面这条命令

    sudo apt-get install libmysqlclient-dev
    安装cvs等等杂七杂八的东西

    apt-get install cvs
    apt-get install git-core
    /usr/bin/easy_install mercurial
    /usr/bin/easy_install P4PythonInstaller
    apt-get install subversion python-svn
    然后开始创建站点,在这之前需要修改一些配置

    修改mysql编码,文件在/etc/mysql/my.cnf,编辑它加入下面的内容

    [client]
    default-character-set=utf8
    
    [mysqld]
    character-set-server=utf8
    创建数据库和数据库用户

    mysql -u root -p
    mysql> CREATE DATABASE reviewboard CHARACTER SET utf8;
    mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
    mysql> GRANT ALL PRIVILEGES ON reviewboard.* to 'myuser'@'localhost';

    安装站点

    rb-site install /var/www/reviewboard
    下面是配置过程中的一些选项

    尤其要注意Root Path不能使用默认的,不然apache会傻逼掉

    - Domain Name: 主机IP
    - Root Path [/]: /reviewboard/	这个一定不要使用默认值,具体原因见它上面的提示,这里想不起来了,这个装了这么久没装上有一部分原因是这个导致的
    - Media URL [media/]: media/	默认即可
    - Database Type: mysql
    - Database Name [reviewboard]: reviewboard (就是上面建表时候的表名)
    - Database Server [localhost]: 默认即可
    - Database Username: reviewboard	你创建的数据库用户名
    - Database Password: reviewboard	你创建的数据库用户名密码
    - Cache Type: memcached		默认
    - Memcache Server [localhost:11211/]: localhost:11211/ 默认
    - Web Server: apache
    - Python Loader: wsgi
    - Username [admin]: admin	默认
    - Password: admin(这个密码随便设,但也要记住,后面页面登录的时候需要用到)
    - E-Mail Address: yours@email.com.cn
    修改权限

    chown -R www-data /var/www/reviewboard/htdocs/media/uploaded
    chown -R www-data /var/www/reviewboard/data
    拷贝文件

    cd /etc/apache2/sites-available
    cp /var/www/reviewboard/conf/apache-wsgi.conf /etc/apache2/conf.d/
    进入/etc/apache2/conf.d/目录,编辑apache-wsgi.conf文件

    将第一行<VirtualHost *:80>注释掉,最后一行</VirtualHost>注释掉,这一步及其重要,否则其他目录将无法访问到,只能访问到reviewboard
    重启apache

    sudo service apache2 restart

    到这里为止,访问http://主机IP/reviewboard如果出现主页,那么你成功了一半,再访问你建在apache上的其他站点redmine,如果正常访问,那么你成功了

    最后,多余的一步,建个phpmyadmin在上面

    安装php

    sudo apt-get install php5 libapache2-mod-php5
    安装phpmyadmin

    sudo apt-getinstall phpmyadmin
    建立链接

    sudo ln -s /usr/share/phpmyadmin /var/www
    访问http://主机IP/phpmyadmin看能否正常访问,可能会提示缺少什么东西

    比如,但缺少的不一定是下面这个文件,总之解决方法跟下面的类似

    错误提示: 缺少 mcrypt 扩展,请检查 php 配置  
    进入 /etc/php5/apache2   修改其下的php.ini(eg:sudo vim php.ini),找到如下字段并添加下面的extension=php_mcrypt.so
    ;;;;;;;;;;;;;;;;;;;;;;
    ; Dynamic Extensions ;
    ;;;;;;;;;;;;;;;;;;;;;;
    ;
    extension=php_mcrypt.so


    
    重启apache
    

    sudo service apache2 restart
    置于reviewboard怎么集成git,方法自行查找!


  • 相关阅读:
    java笔记 chapter3 对象,抽象,package,import,权限修饰符,属性,方法,构造方法
    javass 视频笔记三 switch语句 for循环,while循环,do-while循环,break和continue
    java笔记 chapter1 java是什么,能干什么,有什么,特点,开发环境
    在用SSH框架中的碰见的一些问题
    这几天写MFC时候碰到的一些问题!
    2_1.8_点击按钮__改变背景颜色
    1_1.7_hello_android
    phpstudy客户端的使用
    navicat
    iptables防火墙
  • 原文地址:https://www.cnblogs.com/lizhangqu/p/4234550.html
Copyright © 2011-2022 走看看