首先介绍下这三样东西
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,方法自行查找!