Redmine是一款优秀的项目管理和Bug跟踪软件,基于RoR(Ruby on Rails)开发。 下面记录安装过程。mysql
sudo yum install vim-enhanced git mysql-server mysql-devel ImageMagick ImageMagick-devel mod_fcgid fcgi fcgi-devel openssl openssl-devel zlib zlib-devel patch
阿里云的云主机中操做系统是CentOS 5.x,其ImageMagick版本太低,须要源码编译: wget http://mirrors-usa.go-parts.com/mirrors/ImageMagick/ImageMagick-6.8.8-9.tar.gz tar zxvf ImageMagick-6.8.8-9.tar.gz cd ImageMagick-6.8.8-9 ./configure make make install /sbin/ldconfig /usr/local ln -f /usr/local/bin/Magick-config /usr/bin/Magick-configgit
若是已经安装好Ruby 2.0可略过这一步。github
sudo yum remove ruby1.8 mkdir /tmp/ruby && cd /tmp/ruby curl –progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz cd ruby-2.0.0-p247 ./configure make sudo make install cd ext/zlib ruby extconf.rb make sudo make install cd ../openssl ruby extconf.rb make sudo make install
#下载安装Redmineweb
cd /tmp git clone https://github.com/redmine/redmine.git cd redmine git checkout 2.5-stable
#建立数据库和数据库用户 mysql -u root -p 输入口令后进入mysql>命令提示符。依次键入下列命令:sql
CREATE DATABASE redmine CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
这样就建立了数据库redmine和数据库用户redmine,口令是my_password。数据库
#配置数据库链接信息 cp config/database.yml.example config/database.yml vim config/database.ymlapache
按下面的内容填写:vim
production: adapter: mysql2 database: redmine host: localhost username: redmine password: my_password
#安装依赖项浏览器
修改Gemfile文件,在gem "builder"一行以后加入下面一行:gem "fcgi"。而后运行命令:ruby
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ gem install rmagick gem install bundler bundle install --without development test
#会话存储密钥生成 这一步生成一个随机密钥,Rails用来编码存储会话数据的cookie,防止外界破坏。
rake generate_secret_token
#生成数据库结构 RAILS_ENV=production rake db:migrate
#填充缺省配置数据 RAILS_ENV=production rake redmine:load_default_data Redmine将提问你选择哪一种语言。选zh表明简体中文。
#设置文件系统访问权限 运行Redmine的用户(下面我选定apache用户运行Redmine)必须对下面的目录拥有写权限:
经过下面的命令解决上面的问题:
mkdir -p tmp tmp/pdf public/plugin_assets sudo chown -R apache:apache files log tmp public/plugin_assets sudo chmod -R 755 files log tmp public/plugin_assets chmod -R 1777 /tmp
#测试安装是否成功 ruby script/rails server webrick -e production 将运行WEBrick Web服务器。打开浏览器访问http://localhost:3000/(若是你安装在别的服务器上,请用服务器域名或IP代替localhost)。若是一切正常,你会看到欢迎页面。
#登陆Redmine 用账号口令admin/admin登陆系统。能够经过"管理(Administration)"菜单选择“配置(Settings)”来修改应用程序的大部分设置。 回到服务器的终端窗口,按Ctrl + C退出WEBrick。
#进一步配置系统 Redmine配置信息定义在conf/configuration.yml中。若是你须要覆盖缺省的配置,能够
cp config/configuration.yml.example config/configuration.yml
而后修改conf/configuration.yml。修改完毕须要重启动应用。
#整合到Apache
##复制到Apache专用目录 首先,把Redmine从临时目录/tmp转移到目标目录。个人设置是建立/home/apache目录,apache用户拥有这个目录,在其下建立sites子目录,全部的Apache虚拟主机程序都存放在这个目录下。
mkdir -p /home/apache /home/apache/sites cd .. sudo mv redmine /home/apache/sites sudo chown -R apache:apache /home/apache
##配置fcgid
cp public/dispatch.fcgi.example public/dispatch.fcgi vim public/dispatch.fcgi
将第一行改成#!/usr/local/bin/ruby,保存退出。
使public/dispatch.fcgi拥有执行权限:
sudo chmod 755 public/dispatch.fcgi
配置.htaccess文件,去掉fastcgi支持内容:
cp public/htaccess.fcgi.example public/.htaccess vim public/.htaccess
将下面的内容删除或注释掉:
<IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi </IfModule>
和
<IfModule mod_fastcgi.c> RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] </IfModule>
修改config/environment.rb,将Rails环境切换到production:
vim config/environment.rb
在文件开头加入下面一行:
ENV['RAILS_ENV'] ||= 'production'
##配置redmine虚拟主机
个人虚拟主机配置文件统一放在/etc/httpd/conf/sites-available目录下,而后在/etc/httpd/conf/sites-enabled目录中分别对/etc/httpd/conf/sites-available中要启用的虚拟主机创建符号连接:
sudo mkdir -p /etc/httpd/conf/sites-available /etc/httpd/conf/sites-available vim /etc/httpd/conf/sites-available/redmine.vhost
输入下面的内容:
<VirtualHost 58.63.245.211:80> ServerName redmine.dayatang.org ServerAdmin webmaster@dayatang.org DocumentRoot /home/apache/sites/redmine/public/ ErrorLog logs/redmine.dayatang.org_error_log LogLevel warn CustomLog logs/redmine.dayatang.org_access_log combined DefaultInitEnv RAILS_ENV production MaxRequestLen 20971520 <Directory "/home/apache/sites/redmine/public/"> Options Indexes ExecCGI FollowSymLinks Order allow,deny Allow from all AllowOverride all </Directory> <Location /> AddHandler fcgid-script .fcgi FCGIWrapper "/usr/local/bin/ruby /home/apache/sites/redmine/public/dispatch.fcgi" .fcgi </Location> </Virtualhost>
存盘退出后在/etc/httpd/conf/sites-available中创建符号连接:
sudo ln -s /etc/httpd/conf/sites-available/redmine.vhost /etc/httpd/conf/sites-enabled/redmine.vhost
若是Apache主配置文件还没有导入/etc/httpd/conf/sites-enabled目录,修改Apache主配置文件:
sudo vim /etc/httpd/conf/httpd.conf
在文件末尾加入这么一行:
Include conf/sites-enabled/*.vhost
存盘退出。
##测试是否成功
在命令行窗口运行下述命令:
sudo chown -R apache:apache /home/apache sudo service httpd restart
而后打开浏览器,在地址栏中输入redmine.dayatang.org,看看是否可进入欢迎页面。
#修改日志配置 Redmine默认将日志记录到应用主目录下的log子目录。随着时间的推移,日志文件可能变得很大。为此能够考虑让它们增加到必定大小以后自动分割为多个文件。能够修改config/additional_environment.rb作到这一点。
cp config/additional_environment.rb.example config/additional_environment.rb vim config/additional_environment.rb
输入下面的内容:
#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE) config.logger = Logger.new('/path/to/logfile.log', 2, 1000000) config.logger.level = Logger::INFO
个人/path/to/logfile.log是/usr/share/redmine/log/redmine.log。
#备份 Redmine备份要包括下面的内容:
下面是一个简单的脚本,可用于每日备份:
# Database /usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz # Attachments rsync -a /path/to/redmine/files /path/to/backup/files