2015-01-16 00:00:00
来 源
中存储网
Ubuntu
首先介绍下这三样东西 Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统

首先介绍下这三样东西

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@linux.com.pub置于公钥目录下

[group linux]
writable = linux
members = victor@linux.com recwert@linux.cc

将修改commit

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

使用初始化的客户机victor@linux.com提交linux仓库,代码如下

mkdir linux
cd webca
git init
touch README.md
git add README.md
git commit -m "init linux"
git remote add origin git@主机IP:linux.git
git push origin master

push后服务器就会多出一个linux.git目录/home/git/repositories/linux.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 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,方法自行查找!

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。