linux下redmine安装笔记(转载)

linux下redmine安装笔记

转载自:http://www.cnblogs.com/hemhem/archive/2011/03/14/2087482.html

redmine安装相对trac要简单一点。

一、安装ruby

下载ruby-1.8.7

http://www.ruby-lang.org/en/downloads

      #tar xzvf ruby-1.8.7.tar.gz

      #cd ruby-1.8.7
      #./configure --prefix=/usr/local/ruby
      #make && make install
设置环境变量     vim /etc/profile
export PATH=/usr/local/ruby/bin:$PATH
二、安装rubygems
如果系统中已经存在rubygems,可以通过如下方法卸载:
#ruby -e 'puts $:'                                                       //查找rubygems安装目录
#cd /usr/local/ruby/lib/ruby/site_ruby/1.8/
#rm -rf ubygems.rb rubygems rubygems.rb 
#which gem gem1.8                                                   //查找gem包的安装目录
#rm -rf /usr/local/ruby/bin/gem
下载rubygems-1.3.5
#tar zxvf rubygems-1.3.5
#cd rubygems-1.3.5
#ruby setup.rb
#gem -v                                                                   //查看版本
注意:开始时把rubygems更新到最新版本1.6.2了,最后用rake创建表时失败,郁闷。
       安装完rubygems后注意修改更新站点,否则有的包可能无法正常安装。
        #gem source -r http://gems.rubyforge.org       删除以前的更新站点
        #gem source -a http://rubygems.org                添加现在的更新站点
三、安装rails
#gem install rails -v=2.3.5
        Fetching: rake-0.8.7.gem (100%)
Fetching: activesupport-2.3.5.gem (100%)
Fetching: activerecord-2.3.5.gem (100%)
Fetching: rack-1.0.1.gem (100%)
Fetching: actionpack-2.3.5.gem(100%)
Fetching: actionmailer-2.3.5.gem(100%)
Fetching: activeresource-2.3.5.gem(100%)
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.5
Successfully installed activerecord-2.3.5
Successfully installed rack-1.0.1
Successfully installed actionpack-2.3.5
Successfully installed actionmailer-2.3.5
Successfully installed activeresource-2.3.5
Successfully installed rails-2.3.5
8 gems installed
Installing ri documentation for rake-0.8.7 ...
Installing ri documentation for activesupport-2.3.5 ...
Installing ri documentation for activerecord-2.3.5 ...
Installing ri documentation for rack-1.0.1 ...
Installing ri documentation for actionpack-2.3.5 ...
Installing ri documentation for actionmailer-2.3.5 ...
Installing ri documentation for activeresource-2.3.5 ...
Installing ri documentation for rails-2.3.5 ...
Installing RDoc documentation for rake-0.8.7 ...
Installing RDoc documentation for activesupport-2.3.5 ...
Installing RDoc documentation for activerecord-2.3.5 ...
Installing RDoc documentation for rack-1.0.1 ...
Installing RDoc documentation for actionpack-2.3.5 ...
Installing RDoc documentation for actionmailer-2.3.5 ...
Installing RDoc documentation for activeresource-2.3.5 ...
Installing RDoc documentation for rails-2.3.5 ...
四、安装i18n
#gem install i18n -v=0.4.2
Fetching:i18n-0.4.2.gem (100%)
Successfully installed i18n-0.4.2
1 gem installed
Installing ri documentation for i18n-0.4.2...
Installing RDoc documentation for i18n-0.4.2...
五、安装ruby-mysql
#gem install ruby-mysql
Successfully installed ruby-mysql-2.9.4
1 gem installed
Installing ri documentation for ruby-mysql-2.9.4...
Installing RDoc documentation for ruby-mysql-2.9.4...
补充 mysql的安装:
创建mysql用户名,用户组
# groupadd mysql
# usradd -g mysql mysql
下载mysql源码 http://www.mysql.com/downloads/mysql
#cd mysql-5.0.22
#./configure --prefix=/usr/local/mysql
--datadir=/mydata //数据库存放目录
--with-charset=utf8 //使用UTF8格式
--with-extra-charsets=complex //安装所有的扩展字符集
--enable-thread-safe-client //启用客户端安全线程
--with-big-tables //启用大表
--with-ssl //使用SSL加密
--with-embedded-server //编译成embedded MySQL library (libmysqld.a )
--enable-local-infile //允许从本地导入数据
--enable-assembler //汇编x86的普通操作符,可以提高性能
--with-plugins=innobase //数据库插件
--with-plugins=partition //分表功能,将一个大表分割成多个小表
#make && make install
初始化mysql数据库
#chown -R mysql:mysql /usr/local/mysql
#cp mysql-5.0.22/support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#bin/mysql_install_db --user=mysql
#chown -R mysql:mysql /usr/local/mysql/var/ //把初始化的数据库目录给MySQL所有者
#/usr/local/mysql/bin/mysqld_safe --user=mysql & //启动MySQL
配置开机自动启动
#cp mysql-5.0.22/support-files/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld
#chkconfig --add mysqld
#chkconfig mysqld on
#service mysqld restart
补充 mysql的配置:
配置my.cnf
配置主要把安装的目录的那几项打开就行.
改动如下:

[client]
#password = your_password
port = 3306
socket = /tmp/mysql3306.sock

# The Mysql server
[Mysqld]
port = 3306
socket = /tmp/mysql3306.sock

打开下面几项
innodb_data_home_dir = /usr/local/mysql/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var/
innodb_log_arch_dir = /usr/local/mysql/var/

六、安装redmine

注意redmine的版本

Redmine versionSupported Ruby versionsRequired Rails versionRequired Rack version
current trunkruby 1.8.6, 1.8.7Rails 2.3.11Rack 1.1.0
trunk from r2887  tor4903ruby 1.8.6, 1.8.7Rails 2.3.5Rack 1.0.1
trunk from r2493  tor2886ruby 1.8.6, 1.8.7Rails 2.2.2
trunk before r2493ruby 1.8.6, 1.8.7Rails 2.1.2
1.1.xruby 1.8.6, 1.8.7Rails 2.3.5Rack 1.0.1
1.0.xruby 1.8.6, 1.8.7Rails 2.3.5Rack 1.0.1
0.9.xruby 1.8.6, 1.8.7Rails 2.3.5Rack 1.0.1
0.8.xruby 1.8.6, 1.8.7Rails 2.1.2

下载redmine-1.1.0

#mkdir /usr/local/redmine

#cd /usr/local/redmine

#svn co http://redmine.rubyforge.org/svn/branches/1.0-stable redmine-1.0

#cd /usr/local/redmine/redmine-1.0/config

#cp database.yml.example database.yml

#vim database.yml  //数据库配置文件

production:  
adapter: mysql  
database:redmine  
host: localhost  
username: mysql         //数据库访问用户名
password: "123456"    //数据库访问密码
encoding: utf8
 使用rake创建表
# rake db:migrate RAILS_ENV="production" 
    a.报错:uninitialized constant ActiveSupport::Dependencies::Mutex 
解决方法:rails和rubygems版本不匹配,rubygems降到1.3.5试试
    b.报错:A key is required to write a cookie containing the session data. Use config.action_controller.session = {:key=>"_myapp_session", :secret=> "some secret phrase" } in config/environment.rb
        解决方法:rake config/initializers/session_store.rb
    c.报错: No such file or directory - /tmp/mysql.sock
       解决方法: 由于之前在mysql配置时my.cnf配置了socket导致
vim config/database.yml
在production栏目最后一行添加 socket: /tmp/mysql3306.sock  
注意: socket的“:"后面必须有个空格,再接"/tmp/mysql3306.sock"
    d.报错:
      !!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
      rake aborted!
      需要安装mysql适配器。gem install mysql
    e.#mysql报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'(2)
    解决:mkdir /var/run/mysqld
               ln -s /tmp/mysql.sock  /var/run/mysqld/mysqld.sock
               sudo chown mysql:mysql /var/run/mysqld
               sudo /etc/init.d/mysqld restart
    f.报错:
Access denied for user 'mysql'@'localhost' (using password: YES)
      解决办法:
        #mysql
        Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.22-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> 
        mysql>grant all privileges on *.* to 'mysql'@'localhost' identified by 'mysql' with grant option; 
        mysql>flush privileges;
        mysql>exit;
    注:http://liuxinxiu.com/grant_all_privileges_on/
            grant all privileges on *.* to 'mysql'@'localhost' identified by 'mysql' with grant option;
    mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

    权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file  等    14个权限。
    当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
    当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
    用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
    ‘连接口令’不能为空,否则创建失败。
注意:此处 by 'mysql' with grant option;的mysql与/usr/local/redmine/redmine1.1.0/congfig/database.yml中的production:assword: "mysql"一致。

   g.ERROR 1045 (28000): Access denied for user 'zouweiwei'@'localhost' (using password: NO)
      权限问题,换成root权限
   h.报错:Unknown database 'redmine'
       解决办法:创建数据库redmine
       mysql>create database redmine;
   i. 报错:rake aborted!
      no such file to load -- openssl
      解决办法:进入ruby源码目录
    (1)cd ext/openssl
    (2)ruby ./extconf.rb(报错:“=== OpenSSL for Ruby configurator ===
    === Checking for system dependent stuff... ===
    checking for t_open() in -lnsl... no
    checking for socket() in -lsocket... no
    checking for assert.h... yes
    === Checking for required stuff... ===
    checking for openssl/ssl.h... no
    === Checking for required stuff failed. ===
    Makefile wasn't created. Fix the errors above. ”;
    解决方法:http://netfork.iteye.com/blog/432928
    下载了:openssl-0.9.8k.tar.gz。
        # tar –zxvf openssl
     # cd openssl
     # ./config --prefix=/usr/local/openssl
     # make
     # make install
    终于安好了。在安装后的文件下搜ssl.h,发现这个文件存在了,看到点希望了。
         ruby extconf.rb --with-openssl-include=/usr/local/ssl/include/ --with-openssl-lib=/usr/local/ssl/lib)。
    (3)make(报错:/usr/bin/ld: /usr/local/ssl/lib/libssl.a(s2_meth.o):         relocation R_X86_64_32 against `.data' can not be used when making a         shared object; recompile with -fPIC
    /usr/local/ssl/lib/libssl.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [openssl.so] 错误 1
    解决方法:
重新编译openssl (http://dawning126.iteye.com/blog/1189889, http://dodowolf.blog.51cto.com/blog/793581/659618 )
    ./config -fPIC --prefix=/
usr/local/openssl enable-shared
    如果还不行就
    make clean
    ./config -fPIC --prefix=/usr enable-shared
    安装在/usr目录下就省去了链接。
    (4)make install

注:(2)(3)应该可以一步解决:
    
下载了:openssl-0.9.8k.tar.gz。
     # tar –zxvf openssl
     # cd openssl
     # ./config -fPIC --prefix=/usr/local/openssl
     # make
     # make install

加载默认配置
# rake redmine:load_default_data RAILS_ENV="production"
这里会要求选择默认语言,选中文zh:
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] zh
这个默认设置只是在未登录时的界面语言,当用户登录后,默认语言还是英语,在My account里可以修改成其它语言。

启动WEB服务
# ruby script/server webrick -e production
或# ruby /usr/local/redmine/redmine-1.0/script/server webrick -e production
更换web服务器
redmine自带的webrick太慢,特别是局域网,据说是 需要解析目标地址的主机名,直接给ip不用,硬要绕一圈。
使用网上推荐的 mongrel
# gem install mongrel
# ruby /usr/local/redmine/redmine-1.0/script/server mongrel -e production
本机ip为192.9.100.106,至此在本机使用http://192.9.100.106:3000 或 http://127.0.0.1:3000均能访问,但局域网其他机器仍然无法访问。
原因:redhat防火墙屏蔽了端口3000
解决办法: 配置防火墙,开放宽口3000               

    # /sbin/iptables -I INPUT -p tcp --dport 3000 -j ACCEPT

    # /etc/rc.d/init.d/iptables save

    # service iptables restart
至此,redmine安装完成。后面需要完成redmine、apache、subversion的整合。
以上安装在虚拟机上完成,PC 192.9.100.105上始终安装不上,一样的步骤,在gem install时老提示:
        ERROR: http://gems.rubyforge.org/ does not appear to be a respository
        ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
                  bad response Not Found 404 (http://gems.rubyforge.org/yaml)

在apache上部署

转载自http://www.blueidea.com/tech/program/2010/7780_4.asp

其自带的webrick可能不能满足使用需求,那么就把它配置到apache上。

apache运行ROR有多种方式,这里使用passenger。

#apt-get install build-essential
#apt-get install apache2-prefork-dev libaprutil1-dev libapr1-dev ruby1.8-dev

然后安装 passenger

#gem install passenger
#passenger-install-apache2-module

如果报passenger-install-apache2-module这条命令找不到的话,那么通过下面的命令查看执行路径:

#gem environment

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.7 (2008-05-31 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/ruby/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/ruby/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/ruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/ruby/lib/ruby/gems/1.8
     - /home/zouweiwei/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org/", "http://rubygems.org"]
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/
     - http://rubygems.org

其中,EXECUTABLE DIRECTORY就是命令的全路径,所以对于我例子里的情况执行

代码:

# /usr/local/ruby/bin/passenger-install-apache2-module

根据提示安装和部署:

passenger会在本机编译并成为apache的一个模块。首先,编辑apache的配置文件并添加下面的信息:

代码:

#vim /etc/apache2/apache2.conf

添加

LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.13/ext/apache2/mod_passenger.so
   PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.13
   PassengerRuby /usr/bin/ruby1.8

然后添加一个站点:

#cd /etc/apache2/sites-available

#gedit redmine

并添加如下内容:

RailsBaseURI /redmine

在web根目录建立redmine主目录的符号链接,并设置权限:

#ln -s /usr/local/redmine/redmine-1.1.0/public /var/www/redmine
#chown -R www-data:www-data /var/www

启用redmine站点:

#a2ensite redmine

最后重启apache:

#/etc/init.d/apache2 restart

或,重新加载配置:

#/etc/init.d/apache2 reload

打开浏览器,如果你能够访问到redmine,那么恭喜你,redmine已经在apache上运行良好!

Redmine邮件的配置

修改Redmine下文件夹config中的email.yml,信息如下:

production:
  delivery_method: :smtp
  smtp_settings:
  address: mail.XXXXX
  port: 25
  domain: XXXXX.com
  # authentication: :login
  # user_name: redmine@XXXXX.com
  # password: XXXXXX
  
development:
  delivery_method: :smtp
  smtp_settings:
  address: mail.XXXXX
  port: 25
  domain: XXXXX.com
  # authentication: :login
  # user_name: redmine@XXXXX.com
  # password: XXXXXX

注意用#注销掉的那三行信息,那是邮件服务器身份验证信息,但是如果你的用户已经使用了域验证,就不需要那三行信息,像我自己用的就是内部的邮件服务器(MS Exchange),就无须身份验证的必要。如果使用的是外面邮件服务器,一般是需要的;参数设置好了,然后重启Redmine服务,在配置中设置好发送邮件的帐号,然后测试(测试功能在右下角,我觉得自己眼神实在差,居然没有发现那个功能,还抱怨Redmine怎么那么笨的,没有提供邮件测试的功能,每次测试都在实际操作中进行,比较更新问题等,哈哈,傻了)。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值