Hostmonster中安装redmine记

       受朋友所托,由于项目管理的需要,要在 Hostmonster 上安装 redmine 这开源项目管理工具; redmine 是使用 rails 开发的,虽然之前用过 rails 开发,但已经快一年不用了,很多都忘记了。不过经过几个小时的折腾,还是搞定了,在此记录一下安装的过程和遇到的问题。

 

参考: http://www.redmine.org/wiki/redmine/RedmineInstall#Installation

 

       1 、先下载软件: http://www.redmine.org/wiki/redmine/Download ,由于是在 Hostmonster 上安装,还是选 Linux 下的版本比较好,出问题的可能性小一些。这次下载的是: redmine-1.0.0.tar.gz

       2 、把这个安装包使用 Hostmonster 的“文件管理器”上传到某个目录下,然后解压。解压后,需要修改一下下面文件:

(1)    redmine-1.0.0/public 下以 dispatch 开头的文件 ( 3 个: dispatch.cgi dispatch.fcgi dispatch.rb) ,先去掉其 .example 后缀,然后把每个文件的第一行修改为: #!/usr/bin/ruby  ;如果下载的是 linux 版本,那么这三个文件本身是 755 权限,不用再修改;如果下载的是 windows 版本,则这三个文件需要使用命令: chmod 755 dispatch* 来修改一下它们的权限 ( 主要目的是它们有访问和执行的权限 )

(2)    redmine-1.0.0/config 下,把 database.yml.example 修改为 database.yml ,并配置里面的数据库名称、登陆数据库的用户名和密码,如果数据库连接不是使用默认 3306 端口,则还需要修改端口号;

      production:

        adapter: mysql

        database: redmine

         host: localhost

        username: db_username

        password: db_password

        encoding: utf8

         port: 3307

(3)    redmine-1.0.0/config/ environment.rb 文件中的 ENV['RAILS_ENV'] ||= 'production' 行取消前面的“ # ”号,使之以发布的形式运行;

3 、在 Hostmonster 上创建数据库和登陆用户,创建完数据库后,需要使用 console( 使用 SSH 方式,这里使用 PuTTY 工具来作为 console 登陆 hostmonster 的工具 ) 登陆,并使用命令的方式登陆到刚创建的数据库中,修改一下默认的编码,使用命令:

ALTER DATABASE database_name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

这样做的好处是:如果在界面上输入中文,保存后仍然正确显示中文,否则就是乱码;

4 、生成会话存储密钥: RAILS_ENV=production rake config/initializers/session_store.rb

5 、数据迁移: RAILS_ENV=production rake db:migrate

6 、加载默认数据: RAILS_ENV=production rake redmine:load_default_data

       这个步骤会提示一大串语言供选择,如果需要使用中文的朋友就输入“ zh ”,英文则输入“ en ”;

7 、修改一些目录权限:

     mkdir tmp public/plugin_assets

     chmod -R 755 files log tmp public/plugin_assets

8 、测试: ruby script/server webrick -e production

9 、登陆: login: admin      password: admin

10 、使用 Hostmonster subdomain 工具创建一个子域名,如 test.website.com ,那么就会在 public_html 目录中创建一个子目录: test

11 、关联域名:先使用命令: rm -r test public_html 的文件夹删除掉,然后假设解压的 redmine-1.0.0 目录放在 ~ 目录下,则使用命令: ln -s ~/ redmine-1.0.0/public test redmine-1.0.0 工程与域名关联起来 ( 其中 test 是子域名的最前面一段名称 ) ;然后在浏览器中输入域名: test.website.com ,可以看到相应的界面。 ( 注意: test.website.com 是一个假设的域名,需要使用实际的域名替换 )

 

 

遇到的问题和解决办法

 

  1. 由于之前也在 Hostmonster 部署过 rails 程序,不过当时需要在 dispatch 文件和 environment.rb 中加入 ENV["GEM_PATH"] 来指定 gem 的查找路径,这次我也依葫芦画瓢地加入了 ENV["GEM_PATH"] 变量,后果是折腾了 4 5 个小时才明白:由于 redmine 工程已经 freeze 某个版本的 rails ,因而在 vendor 中已经有 gem rails 目录了,不需要再指定;再指定的话反而是有问题的;
  2. 注释掉 environment.rb 中的 RAILS_GEM_VERSION 行,这个主要是为了使得工程适应于 hostmonster 中的 rails 版本变化;但由于 rails 已经被 freeze ,所以去掉后也是有问题的;再说,由于 rails 版本日新月异,还是指定某版本的 rails 然后 freeze 的比较好,否则后面维护代价比较高,因为说不好哪天 rails 更新多了,工程就跑不了了;
  3.   Hostmonster 是美国服务器,所以系统时间是美国时间,如果需要显示北京时间,则需要使用 environment.rb 中的变量 config 来设定时间: config.time_zone = 'Beijing' ,这是一个比较旧的配置方式,因为 environment.rb 中有一被注释掉的行: config.active_record.default_timezone = :utc ,所以根据它来配置会更符合新版本的要求;在这里就先不去找相应的值来替换 :utc 了;
  4. 中文乱码问题。在安装的第三步就说明了,创建数据库后,在数据迁移之前,需要先把数据库的编码修改为 UTF8 的,命令是: ALTER DATABASE database_name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; 使用该命令后,就不会有乱码了。如果在数据迁移和导入默认数据之后再执行这个命令是行不通的,该乱码还是乱码。

你可能感兴趣的:(Hostmonster中安装redmine记)