受朋友所托,由于项目管理的需要,要在 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 是一个假设的域名,需要使用实际的域名替换 )
遇到的问题和解决办法 :