原创Centos5.5+Redmine2.0.3+backlogs+Apache整合(含备份)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【原创】Centos5.5+Redmine2.0.3+backlogs+Apache整理
最近由于工作需要,来年公司的案件和工作安排开始用redmine统一管理。
经过这几天摸索整理出了比较完整的安装手顺。
1,安装前准备
Centos5.5,这个没什么好说的,因为不是重点,所以略过,建议OS安装好以后关闭SELINUX,#/usr/sbin/setenforce 0 。
用yum的方式安装必要软件包
#yum install httpd httpd-devel openssl-devel zlib-devel gcc gcc-c++ curl-devel subversion -y
实际上还不够,但至少需要这些,后面的安装还会提到
2,安装ruby 1.9.3
这里说一下,按照官方环境说明,Redmine2.0.3的话,应该是支持ruby1.8.7的,如下,但是安装好以后在数据库连接的时候,会报错,没有解决掉,看起来是版本矛盾,所以果断
安装ruby1.9.3的话,需要libyaml支持(ruby1.8.7是不需要的),所以先安装libyaml,如下
#wget /download/libyaml/yaml-0.1.4.tar.gz
#tar xzvf yaml-0.1.4.tar.gz
#cd yaml-0.1.4
#./configure --prefix=/usr/local
#make
#make install
安装好以后,安装ruby
#wget /pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
#tar xzvf ruby-1.9.3-p0.tar.gz
#cd ruby-1.9.3-p0
#./configure --prefix=/usr/local --enable-shared --disable-install-doc
--with-opt-dir=/usr/local/lib
#make
#make install
成功后# ruby -v查看版本
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
3,安装rubygems-1.8.24
#wget /rubygems/rubygems-1.8.24.tgz
#tar zxvf rubygems-1.8.24
#cd rubygems-1.8.24
#ruby setup.rb
4,安装bundle
这个是redmine2.0以后的安装方式,以前是没有的,需要手动的去安装大量的gem包,使用bundle后安装起来方便的多。
#gem install bundle
5,安装redmine-2.0.3(我的web根目录是/var/www/html)
#cd /var/www/html
#wget /frs/download.php/76259/redmine-2.0.3.tar.gz
#tar xvfz redmine-2.0.3.tar.gz
#cd redmine-2.0.3
#bundle install --without development test postgresql sqlite rmagick
6,安装mysql,创建数据库
#yum install mysql mysql-server mysql-devel
#mysql
>create database redmine character set utf8;
>create user 'redmine'@'localhost' identified by 'redmine';
>grant all privileges on redmine.* to 'redmine'@'localhost';
>FLUSH PRIVILEGES;
>quit;
7,修改redmine的配置文件
#cd /var/www/html/redmine-2.0.3
#cp config/database.yml.example config/database.yml
#cp config/configuration.yml.example config/configuration.yml
编辑database.yml,主要是修改数据库连接配置,这里需要注意的是,如果ruby的版本是1.8.7的话,adapter要设成mysql,如果是1.9以上版本的话,adapter要设成mysql2,所以,我这里设成mysql2,如下:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: redmine
encoding: utf8
编辑configuration.yml ,设定smtp服务。
关于smtp的设定的方式很多,比较简单的就是如果本地就是smtp服务器的话(比如sendmail有设置的话),
# production:
# email_delivery:
# delivery_method: :sendmail
或者是用其他smtp服务器发送,这里我是用我们公司的邮箱(我们公司是gmail的企业邮箱),gmail邮箱的话,设置如下:
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
tls: true
enable_starttls_auto: true
address: ""
port: 465
domain: ""
authentication: :plain
user_name: "id"
password: "pw"
配置文件里有详细的说明文字,也有很多情况的sample,可以阅读。
(不过我试过用126的邮箱去送信,收到邮件以后送信人是空的,不知道为什么,其他邮箱正常)
8,初始化redmine,并启动
命令
#rake generate_secret_token
#RAILS_ENV=production rake db:migrate
#RAILS_ENV=production rake redmine:load_default_data
最后会出现选择语言,zh是简体中文版,这里选择'zh'
#zh
启动redmine的命令是(要在redmine的根目录下执行)
#ruby script/rails server webrick -p 80 -e production
这样启动以后,控制台是处于监听状态,并且关闭窗口或ctr+z的话,可以终止redmine。
所以应该使用如下命令
#ruby script/rails server webrick -p 80 -e production -d
但是用这个命令启动以后,貌似redmine没有相应的stop命令,所以只能通过ps aux查一下ruby的进程,然后kill掉。
所以,是用apache来管理ruby进程,通过启动apache服务管理redmine。
9,整合apache
安装passenger(passenger是用来运行ruby的,apache可以管理分配passenger进程)#gem install passenger
#passenger-install-apache2-module
#vi /etc/httpd/conf/httpd.conf
a,追加下面3行
LoadModule passenger_module
/usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18/ext/apache2/mod_passeng er.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18 PassengerRuby /usr/local/bin/ruby
b,找到以下配置,进行修改
Options Indexes FollowSymLinks ( 找到这一行,删除“Indexes ”,并添加“Includes ”、“ExecCGI ”)
Options Includes ExecCGI FollowSymLinks ( 允许服务器执行CGI 及SSI)
#AddHandler cgi-script .cgi ( 找到这一行,去掉行首的“# ”,并在行尾添加“ .pl ”)
AddHandler cgi-script .cgi .pl .fcgi ( 允许扩展名为 .pl .fcgi的CGI 脚本运行) c,追加虚拟机
<VirtualHost *:80>
ServerName
ServerAdmin luhuabing@
DocumentRoot /var/www/html/redmine-2.0.3/public/
ErrorLog logs/redmine_error_log
<Directory "/var/www/html/redmine-2.0.3/public">
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
</VirtualHost>
然后启动apache
#service httpd start
通过访问,初始密码是admin/admin
下面说明redmine2的一个插件backlogs的安装。
10,backlogs是redmine上的一个比较好用的插件,用来管理日常工作非常方便,安装方法如下
a,安装方式通过git的方式安装,所以如果你的服务上没有安装git的话,则需要安装
#yum -y install zlib-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib curl autoconf tk
#wget /projects/git-snapshots/git/git-latest.tar.gz #tar xzvf git-latest.tar.gz
#cd git-{date}
#autoconf
#./configure --with-curl=/usr/local
#make
#make install
b,安装backlogs
进入redmine的安装目录,并进入plugins/目录
#cd plugins/
#git clone git:///backlogs/redmine_backlogs.git
#cd redmine_backlogs
#git tag
#git checkout vX.Y.Z
#RAILS_ENV=production
#export RAILS_ENV
#bundle exec rake db:migrate
#bundle exec rake tmp:cache:clear
#bundle exec rake tmp:sessions:clear
#cd path/to/redmine
#bundle exec rake redmine:backlogs:install
这里需要说一下,在执行bundle exec rake db:migrate的时候会报错说需要thin的gem 包,安装好了以后,需要重新执行
bundle install --without development test postgresql sqlite rmagick
但是这次执行的时候又会包需要nokogiri 1.5.5的gem包,但是直接执行gem install nokogiri -v '1.5.5',又会报错缺少libxml2和libxslt,所以整理一下,在执行#bundle exec rake db:migrate前先执行如下命令
#gem install thin
#yum install libxml2-devel
#yum install libxslt-devel
#gem install nokogiri -v '1.5.5'
#bundle install --without development test postgresql sqlite rmagick
最后全部安装完成。
重启一下apache,redmine+backlogs安装完成
另外,目前的backlogs的只支持到redmine2.0.*系,高版本的redmine无法使用。
(试过了>_<!)
最后补充一下数据备份方法(官方的说明),作成如下sh文件,1是备份/redmine-2.0.3/files 目录,2是备份数据库(保存一个星期的数据)。
------------------------- redmine_backup.sh ------------------------
#!/bin/sh
mysqldump -u redmine -predmine redmine | gzip >
/home/backup/redmine/db/redmine_`date +%y_%m_%d`.gz
rsync -a /var/www/html/redmine-2.0.3/files /home/backup/redmine/
find /home/backup/redmine/db -name "*.gz" -mtime +7 | xargs -i rm {}
------------------------- redmine_backup.sh ------------------------
最后将该sh文件的执行加到定时任务里面
#crontab -e
30 1 * * * /home/backup/redmine_backup.sh
注:每天1:30分执行备份
- 完-。