Let's start by introducing these three things.
Redmine is a web-based project management software developed with Ruby, a cross-platform project management system developed with the ROR framework, which is said to originate from the Ror version of Basecamp, supports a variety of databases, and has many of its own unique features, such as providing wikis, News, etc., can also integrate other version management systems and bug tracking systems, such as perforce, SVN, CVS, TD, and so on. This Web-based project management system organizes members, tasks (issues), documents, discussions, and various forms of resources together in the form of "project", where people participate in updating tasks, documents, and so on to drive the progress of the project. Meanwhile, the system uses time clues and various dynamic report forms to automatically report the project progress to the members.
As an open source code review tool, Reviewboard has been a favorite of more and more developers.
GIT is a distributed version control tool.
The above three are said to be three-piece sets that are called Team collaboration development
Not much nonsense, into the configuration steps, the entire configuration process encountered a lot of problems, because the time span is a bit large, the middle of the problem may be missed.
The first step : Start the configuration from Git, because its configuration is the simplest, here directly copy the previous blog configuration
Install python setuptools
sudo apt-get install Python-setuptools
Download gitosis
git clone https://github.com/tv42/gitosis.git
Enter the Gitosis directory
CD gitosis
Installation
Python setup.py Install
Create a Git account
sudo useradd-c ' git version manage '-m-d/home/git-s bin/bash git
Upload the client-produced key to the server directory/home/git/id_rsa.pub, generate the method see generate secret key
Initialize git
Sudo-h-u git gitosis-init
The following information is displayed successfully#Initialized empty git repository in/home/git/repositories/gitosis-admin.git/#Reinitialized existing git repository in /home/git/repositories/gitosis-admin.git/
Modify Post-update Permissionssudo chmod 755/home/git/repositories/gitosis-admin.git/hooks/post-update
Client-side cloning warehouse for configurationgit clone [email protected] host Ip:gitosis-admin.git
The public key is stored in the Keydir directory after cloning, gitosis.conf is the configuration fileOpen the configuration file, add the following, and place the public key [email protected] of the other machine under the public key directory
[Group webca]writable = webcamembers = [email protected] [email protected]
The commit will be modified
git Add. Git commit-m ' Add some key ' git push
Using the initialized client [email protected] to submit the WEBCA warehouse, the code is as followsmkdir webca cd webca git init touch readme.md git add readme.md git commit-m "init webca" git remote add Origin [email protected] host IP:webca.git
The server will have one more Webca.git directory after push /home/git/repositories/webca.git
Modify the folder permission to 777 because the Redmine required for this folder is 777 permissions
Step two , install Redmine
Installing dependent software
sudo apt-get install apache2 libapache2-mod-passenger mysql-server redmine redmine-mysql
Installation process will be configured, follow the prompts step-by-step configuration can be, the configuration is related to the MySQL account password, redmine account password and other information, installed after the redmine in/var/www/redmine directoryConfigure Apache
/ETC/APACHE2/CONF.D directory, create the file:
sudo vi redmine.confrailsenv productionrailsbaseuri/redmine
Establish linkssudo ln-s/usr/share/redmine/public/var/www/redmine
Restart Apachesudo service apache2 restart
Visit redmine/HTTP Host Ip/redmine
Account Admin, Password admin
This is almost redmine installed, if the integration git see the previous blog
The third step , install Reveiewboard, this step is so difficult ... It takes too much time because of a configuration file, which is a direct reference to the official address.
Redmine Official Configuration method
Install Python setuptools, installed before actually.
Apt-get Install Python-setuptools
Upgrade, this step may not be used, and this step is done after a small problem, that is, there will be two easy_install system, resulting in the Reviewboard can not be installed, the solution see the backEasy_install-u Setuptools
Installing Python-devApt-get Install Python-dev
Installing memcachedApt-get Install memcached
Installing python_memcachedEasy_install python-memcached
This step may be reported with one such error entry point (' console_scripts ', ' Easy_install ') is not found
The reason is that there may be two easy_install in the system, using the following command to viewWhich-a Easy_install
Then we can use one of them, that is, take the full path, and all of the easy_install used in the back are going to take the path./usr/bin/easy_install python-memcached
Installing PatchesApt-get Install patch
Installing Reviewboard
/usr/bin/easy_install Reviewboard
This step can be an error ... The reason why, you understand, need to get something from Google code up and down. Then, there is a huge wall on one side. Solution, the simplest is to modify the Hosts,github search Google hosts to find a solutionInstalling Python-mysql
/usr/bin/easy_install Mysql-python
This step may be an error, the content is as followsSh:mysql_config:not Foundtraceback (most recent): File ' setup.py ', line <module> metadata , options = Get_config () File "/home/zhxia/apps/source/mysql-python-1.2.3/setup_posix.py", line +, in get_config< C3/>libs = Mysql_config ("Libs_r") File "/home/zhxia/apps/source/mysql-python-1.2.3/setup_posix.py", line Mysql_config Raise EnvironmentError ("%s not found"% (Mysql_config.path,)) Environmenterror:mysql_config not found
Workaround See this command belowsudo apt-get install Libmysqlclient-dev
Installing CVS and so assorted stuff.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
And then start creating the site, before you need to modify some of the configurationModify the MySQL encoding, file in/etc/mysql/my.cnf, edit it to add the following content
[Client]default-character-set=utf8[mysqld]character-set-server=utf8
Creating Databases and database usersMysql-u root-pmysql> Create DATABASE reviewboard CHARACTER SET utf8;mysql> Create USER ' myuser ' @ ' localhost ' identi Fied by ' MyPassword ';mysql> GRANT all privileges on reviewboard.* to ' myuser ' @ ' localhost ';
Install site
Rb-site Install/var/www/reviewboard
Here are some of the options in the configuration processIn particular, be aware that root path cannot use the default, or Apache will be silly
-Domain Name: Host Ip-root Path [/]:/reviewboard/This must not use the default value, the specific reason see it above the hint, here can't remember, this has been installed for so long did not have part of the reason is this caused-Media URL [ media/]: media/Default-database type:mysql-database name [Reviewboard]: Reviewboard (the table name when the table was built)-database Server [Localh OST]: Default-database Username:reviewboard user name you created-databases Password:reviewboard the database user name password you created-Cache Type: memcached Default-Memcache Server [localhost:11211/]: localhost:11211/Default-Web Server:apache-python Loader:wsgi-username [A DMin]: admin Default-password:admin (this password is set casually, but also remember, the next page log in need to use)-e-mail Address: [email protected]
Modify PermissionsChown-r Www-data/var/www/reviewboard/htdocs/media/uploadedchown-r Www-data/var/www/reviewboard/data
Copy filescd/etc/apache2/sites-availablecp/var/www/reviewboard/conf/apache-wsgi.conf/etc/apache2/conf.d/
Go to/etc/apache2/conf.d/directory, edit apache-wsgi.conf fileComment out the first line <virtualhost *:80>, the last line </VirtualHost> comment out, this step and its importance, otherwise the other directories will not be accessible, only access to Reviewboard
Restart Apache
sudo service apache2 restart
So far, access to HTTP//host Ip/reviewboard If the home page, then you succeed half, then visit the other sites you built on Apache Redmine, if the normal access, then you succeed
Finally, an extra step, build a phpmyadmin on top
Install PHP
sudo apt-get install php5 libapache2-mod-php5
Installing phpMyAdminsudo apt-getinstall phpmyadmin
Establish linkssudo ln-s/usr/share/phpmyadmin/var/www
Access to HTTP./Host ip/phpmyadmin See if the normal access, may be prompted missing somethingFor example, but the missing is not necessarily the following file, in short, the solution is similar to the following
Error: Missing mcrypt extension, please check PHP configuration
Enter/etc/php5/apache2 to modify the php.ini below (Eg:sudo vim php.ini), locate the following fields and add the following extension=php_mcrypt.so;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Dynamic Extensions;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Extension=php_mcrypt.so
Restart Apachesudo service apache2 restart
Put Reviewboard how to integrate Git, find out by yourself!
Ubuntu 12.04 64-bit installation Redmine+git+reviewboard