redmine使ってみる

[3058]% svn checkout http://redmine.rubyforge.org/svn/ >| /dev/null                                                                       [/home/utadaq/work]
[3063]% mv svn redmine                                                                                                                    [/home/utadaq/work]
[ERROR:1]% mysql -u root -p                                                                                                               [/home/utadaq/work]
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.37-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database redmine;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'redmine_p';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[3064]% cd redmine                                                                                                                        [/home/utadaq/work]
branches  tags  trunk
[3065]% cd tags                                                                                                                   [/home/utadaq/work/redmine]
0.2.0  0.3.0  0.4.0  0.4.1  0.4.2  0.5.0  0.5.1
[3066]% cd 0.5.1                                                                                                             [/home/utadaq/work/redmine/tags]
Rakefile  app  components  config  db  doc  extra  files  lang  lib  log  public  script  test  tmp  vendor
[3067]% cp config/database.yml.example config/database.yml                                                             [/home/utadaq/work/redmine/tags/0.5.1]
[3068]%                                                                                                                [/home/utadaq/work/redmine/tags/0.5.1]

databasel.ymlを編集

# MySQL (default setup).  Versions 4.1 and 5.0 are recommended.
#
# Get the fast C bindings:
#   gem install mysql
#   (on OS X: gem install mysql -- --include=/usr/local/lib)
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: redmine_p
  socket: /var/run/mysqld/mysqld.sock
  # socket はutadaqマシン独自環境対応。

db:migrate

[3085]% rake db:migrate RAILS_ENV="production"                                                                         [/home/utadaq/work/redmine/tags/0.5.1]
(in /home/utadaq/work/redmine/tags/0.5.1)
== Setup: migrating ===========================================================
-- create_table("attachments", {:force=>true})
   -> 0.0435s
-- create_table("auth_sources", {:force=>true})
   -> 0.0342s
-- create_table("custom_fields", {:force=>true})
   -> 0.0340s
-- create_table("custom_fields_projects", {:id=>false, :force=>true})
   -> 0.0255s
-- create_table("custom_fields_trackers", {:id=>false, :force=>true})
   -> 0.0338s
-- create_table("custom_values", {:force=>true})
   -> 0.0337s
-- create_table("documents", {:force=>true})
   -> 0.0337s
-- add_index("documents", ["project_id"], {:name=>"documents_project_id"})
   -> 0.1134s
-- create_table("enumerations", {:force=>true})
   -> 0.0215s
-- create_table("issue_categories", {:force=>true})
   -> 0.0340s
-- add_index("issue_categories", ["project_id"], {:name=>"issue_categories_project_id"})
   -> 0.0599s
-- create_table("issue_histories", {:force=>true})
   -> 0.0336s
-- add_index("issue_histories", ["issue_id"], {:name=>"issue_histories_issue_id"})
   -> 0.0598s
-- create_table("issue_statuses", {:force=>true})
   -> 0.0337s
-- create_table("issues", {:force=>true})
   -> 0.0423s
-- add_index("issues", ["project_id"], {:name=>"issues_project_id"})
   -> 0.1056s
-- create_table("members", {:force=>true})
   -> 0.0297s
-- create_table("news", {:force=>true})
   -> 0.0341s
-- add_index("news", ["project_id"], {:name=>"news_project_id"})
   -> 0.0598s
-- create_table("permissions", {:force=>true})
   -> 0.0340s
-- create_table("permissions_roles", {:id=>false, :force=>true})
   -> 0.0425s
-- add_index("permissions_roles", ["role_id"], {:name=>"permissions_roles_role_id"})
   -> 0.1013s
-- create_table("projects", {:force=>true})
   -> 0.0678s
-- create_table("roles", {:force=>true})
   -> 0.0261s
-- create_table("tokens", {:force=>true})
   -> 0.2402s
-- create_table("trackers", {:force=>true})
   -> 0.0271s
-- create_table("users", {:force=>true})
   -> 0.0343s
-- create_table("versions", {:force=>true})
   -> 0.0341s
-- add_index("versions", ["project_id"], {:name=>"versions_project_id"})
   -> 0.0596s
-- create_table("workflows", {:force=>true})
   -> 0.0424s
== Setup: migrated (2.5630s) ==================================================

== IssueMove: migrating =======================================================
== IssueMove: migrated (0.0150s) ==============================================

== IssueAddNote: migrating ====================================================
== IssueAddNote: migrated (0.0151s) ===========================================

== ExportPdf: migrating =======================================================
== ExportPdf: migrated (0.0318s) ==============================================

== IssueStartDate: migrating ==================================================
-- add_column(:issues, :start_date, :date)
   -> 0.0542s
-- add_column(:issues, :done_ratio, :integer, {:default=>0, :null=>false})
   -> 0.0594s
== IssueStartDate: migrated (0.1138s) =========================================

== CalendarAndActivity: migrating =============================================
== CalendarAndActivity: migrated (0.1220s) ====================================

== CreateJournals: migrating ==================================================
-- create_table(:journals, {:force=>true})
   -> 0.0393s
-- create_table(:journal_details, {:force=>true})
   -> 0.0342s
-- add_index("journals", ["journalized_id", "journalized_type"], {:name=>"journals_journalized_id"})
   -> 0.0762s
-- add_index("journal_details", ["journal_id"], {:name=>"journal_details_journal_id"})
   -> 0.0675s
-- drop_table(:issue_histories)
   -> 0.0240s
== CreateJournals: migrated (0.2925s) =========================================

== CreateUserPreferences: migrating ===========================================
-- create_table(:user_preferences)
   -> 0.0328s
== CreateUserPreferences: migrated (0.0329s) ==================================

== AddHideMailPref: migrating =================================================
-- add_column(:user_preferences, :hide_mail, :boolean, {:default=>false})
   -> 0.0822s
== AddHideMailPref: migrated (0.0823s) ========================================

== CreateComments: migrating ==================================================
-- create_table(:comments)
   -> 0.0992s
== CreateComments: migrated (0.0993s) =========================================

== AddNewsCommentsCount: migrating ============================================
-- add_column(:news, :comments_count, :integer, {:default=>0, :null=>false})
   -> 0.0754s
== AddNewsCommentsCount: migrated (0.0755s) ===================================

== AddCommentsPermissions: migrating ==========================================
== AddCommentsPermissions: migrated (0.0798s) =================================

== CreateQueries: migrating ===================================================
-- create_table(:queries, {:force=>true})
   -> 0.0335s
== CreateQueries: migrated (0.0336s) ==========================================

== AddQueriesPermissions: migrating ===========================================
== AddQueriesPermissions: migrated (0.0395s) ==================================

== CreateRepositories: migrating ==============================================
-- create_table(:repositories, {:force=>true})
   -> 0.0318s
== CreateRepositories: migrated (0.0319s) =====================================

== AddRepositoriesPermissions: migrating ======================================
== AddRepositoriesPermissions: migrated (0.2273s) =============================

== CreateSettings: migrating ==================================================
-- create_table(:settings, {:force=>true})
   -> 0.0273s
== CreateSettings: migrated (0.0275s) =========================================

== SetDocAndFilesNotifications: migrating =====================================
== SetDocAndFilesNotifications: migrated (0.1633s) ============================

== AddIssueStatusPosition: migrating ==========================================
-- add_column(:issue_statuses, :position, :integer, {:default=>1, :null=>false})
   -> 0.0669s
== AddIssueStatusPosition: migrated (0.0742s) =================================

== AddRolePosition: migrating =================================================
-- add_column(:roles, :position, :integer, {:default=>1, :null=>false})
   -> 0.0669s
== AddRolePosition: migrated (0.0768s) ========================================

== AddTrackerPosition: migrating ==============================================
-- add_column(:trackers, :position, :integer, {:default=>1, :null=>false})
   -> 0.0479s
== AddTrackerPosition: migrated (0.1408s) =====================================

== SerializePossiblesValues: migrating ========================================
== SerializePossiblesValues: migrated (0.0075s) ===============================

== AddTrackerIsInRoadmap: migrating ===========================================
-- add_column(:trackers, :is_in_roadmap, :boolean, {:default=>true, :null=>false})
   -> 0.0596s
== AddTrackerIsInRoadmap: migrated (0.0598s) ==================================

== AddRoadmapPermission: migrating ============================================
== AddRoadmapPermission: migrated (0.0393s) ===================================

== AddSearchPermission: migrating =============================================
== AddSearchPermission: migrated (0.0398s) ====================================

== AddRepositoryLoginAndPassword: migrating ===================================
-- add_column(:repositories, :login, :string, {:default=>"", :limit=>60})
   -> 0.0590s
-- add_column(:repositories, :password, :string, {:default=>"", :limit=>60})
   -> 0.2103s
== AddRepositoryLoginAndPassword: migrated (0.2695s) ==========================

== CreateWikis: migrating =====================================================
-- create_table(:wikis)
   -> 0.0569s
-- add_index(:wikis, :project_id, {:name=>:wikis_project_id})
   -> 0.2668s
== CreateWikis: migrated (0.3239s) ============================================

== CreateWikiPages: migrating =================================================
-- create_table(:wiki_pages)
   -> 0.0265s
-- add_index(:wiki_pages, [:wiki_id, :title], {:name=>:wiki_pages_wiki_id_title})
   -> 0.0848s
== CreateWikiPages: migrated (0.1115s) ========================================

== CreateWikiContents: migrating ==============================================
-- create_table(:wiki_contents)
   -> 0.0305s
-- add_index(:wiki_contents, :page_id, {:name=>:wiki_contents_page_id})
   -> 0.0753s
-- create_table(:wiki_content_versions)
   -> 0.0346s
-- add_index(:wiki_content_versions, :wiki_content_id, {:name=>:wiki_content_versions_wcid})
   -> 0.0843s
== CreateWikiContents: migrated (0.2252s) =====================================

== AddProjectsFeedsPermissions: migrating =====================================
== AddProjectsFeedsPermissions: migrated (0.0392s) ============================

== AddRepositoryRootUrl: migrating ============================================
-- add_column(:repositories, :root_url, :string, {:default=>"", :limit=>255})
   -> 0.0635s
== AddRepositoryRootUrl: migrated (0.0636s) ===================================

== CreateTimeEntries: migrating ===============================================
-- create_table(:time_entries)
   -> 0.0325s
-- add_index(:time_entries, [:project_id], {:name=>:time_entries_project_id})
   -> 0.0764s
-- add_index(:time_entries, [:issue_id], {:name=>:time_entries_issue_id})
   -> 0.0840s
== CreateTimeEntries: migrated (0.1934s) ======================================

== AddTimelogPermissions: migrating ===========================================
== AddTimelogPermissions: migrated (0.0395s) ==================================

== CreateChangesets: migrating ================================================
-- create_table(:changesets)
   -> 0.0920s
-- add_index(:changesets, [:repository_id, :revision], {:name=>:changesets_repos_rev, :unique=>true})
   -> 0.0684s
== CreateChangesets: migrated (0.1606s) =======================================

== CreateChanges: migrating ===================================================
-- create_table(:changes)
   -> 0.0319s
-- add_index(:changes, [:changeset_id], {:name=>:changesets_changeset_id})
   -> 0.0589s
== CreateChanges: migrated (0.0911s) ==========================================

== AddChangesetCommitDate: migrating ==========================================
-- add_column(:changesets, :commit_date, :date)
   -> 0.0739s
== AddChangesetCommitDate: migrated (0.0829s) =================================

== AddProjectIdentifier: migrating ============================================
-- add_column(:projects, :identifier, :string, {:limit=>20})
   -> 0.0641s
== AddProjectIdentifier: migrated (0.0643s) ===================================

== AddCustomFieldIsFilter: migrating ==========================================
-- add_column(:custom_fields, :is_filter, :boolean, {:default=>false, :null=>false})
   -> 0.0905s
== AddCustomFieldIsFilter: migrated (0.0906s) =================================

== CreateWatchers: migrating ==================================================
-- create_table(:watchers)
   -> 0.0302s
== CreateWatchers: migrated (0.0304s) =========================================

== CreateChangesetsIssues: migrating ==========================================
-- create_table(:changesets_issues, {:id=>false})
   -> 0.0327s
-- add_index(:changesets_issues, [:changeset_id, :issue_id], {:name=>:changesets_issues_ids, :unique=>true})
   -> 0.0845s
== CreateChangesetsIssues: migrated (0.1175s) =================================

== RenameCommentToComments: migrating =========================================
== RenameCommentToComments: migrated (0.0356s) ================================

== CreateIssueRelations: migrating ============================================
-- create_table(:issue_relations)
   -> 0.0240s
== CreateIssueRelations: migrated (0.0242s) ===================================

== AddRelationsPermissions: migrating =========================================
== AddRelationsPermissions: migrated (0.0813s) ================================

== SetLanguageLengthToFive: migrating =========================================
-- change_column(:users, :language, :string, {:default=>"", :limit=>5})
   -> 0.1003s
== SetLanguageLengthToFive: migrated (0.1005s) ================================

== CreateBoards: migrating ====================================================
-- create_table(:boards)
   -> 0.0330s
-- add_index(:boards, [:project_id], {:name=>:boards_project_id})
   -> 0.1014s
== CreateBoards: migrated (0.1346s) ===========================================

== CreateMessages: migrating ==================================================
-- create_table(:messages)
   -> 0.0911s
-- add_index(:messages, [:board_id], {:name=>:messages_board_id})
   -> 0.0850s
-- add_index(:messages, [:parent_id], {:name=>:messages_parent_id})
   -> 0.0839s
== CreateMessages: migrated (0.2604s) =========================================

== AddBoardsPermissions: migrating ============================================
== AddBoardsPermissions: migrated (0.1214s) ===================================

== AllowNullVersionEffectiveDate: migrating ===================================
-- change_column(:versions, :effective_date, :date, {:default=>nil})
   -> 0.0835s
== AllowNullVersionEffectiveDate: migrated (0.0836s) ==========================

== AddWikiDestroyPagePermission: migrating ====================================
== AddWikiDestroyPagePermission: migrated (0.0384s) ===========================

== AddWikiAttachmentsPermissions: migrating ===================================
== AddWikiAttachmentsPermissions: migrated (0.0806s) ==========================

== AddProjectStatus: migrating ================================================
-- add_column(:projects, :status, :integer, {:default=>1, :null=>false})
   -> 0.0755s
== AddProjectStatus: migrated (0.0757s) =======================================

== AddChangesRevision: migrating ==============================================
-- add_column(:changes, :revision, :string)
   -> 0.0581s
== AddChangesRevision: migrated (0.0582s) =====================================

== AddChangesBranch: migrating ================================================
-- add_column(:changes, :branch, :string)
   -> 0.0827s
== AddChangesBranch: migrated (0.0829s) =======================================

== AddChangesetsScmid: migrating ==============================================
-- add_column(:changesets, :scmid, :string)
   -> 0.0580s
== AddChangesetsScmid: migrated (0.0581s) =====================================

== AddRepositoriesType: migrating =============================================
-- add_column(:repositories, :type, :string)
   -> 0.1350s
== AddRepositoriesType: migrated (0.1430s) ====================================

== AddRepositoriesChangesPermission: migrating ================================
== AddRepositoriesChangesPermission: migrated (0.0063s) =======================

== AddVersionsWikiPageTitle: migrating ========================================
-- add_column(:versions, :wiki_page_title, :string)
   -> 0.0745s
== AddVersionsWikiPageTitle: migrated (0.0746s) ===============================

== AddIssueCategoriesAssignedToId: migrating ==================================
-- add_column(:issue_categories, :assigned_to_id, :integer)
   -> 0.0579s
== AddIssueCategoriesAssignedToId: migrated (0.0580s) =========================

[3086]%                                                                                                                [/home/utadaq/work/redmine/tags/0.5.1]
~/work/redmine/tags/0.5.1 | 0* rake  1 cat

なげぇー。
railsで開発してるプロジェクトって、migrateバンバン使うからこんな感じになるんだなと
実感しつつ、セットアップ完了。

あとは、参考URLにあるとおりデータをセットしてWEbrickを起動。

[ERROR:1]% rake load_default_data RAILS_ENV="production"                                                               [/home/utadaq/work/redmine/tags/0.5.1]
(in /home/utadaq/work/redmine/tags/0.5.1)

Select language: bg, de, en, es, fr, it, ja, nl, pt, pt-br, sv, zh [en] ja
====================================
Loading default configuration data for language: ja
[3089]% script/server -e production -p 3001                                                                            [/home/utadaq/work/redmine/tags/0.5.1]
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3001
=> Ctrl-C to shutdown server; call with --help for options
[2007-08-26 19:58:44] INFO  WEBrick 1.3.1
[2007-08-26 19:58:44] INFO  ruby 1.8.5 (2006-08-25) [x86_64-linux]
[2007-08-26 19:58:44] INFO  WEBrick::HTTPServer#start: pid=3527 port=3001

~/work/redmine/tags/0.5.1 | 0* server  1 cat
    • 参考URL

[Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!:http://gihyo.jp/dev/serial/01/redmine/0002?page=2]