ハピハピハッピー
で始まりましたが、前日id:amidaike:20091116のRedmineのインストールの続きです。
サーバ環境は前日をご覧ください。
早速Redmineのインストール作業です。
Redmineのインストール作業を行う前に、MySQLにRedmine用のユーザを作ってあげましょう。
rootユーザでログイン後、redmine要データベースの作成、例としてredminedbとする。
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1029
Server version: 5.1.40-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE DATABASE redminedb DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
その後、redmine用ユーザの作成と権限を設定します。
権限はredminedbにしかつけません。
mysql> CREATE USER 'redmineuser'@'localhost' IDENTIFIED BY 'redmineuser', 'redmineuser'@'127.0.0.1' IDENTIFIED BY 'redmineuser';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON redminedb.* TO 'redmineuser'@'localhost' IDENTIFIED BY 'redmineuser' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON redminedb.* TO 'redmineuser'@'127.0.0.1' IDENTIFIED BY 'redmineuser' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
MySQLの設定は以上。
MySQLは起動しておきましょう。
RedmineのサイトよりRedmine本体をダウンロード
http://rubyforge.org/frs/?group_id=1850
redmine-0.8.7.zipをダウンロードします。
(インストール時点では0.8.7が最新ですた。)
今回は/usr/local直下におきます。
# cd /usr/local/
# wget http://rubyforge.org/frs/download.php/67144/redmine-0.8.7.tar.gz
# tar -xvf redmine-0.8.7.tar.gz
名前はredmine-0.8.7は嫌なのでredmineにする。
# mv redmine-0.8.7 redmine
・Redmine用のデータベース設定
先ほど作成したデータベースの設定をdatabase.ymlに対して行いますが、
そのファイル内のproduction以外の記述は使わなければ不要なためコメントアウトにしておきましょう。
# cd /usr/local/redmine/config
# cp -pr database.yml.example database.yml
# vi database.yml
production:
adapter: mysql
database: redminedb
host: localhost
username: redmineuser
password: redmineuser
encoding: utf8
・Redmin用のテーブルを作成
# cd /usr/local/redmine
# rake db:migrate RAILS_ENV=production
(in /usr/local/redmine)
rake aborted!
Missing session secret. Please run 'rake config/initializers/session_store.rb' to generate one
(See full trace by running task with --trace)
あれ、怒られた。
とりあえず、書いてある通りに実行してみよう。
# rake config/initializers/session_store.rb
で、もう一度実行
# rake db:migrate RAILS_ENV=production
(in /usr/local/redmine)
rake aborted!
No such file or directory - /tmp/mysql.sock
(See full trace by running task with --trace)
また怒られたorz
今回MySQLはRPM版をインストールしてデフォルト起動なので、
/tmp/mysql.sockは/var/lib/mysql/mysql.sockにあるんだなこれが。
というわけで、config/database.ymlに
socket: /var/lib/mysql/mysql.sock
を追記する。
production:
adapter: mysql
database: redminedb
host: localhost
username: redmineuser
password: redmineuser
encoding: utf8
socket: /var/lib/mysql/mysql.sock
更に実行
# rake db:migrate RAILS_ENV=production
(in /usr/local/redmine)
== 1 Setup: migrating =========================================================
-
- create_table("attachments", {:force=>true})
-> 0.0063s
-
- create_table("auth_sources", {:force=>true})
-> 0.0046s
-
- create_table("custom_fields", {:force=>true})
-> 0.0284s
-
- create_table("custom_fields_projects", {:force=>true, :id=>false})
-> 0.0038s
-
- create_table("custom_fields_trackers", {:force=>true, :id=>false})
-> 0.0038s
-
- create_table("custom_values", {:force=>true})
-> 0.0040s
-
- create_table("documents", {:force=>true})
-> 0.0044s
-
- add_index("documents", ["project_id"], {:name=>"documents_project_id"})
-> 0.0350s
-
- create_table("enumerations", {:force=>true})
-> 0.0045s
-
- create_table("issue_categories", {:force=>true})
-> 0.0255s
-
- add_index("issue_categories", ["project_id"], {:name=>"issue_categories_project_id"})
-> 0.0052s
-
- create_table("issue_histories", {:force=>true})
-> 0.0044s
-
- add_index("issue_histories", ["issue_id"], {:name=>"issue_histories_issue_id"})
-> 0.0232s
-
- create_table("issue_statuses", {:force=>true})
-> 0.0043s
-
- create_table("issues", {:force=>true})
-> 0.0195s
-
- add_index("issues", ["project_id"], {:name=>"issues_project_id"})
-> 0.0065s
-
- create_table("members", {:force=>true})
-> 0.0043s
-
- create_table("news", {:force=>true})
-> 0.0215s
-
- add_index("news", ["project_id"], {:name=>"news_project_id"})
-> 0.0055s
-
- create_table("permissions", {:force=>true})
-> 0.0353s
-
- create_table("permissions_roles", {:force=>true, :id=>false})
-> 0.0043s
-
- add_index("permissions_roles", ["role_id"], {:name=>"permissions_roles_role_id"})
-> 0.0053s
-
- create_table("projects", {:force=>true})
-> 0.0053s
-
- create_table("roles", {:force=>true})
-> 0.0043s
-
- create_table("tokens", {:force=>true})
-> 0.0290s
-
- create_table("trackers", {:force=>true})
-> 0.0044s
-
- create_table("users", {:force=>true})
-> 0.0058s
-
- create_table("versions", {:force=>true})
-> 0.0225s
-
- add_index("versions", ["project_id"], {:name=>"versions_project_id"})
-> 0.0260s
-
- create_table("workflows", {:force=>true})
-> 0.0049s
== 1 Setup: migrated (0.6399s) ================================================
== 2 IssueMove: migrating =====================================================
== 2 IssueMove: migrated (0.0081s) ============================================
== 3 IssueAddNote: migrating ==================================================
== 3 IssueAddNote: migrated (0.0080s) =========================================
== 4 ExportPdf: migrating =====================================================
== 4 ExportPdf: migrated (0.0110s) ============================================
== 5 IssueStartDate: migrating ================================================
-
- add_column(:issues, :start_date, :date)
-> 0.0296s
-
- add_column(:issues, :done_ratio, :integer, {:null=>false, :default=>0})
-> 0.0061s
== 5 IssueStartDate: migrated (0.0364s) =======================================
== 6 CalendarAndActivity: migrating ===========================================
== 6 CalendarAndActivity: migrated (0.0144s) ==================================
== 7 CreateJournals: migrating ================================================
-
- create_table(:journals, {:force=>true})
-> 0.0243s
-
- create_table(:journal_details, {:force=>true})
-> 0.0048s
-
- add_index("journals", ["journalized_id", "journalized_type"], {:name=>"journals_journalized_id"})
-> 0.0301s
-
- add_index("journal_details", ["journal_id"], {:name=>"journal_details_journal_id"})
-> 0.0057s
-
- drop_table(:issue_histories)
-> 0.0018s
== 7 CreateJournals: migrated (0.0786s) =======================================
== 8 CreateUserPreferences: migrating =========================================
-
- create_table(:user_preferences)
-> 0.0362s
== 8 CreateUserPreferences: migrated (0.0366s) ================================
== 9 AddHideMailPref: migrating ===============================================
-
- add_column(:user_preferences, :hide_mail, :boolean, {:default=>false})
-> 0.0251s
== 9 AddHideMailPref: migrated (0.0255s) ======================================
== 10 CreateComments: migrating ===============================================
-> 0.0033s
== 10 CreateComments: migrated (0.0036s) ======================================
== 11 AddNewsCommentsCount: migrating =========================================
-
- add_column(:news, :comments_count, :integer, {:null=>false, :default=>0})
-> 0.0061s
== 11 AddNewsCommentsCount: migrated (0.0066s) ================================
== 12 AddCommentsPermissions: migrating =======================================
== 12 AddCommentsPermissions: migrated (0.0110s) ==============================
== 13 CreateQueries: migrating ================================================
-
- create_table(:queries, {:force=>true})
-> 0.0303s
== 13 CreateQueries: migrated (0.0306s) =======================================
== 14 AddQueriesPermissions: migrating ========================================
== 14 AddQueriesPermissions: migrated (0.0080s) ===============================
== 15 CreateRepositories: migrating ===========================================
-
- create_table(:repositories, {:force=>true})
-> 0.0050s
== 15 CreateRepositories: migrated (0.0054s) ==================================
== 16 AddRepositoriesPermissions: migrating ===================================
== 16 AddRepositoriesPermissions: migrated (0.0220s) ==========================
== 17 CreateSettings: migrating ===============================================
-
- create_table(:settings, {:force=>true})
-> 0.0052s
== 17 CreateSettings: migrated (0.0055s) ======================================
== 18 SetDocAndFilesNotifications: migrating ==================================
== 18 SetDocAndFilesNotifications: migrated (0.0208s) =========================
== 19 AddIssueStatusPosition: migrating =======================================
-
- add_column(:issue_statuses, :position, :integer, {:default=>1})
-> 0.0056s
== 19 AddIssueStatusPosition: migrated (0.0145s) ==============================
== 20 AddRolePosition: migrating ==============================================
-
- add_column(:roles, :position, :integer, {:default=>1})
-> 0.0260s
== 20 AddRolePosition: migrated (0.0360s) =====================================
== 21 AddTrackerPosition: migrating ===========================================
-
- add_column(:trackers, :position, :integer, {:default=>1})
-> 0.0222s
== 21 AddTrackerPosition: migrated (0.0239s) ==================================
== 22 SerializePossiblesValues: migrating =====================================
== 22 SerializePossiblesValues: migrated (0.0017s) ============================
== 23 AddTrackerIsInRoadmap: migrating ========================================
-
- add_column(:trackers, :is_in_roadmap, :boolean, {:null=>false, :default=>true})
-> 0.0189s
== 23 AddTrackerIsInRoadmap: migrated (0.0192s) ===============================
== 24 AddRoadmapPermission: migrating =========================================
== 24 AddRoadmapPermission: migrated (0.0081s) ================================
== 25 AddSearchPermission: migrating ==========================================
== 25 AddSearchPermission: migrated (0.0079s) =================================
== 26 AddRepositoryLoginAndPassword: migrating ================================
-
- add_column(:repositories, :login, :string, {:limit=>60, :default=>""})
-> 0.0058s
-
- add_column(:repositories, :password, :string, {:limit=>60, :default=>""})
-> 0.0054s
== 26 AddRepositoryLoginAndPassword: migrated (0.0119s) =======================
== 27 CreateWikis: migrating ==================================================
-> 0.0481s
-
- add_index(:wikis, :project_id, {:name=>:wikis_project_id})
-> 0.0054s
== 27 CreateWikis: migrated (0.0543s) =========================================
== 28 CreateWikiPages: migrating ==============================================
-
- create_table(:wiki_pages)
-> 0.0032s
-> 0.0168s
== 28 CreateWikiPages: migrated (0.0208s) =====================================
== 29 CreateWikiContents: migrating ===========================================
-
- create_table(:wiki_contents)
-> 0.0290s
-
- add_index(:wiki_contents, :page_id, {:name=>:wiki_contents_page_id})
-> 0.0272s
-
- create_table(:wiki_content_versions)
-> 0.0037s
-
- add_index(:wiki_content_versions, :wiki_content_id, {:name=>:wiki_content_versions_wcid})
-> 0.0055s
== 29 CreateWikiContents: migrated (0.0669s) ==================================
== 30 AddProjectsFeedsPermissions: migrating ==================================
== 30 AddProjectsFeedsPermissions: migrated (0.0088s) =========================
== 31 AddRepositoryRootUrl: migrating =========================================
-
- add_column(:repositories, :root_url, :string, {:limit=>255, :default=>""})
-> 0.0533s
== 31 AddRepositoryRootUrl: migrated (0.0538s) ================================
== 32 CreateTimeEntries: migrating ============================================
-
- create_table(:time_entries)
-> 0.0044s
-
- add_index(:time_entries, [:project_id], {:name=>:time_entries_project_id})
-> 0.0250s
-
- add_index(:time_entries, [:issue_id], {:name=>:time_entries_issue_id})
-> 0.0271s
== 32 CreateTimeEntries: migrated (0.0578s) ===================================
== 33 AddTimelogPermissions: migrating ========================================
== 33 AddTimelogPermissions: migrated (0.0079s) ===============================
== 34 CreateChangesets: migrating =============================================
-
- create_table(:changesets)
-> 0.0035s
-
- add_index(:changesets, [:repository_id, :revision], {:unique=>true, :name=>:changesets_repos_rev})
-> 0.0272s
== 34 CreateChangesets: migrated (0.0314s) ====================================
== 35 CreateChanges: migrating ================================================
-> 0.0032s
-
- add_index(:changes, [:changeset_id], {:name=>:changesets_changeset_id})
-> 0.0509s
== 35 CreateChanges: migrated (0.0549s) =======================================
== 36 AddChangesetCommitDate: migrating =======================================
-
- add_column(:changesets, :commit_date, :date)
-> 0.0256s
== 36 AddChangesetCommitDate: migrated (0.0268s) ==============================
== 37 AddProjectIdentifier: migrating =========================================
-
- add_column(:projects, :identifier, :string, {:limit=>20})
-> 0.0880s
== 37 AddProjectIdentifier: migrated (0.0884s) ================================
== 38 AddCustomFieldIsFilter: migrating =======================================
-
- add_column(:custom_fields, :is_filter, :boolean, {:null=>false, :default=>false})
-> 0.0057s
== 38 AddCustomFieldIsFilter: migrated (0.0062s) ==============================
== 39 CreateWatchers: migrating ===============================================
-> 0.0030s
== 39 CreateWatchers: migrated (0.0034s) ======================================
== 40 CreateChangesetsIssues: migrating =======================================
-
- create_table(:changesets_issues, {:id=>false})
-> 0.0195s
-
- add_index(:changesets_issues, [:changeset_id, :issue_id], {:unique=>true, :name=>:changesets_issues_ids})
-> 0.0053s
== 40 CreateChangesetsIssues: migrated (0.0256s) ==============================
== 41 RenameCommentToComments: migrating ======================================
== 41 RenameCommentToComments: migrated (0.0694s) =============================
== 42 CreateIssueRelations: migrating =========================================
-
- create_table(:issue_relations)
-> 0.0032s
== 42 CreateIssueRelations: migrated (0.0036s) ================================
== 43 AddRelationsPermissions: migrating ======================================
== 43 AddRelationsPermissions: migrated (0.0111s) =============================
== 44 SetLanguageLengthToFive: migrating ======================================
-
- change_column(:users, :language, :string, {:limit=>5, :default=>""})
-> 0.0317s
== 44 SetLanguageLengthToFive: migrated (0.0322s) =============================
== 45 CreateBoards: migrating =================================================
-> 0.0035s
-
- add_index(:boards, [:project_id], {:name=>:boards_project_id})
-> 0.0333s
== 45 CreateBoards: migrated (0.0376s) ========================================
== 46 CreateMessages: migrating ===============================================
-> 0.0039s
-
- add_index(:messages, [:board_id], {:name=>:messages_board_id})
-> 0.0058s
-
- add_index(:messages, [:parent_id], {:name=>:messages_parent_id})
-> 0.0232s
== 46 CreateMessages: migrated (0.0340s) ======================================
== 47 AddBoardsPermissions: migrating =========================================
== 47 AddBoardsPermissions: migrated (0.0137s) ================================
== 48 AllowNullVersionEffectiveDate: migrating ================================
-
- change_column(:versions, :effective_date, :date, {:null=>true, :default=>nil})
-> 0.0084s
== 48 AllowNullVersionEffectiveDate: migrated (0.0088s) =======================
== 49 AddWikiDestroyPagePermission: migrating =================================
== 49 AddWikiDestroyPagePermission: migrated (0.0079s) ========================
== 50 AddWikiAttachmentsPermissions: migrating ================================
== 50 AddWikiAttachmentsPermissions: migrated (0.0106s) =======================
== 51 AddProjectStatus: migrating =============================================
-
- add_column(:projects, :status, :integer, {:null=>false, :default=>1})
-> 0.0192s
== 51 AddProjectStatus: migrated (0.0196s) ====================================
== 52 AddChangesRevision: migrating ===========================================
-
- add_column(:changes, :revision, :string)
-> 0.0056s
== 52 AddChangesRevision: migrated (0.0060s) ==================================
== 53 AddChangesBranch: migrating =============================================
-
- add_column(:changes, :branch, :string)
-> 0.0330s
== 53 AddChangesBranch: migrated (0.0334s) ====================================
== 54 AddChangesetsScmid: migrating ===========================================
-
- add_column(:changesets, :scmid, :string)
-> 0.0057s
== 54 AddChangesetsScmid: migrated (0.0061s) ==================================
== 55 AddRepositoriesType: migrating ==========================================
-
- add_column(:repositories, :type, :string)
-> 0.0229s
== 55 AddRepositoriesType: migrated (0.0240s) =================================
== 56 AddRepositoriesChangesPermission: migrating =============================
== 56 AddRepositoriesChangesPermission: migrated (0.0079s) ====================
== 57 AddVersionsWikiPageTitle: migrating =====================================
-
- add_column(:versions, :wiki_page_title, :string)
-> 0.0060s
== 57 AddVersionsWikiPageTitle: migrated (0.0063s) ============================
== 58 AddIssueCategoriesAssignedToId: migrating ===============================
-
- add_column(:issue_categories, :assigned_to_id, :integer)
-> 0.0643s
== 58 AddIssueCategoriesAssignedToId: migrated (0.0647s) ======================
== 59 AddRolesAssignable: migrating ===========================================
-
- add_column(:roles, :assignable, :boolean, {:default=>true})
-> 0.0053s
== 59 AddRolesAssignable: migrated (0.0058s) ==================================
== 60 ChangeChangesetsCommitterLimit: migrating ===============================
-
- change_column(:changesets, :committer, :string, {:limit=>nil})
-> 0.0085s
== 60 ChangeChangesetsCommitterLimit: migrated (0.0090s) ======================
== 61 AddRolesBuiltin: migrating ==============================================
-
- add_column(:roles, :builtin, :integer, {:null=>false, :default=>0})
-> 0.0251s
== 61 AddRolesBuiltin: migrated (0.0255s) =====================================
== 62 InsertBuiltinRoles: migrating ===========================================
== 62 InsertBuiltinRoles: migrated (0.0149s) ==================================
== 63 AddRolesPermissions: migrating ==========================================
-
- add_column(:roles, :permissions, :text)
-> 0.0056s
== 63 AddRolesPermissions: migrated (0.0060s) =================================
== 64 DropPermissions: migrating ==============================================
-> 0.0019s
-
- drop_table(:permissions_roles)
-> 0.0017s
== 64 DropPermissions: migrated (0.0043s) =====================================
== 65 AddSettingsUpdatedOn: migrating =========================================
-
- add_column(:settings, :updated_on, :timestamp)
-> 0.0271s
== 65 AddSettingsUpdatedOn: migrated (0.0383s) ================================
== 66 AddCustomValueCustomizedIndex: migrating ================================
-
- add_index(:custom_values, [:customized_type, :customized_id], {:name=>:custom_values_customized})
-> 0.0058s
== 66 AddCustomValueCustomizedIndex: migrated (0.0063s) =======================
== 67 CreateWikiRedirects: migrating ==========================================
-
- create_table(:wiki_redirects)
-> 0.0450s
-
- add_index(:wiki_redirects, [:wiki_id, :title], {:name=>:wiki_redirects_wiki_id_title})
-> 0.0055s
== 67 CreateWikiRedirects: migrated (0.0513s) =================================
== 68 CreateEnabledModules: migrating =========================================
-
- create_table(:enabled_modules)
-> 0.0033s
-
- add_index(:enabled_modules, [:project_id], {:name=>:enabled_modules_project_id})
-> 0.0164s
== 68 CreateEnabledModules: migrated (0.0222s) ================================
== 69 AddIssuesEstimatedHours: migrating ======================================
-
- add_column(:issues, :estimated_hours, :float)
-> 0.0066s
== 69 AddIssuesEstimatedHours: migrated (0.0070s) =============================
== 70 ChangeAttachmentsContentTypeLimit: migrating ============================
-
- change_column(:attachments, :content_type, :string, {:limit=>nil})
-> 0.0219s
== 70 ChangeAttachmentsContentTypeLimit: migrated (0.0223s) ===================
== 71 AddQueriesColumnNames: migrating ========================================
-
- add_column(:queries, :column_names, :text)
-> 0.0056s
== 71 AddQueriesColumnNames: migrated (0.0059s) ===============================
== 72 AddEnumerationsPosition: migrating ======================================
-
- add_column(:enumerations, :position, :integer, {:default=>1})
-> 0.0057s
== 72 AddEnumerationsPosition: migrated (0.0154s) =============================
== 73 AddEnumerationsIsDefault: migrating =====================================
-
- add_column(:enumerations, :is_default, :boolean, {:null=>false, :default=>false})
-> 0.0579s
== 73 AddEnumerationsIsDefault: migrated (0.0582s) ============================
== 74 AddAuthSourcesTls: migrating ============================================
-
- add_column(:auth_sources, :tls, :boolean, {:null=>false, :default=>false})
-> 0.0062s
== 74 AddAuthSourcesTls: migrated (0.0064s) ===================================
== 75 AddMembersMailNotification: migrating ===================================
-
- add_column(:members, :mail_notification, :boolean, {:null=>false, :default=>false})
-> 0.0232s
== 75 AddMembersMailNotification: migrated (0.0234s) ==========================
== 76 AllowNullPosition: migrating ============================================
-
- change_column(:issue_statuses, :position, :integer, {:null=>true, :default=>1})
-> 0.0050s
-
- change_column(:roles, :position, :integer, {:null=>true, :default=>1})
-> 0.0050s
-
- change_column(:trackers, :position, :integer, {:null=>true, :default=>1})
-> 0.0048s
-
- change_column(:boards, :position, :integer, {:null=>true, :default=>1})
-> 0.0050s
-
- change_column(:enumerations, :position, :integer, {:null=>true, :default=>1})
-> 0.0049s
== 76 AllowNullPosition: migrated (0.0258s) ===================================
== 77 RemoveIssueStatusesHtmlColor: migrating =================================
-
- remove_column(:issue_statuses, :html_color)
-> 0.0053s
== 77 RemoveIssueStatusesHtmlColor: migrated (0.0055s) ========================
== 78 AddCustomFieldsPosition: migrating ======================================
-
- add_column(:custom_fields, :position, :integer, {:default=>1})
-> 0.0059s
== 78 AddCustomFieldsPosition: migrated (0.0080s) =============================
== 79 AddUserPreferencesTimeZone: migrating ===================================
-
- add_column(:user_preferences, :time_zone, :string)
-> 0.0243s
== 79 AddUserPreferencesTimeZone: migrated (0.0244s) ==========================
== 80 AddUsersType: migrating =================================================
-
- add_column(:users, :type, :string)
-> 0.0063s
== 80 AddUsersType: migrated (0.0077s) ========================================
== 81 CreateProjectsTrackers: migrating =======================================
-
- create_table(:projects_trackers, {:id=>false})
-> 0.0030s
-
- add_index(:projects_trackers, :project_id, {:name=>:projects_trackers_project_id})
-> 0.0200s
== 81 CreateProjectsTrackers: migrated (0.0263s) ==============================
== 82 AddMessagesLocked: migrating ============================================
-
- add_column(:messages, :locked, :boolean, {:default=>false})
-> 0.0547s
== 82 AddMessagesLocked: migrated (0.0549s) ===================================
== 83 AddMessagesSticky: migrating ============================================
-
- add_column(:messages, :sticky, :integer, {:default=>0})
-> 0.0062s
== 83 AddMessagesSticky: migrated (0.0064s) ===================================
== 84 ChangeAuthSourcesAccountLimit: migrating ================================
-
- change_column(:auth_sources, :account, :string, {:limit=>nil})
-> 0.0094s
== 84 ChangeAuthSourcesAccountLimit: migrated (0.0096s) =======================
== 85 AddRoleTrackerOldStatusIndexToWorkflows: migrating ======================
-
- add_index(:workflows, [:role_id, :tracker_id, :old_status_id], {:name=>:wkfs_role_tracker_old_status})
-> 0.0248s
== 85 AddRoleTrackerOldStatusIndexToWorkflows: migrated (0.0250s) =============
== 86 AddCustomFieldsSearchable: migrating ====================================
-
- add_column(:custom_fields, :searchable, :boolean, {:default=>false})
-> 0.0059s
== 86 AddCustomFieldsSearchable: migrated (0.0061s) ===========================
== 87 ChangeProjectsDescriptionToText: migrating ==============================
-
- change_column(:projects, :description, :text, {:null=>true, :default=>nil})
-> 0.0326s
== 87 ChangeProjectsDescriptionToText: migrated (0.0328s) =====================
== 88 AddCustomFieldsDefaultValue: migrating ==================================
-
- add_column(:custom_fields, :default_value, :text)
-> 0.0057s
== 88 AddCustomFieldsDefaultValue: migrated (0.0059s) =========================
== 89 AddAttachmentsDescription: migrating ====================================
-
- add_column(:attachments, :description, :string)
-> 0.0237s
== 89 AddAttachmentsDescription: migrated (0.0239s) ===========================
== 90 ChangeVersionsNameLimit: migrating ======================================
-
- change_column(:versions, :name, :string, {:limit=>nil})
-> 0.0087s
== 90 ChangeVersionsNameLimit: migrated (0.0089s) =============================
== 91 ChangeChangesetsRevisionToString: migrating =============================
-
- change_column(:changesets, :revision, :string, {:null=>false})
-> 0.0384s
== 91 ChangeChangesetsRevisionToString: migrated (0.0386s) ====================
== 92 ChangeChangesFromRevisionToString: migrating ============================
-
- change_column(:changes, :from_revision, :string)
-> 0.0590s
== 92 ChangeChangesFromRevisionToString: migrated (0.0592s) ===================
== 93 AddWikiPagesProtected: migrating ========================================
-
- add_column(:wiki_pages, :protected, :boolean, {:null=>false, :default=>false})
-> 0.0061s
== 93 AddWikiPagesProtected: migrated (0.0063s) ===============================
== 94 ChangeProjectsHomepageLimit: migrating ==================================
-
- change_column(:projects, :homepage, :string, {:limit=>nil, :default=>""})
-> 0.0330s
== 94 ChangeProjectsHomepageLimit: migrated (0.0332s) =========================
== 95 AddWikiPagesParentId: migrating =========================================
-
- add_column(:wiki_pages, :parent_id, :integer, {:default=>nil})
-> 0.0061s
== 95 AddWikiPagesParentId: migrated (0.0063s) ================================
== 96 AddCommitAccessPermission: migrating ====================================
== 96 AddCommitAccessPermission: migrated (0.0016s) ===========================
== 97 AddViewWikiEditsPermission: migrating ===================================
== 97 AddViewWikiEditsPermission: migrated (0.0016s) ==========================
== 98 SetTopicAuthorsAsWatchers: migrating ====================================
== 98 SetTopicAuthorsAsWatchers: migrated (0.0072s) ===========================
== 99 AddDeleteWikiPagesAttachmentsPermission: migrating ======================
== 99 AddDeleteWikiPagesAttachmentsPermission: migrated (0.0014s) =============
== 100 AddChangesetsUserId: migrating =========================================
-
- add_column(:changesets, :user_id, :integer, {:default=>nil})
-> 0.0330s
== 100 AddChangesetsUserId: migrated (0.0332s) ================================
== 101 PopulateChangesetsUserId: migrating ====================================
== 101 PopulateChangesetsUserId: migrated (0.0013s) ===========================
やった。うまいこといった。
という事で初期データを入れます。
rake load_default_data RAILS_ENV=production
(in /usr/local/redmine)
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] ja
====================================
Default configuration data loaded.
Note: The rake task load_default_data has been deprecated, please use the replacement version redmine:load_default_data
languageはjaと入力して終了。
メール送信は使う必要がなければ設定で無効にしておきましょう。
config/environment.rb
の以下の行をfalseにしておけばメールは無効です。
config.action_mailer.perform_deliveries = false
メール送信したければtrueにし、
email.yml.exampleをemail.ymlにしsmtpサーバの設定を行いましょう。
今回は説明を省きます。
以上でRedmineのインストール及び設定は基本的には完了です。
とりあえずの確認は、
# ruby script/server -e production
と実行すればwebサーバが起動し3000/tcpで待ち受け状態となるので、
ブラウザでアクセスするとログイン画面が表示されます。
Apacheと連携させたいので、
Ruby on RailsアプリケーションをApacheで連携させる
"Phusion Passenger(mod_rails for Apache)":http://www.modrails.com/
を利用して運用させます。
要は、PassengerはRailsアプリケーションを動かすためのApacheモジュールです。
Passengerをインストールしていきます。
Passengerはgemでインストール可能みたいです。
# gem install passenger
Building native extensions. This could take a while...
Building native extensions. This could take a while...
Successfully installed fastthread-1.0.7
Successfully installed passenger-2.2.7
2 gems installed
Installing ri documentation for fastthread-1.0.7...
No definition for dummy_dump
No definition for dummy_dump
No definition for rb_queue_marshal_load
No definition for rb_queue_marshal_dump
No definition for dummy_dump
No definition for dummy_dump
No definition for rb_queue_marshal_load
No definition for rb_queue_marshal_dump
Installing ri documentation for passenger-2.2.7...
Installing RDoc documentation for fastthread-1.0.7...
No definition for dummy_dump
No definition for dummy_dump
No definition for rb_queue_marshal_load
No definition for rb_queue_marshal_dump
No definition for dummy_dump
No definition for dummy_dump
No definition for rb_queue_marshal_load
No definition for rb_queue_marshal_dump
Installing RDoc documentation for passenger-2.2.7...
次に、今インストールしたpassenger-install-apache2-moduleを実行して
Apacheモジュールのビルドとインストールを行います。
# passenger-install-apache2-module
対話形式で開始
Welcome to the Phusion Passenger Apache 2 module installer, v2.2.7.
This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.
Here's what you can expect from the installation process:
1. The Apache 2 module will be installed for you.
2. You'll learn how to configure Apache.
3. You'll learn how to deploy a Ruby on Rails application.
Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.
Press Enter to continue, or Ctrl-C to abort.
(Enterを押す)
Checking for required software...
*
GNU C++ compiler... not found
*
Ruby development headers... found
* OpenSSL support for
Ruby... found
*
RubyGems... found
* Rake... found at /usr/local/bin/rake
*
Apache 2... found at /usr/sbin/
httpd
*
Apache 2 development headers... not found
*
Apache Portable Runtime (
APR) development headers... not found
*
Apache Portable Runtime Utility (APU) development headers... not found
Some required software is not installed.
But don't worry, this installer will tell you how to install them.
Press Enter to continue, or Ctrl-C to abort.
あれ、ログを見ると必要なソフトウェアが無いという事なので、
Ctrl-Cを押して処理を中断し、必要なソフトウェアのインストールを行います。
上記より
* GNU C++ compiler... not found
* Apache 2 development headers... not found
* Apache Portable Runtime (APR) development headers... not found
* Apache Portable Runtime Utility (APU) development headers... not found
が無いという事なので、インストールを行っちゃいましょう。
# yum install gcc-c++
# yum install httpd-devel
再度実行。
# passenger-install-apache2-module
対話形式で開始
Welcome to the Phusion Passenger Apache 2 module installer, v2.2.7.
This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.
Here's what you can expect from the installation process:
1. The Apache 2 module will be installed for you.
2. You'll learn how to configure Apache.
3. You'll learn how to deploy a Ruby on Rails application.
Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.
Press Enter to continue, or Ctrl-C to abort.
(Enterを押す)
Checking for required software...
*
GNU C++ compiler... found at /usr/bin/g++
*
Ruby development headers... found
* OpenSSL support for
Ruby... found
*
RubyGems... found
* Rake... found at /usr/local/bin/rake
*
Apache 2... found at /usr/sbin/
httpd
*
Apache 2 development headers... found at /usr/sbin/apxs
*
Apache Portable Runtime (
APR) development headers... found at /usr/bin/
apr-1-config
*
Apache Portable Runtime Utility (APU) development headers... found at /usr/bin/apu-1-config
Compiling and installing
Apache 2 module...
cd /usr/local/lib/
ruby/gems/1.8/gems/passenger-2.2.7
/usr/local/bin/
ruby -S /usr/local/bin/rake clean apache2
# /usr/local/bin/
ruby -S /usr/local/bin/rake clean apache2
(in /usr/local/lib/
ruby/gems/1.8/gems/passenger-2.2.7)
rm -rf ext/apache2/libboost_
oxt.a ext/apache2/libboost_
oxt
rm -rf ext/apache2/libpassenger_common.a ext/apache2/ApplicationPoolServerExecutable ext/apache2/libpassenger_common
rm -rf ext/apache2/Configuration.o ext/apache2/
Bucket.o ext/apache2/Hooks.o ext/apache2/mod_passenger.o ext/apache2/mod_passenger.so
rm -rf ext/nginx/libboost_
oxt.a ext/nginx/libboost_
oxt
rm -rf ext/nginx/libpassenger_common.a ext/nginx/libpassenger_common
rm -rf ext/nginx/HelperServer
rm -rf test/libboost_
oxt.a test/libboost_
oxt
rm -rf test/libpassenger_common.a test/ApplicationPoolServerExecutable test/libpassenger_common
rm -rf test/oxt/oxt_test_main test/oxt/*.o test/CxxTests test/*.o
rm -r pkg
cd ext/phusion_passenger && make clean
rm -f ext/phusion_passenger/
Makefile
mkdir -p ext/apache2/libpassenger_common
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libpassenger_common/Utils.o -c ext/common/Utils.cpp
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libpassenger_common/Logging.o -c ext/common/Logging.cpp
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libpassenger_common/SystemTime.o -c ext/common/SystemTime.cpp
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libpassenger_common/CachedFileStat.o -c ext/common/CachedFileStat.cpp
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libpassenger_common/
Base64.o -c ext/common/
Base64.cpp
mkdir -p ext/apache2/libpassenger_common
rm -rf ext/apache2/libpassenger_common.a
ar cru ext/apache2/libpassenger_common.a ext/apache2/libpassenger_common/*.o
ranlib ext/apache2/libpassenger_common.a
mkdir -p ext/apache2/libboost_
oxt/boost
g++ -Iext -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libboost_
oxt/boost/exceptions.o -c ext/boost/src/pthread/exceptions.cpp
g++ -Iext -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libboost_
oxt/boost/thread.o -c ext/boost/src/pthread/thread.cpp
g++ -Iext -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libboost_
oxt/boost/once.o -c ext/boost/src/pthread/once.cpp
mkdir -p ext/apache2/libboost_
oxt/
oxt
g++ -Iext -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libboost_
oxt/
oxt/thread.o -c ext/oxt/thread.cpp
g++ -Iext -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libboost_
oxt/
oxt/backtrace.o -c ext/oxt/backtrace.cpp
g++ -Iext -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libboost_
oxt/
oxt/tracable_exception.o -c ext/oxt/tracable_exception.cpp
g++ -Iext -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/libboost_
oxt/
oxt/system_calls.o -c ext/oxt/system_calls.cpp
mkdir -p ext/apache2/libboost_
oxt/boost ext/apache2/libboost_
oxt/
oxt
rm -rf ext/apache2/libboost_
oxt.a
ar cru ext/apache2/libboost_
oxt.a ext/apache2/libboost_
oxt/boost/*.o ext/apache2/libboost_
oxt/
oxt/*.o
ranlib ext/apache2/libboost_
oxt.a
g++ ext/common/ApplicationPoolServerExecutable.cpp -o ext/apache2/ApplicationPoolServerExecutable -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS ext/apache2/libpassenger_common.a ext/apache2/libboost_
oxt.a -lpthread
gcc -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/mod_passenger.o -c ext/apache2/mod_passenger.c
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/Configuration.o -c ext/apache2/Configuration.cpp
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/
Bucket.o -c ext/apache2/
Bucket.cpp
g++ -Iext -Iext/common -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/apache2/Hooks.o -c ext/apache2/Hooks.cpp
g++ -shared ext/apache2/Configuration.o ext/apache2/
Bucket.o ext/apache2/Hooks.o ext/apache2/mod_passenger.o -fPIC -o ext/apache2/mod_passenger.so -fPIC -DLINUX=2 -D_REENTRANT -D_
GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/
apr-1 -I/usr/include/
apr-1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=
ssp-buffer-size=4 -m32 -march=
i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -I/usr/include/
httpd -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS ext/apache2/libpassenger_common.a ext/apache2/libboost_
oxt.a -fPIC -lapr-1 -laprutil-1 -lpthread
cd ext/phusion_passenger && /usr/local/bin/
ruby extconf.rb
creating
Makefile
cd ext/phusion_passenger && make
gcc -I. -I/usr/local/lib/
ruby/1.8/
i686-
linux -I/usr/local/lib/
ruby/1.8/
i686-
linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c native_support.c
gcc -shared -o native_support.so native_support.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L. -rdynamic -Wl,-export-dynamic
The
Apache 2 module was successfully installed.
Please edit your
Apache configuration file, and add these lines:
LoadModule passenger_module /usr/local/lib/
ruby/gems/1.8/gems/passenger-2.2.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/
ruby/gems/1.8/gems/passenger-2.2.7
PassengerRuby /usr/local/bin/
ruby
After you restart
Apache, you are ready to deploy any number of
Ruby on Rails
applications on
Apache, without any further
Ruby on Rails-specific
configuration!
Press ENTER to continue.
(Enterを押す)
Deploying a
Ruby on Rails application: an example
Suppose you have a
Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:
/usr/local/lib/
ruby/gems/1.8/gems/passenger-2.2.7/doc/Users guide
Apache.html
Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
http://www.modrails.com/
Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
おぉ今度はちゃんとうまくいったぞ。
途中にあった
Please edit your Apache configuration file, and add these lines:
以下の内容や最後に出来た
VirtualHostの設定部分をhttpd.confに設定するんだな。
という訳でApacheのhttpd.confに設定してみましょうか。
各環境にあるhttpd.confに最後に教えてくれた内容を記述していきましょう。
その前に、
URLはhttp://www.hogehoge.com/redmine/
というようにしたかったので、
標準のドキュメントルートにシンボリックリンクを貼って対応します。
例えばドキュメントルートが
/var/www/html/
だった場合
# ln -s /usr/local/redmine/public /var/www/html/redmine
とします。
Apacheはyumでインストールしたので、
/etc/httpd/conf
直下に
httpd.conf
がありますが、
直接記述せずconf.dにredmineファイルを用意しそこに記述するようにしています。
# cd /etc/httpd/conf.d
# vi redmine.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.7
PassengerRuby /usr/local/bin/ruby
RailsBaseURI /redmine
VirtualHostで動かしたい場合、
VirtualHostで設定してください。
今回は設定する必要がなかったので書いてません。
後、RailsBaseの設定を追加しました。
その後、Apacheを再起動して接続してみましょう。
# service httpd restart
http://www.hogehoge.com/redmine
あれ、エラー500だ・・・
Apacheのエラーログを見るとこんな記述が
# view /var/log/httpd/error_log
Apache/2.2.3 (CentOS) configured -- resuming normal operationsRails Error: Unable to access log file. Please ensure that /usr/local/redmine/log/production.log exists a
nd is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
なるほど、パーミッションの設定ね。
という訳で
/usr/local/redmine/log/production.log
のパーミッションを変更
# chmod 666 /usr/local/redmine/log/production.log
あれ、それでもエラー500だ。
今度はエラーログに何の記述もない・・・
恐らく所有者の問題だろう(/usr/local/redmine以下はオーナーが1000:1000になってました)の問題だろうということで
/usr/local/redmine/public
ディレクトリ以下のオーナーをnobodyとして一気に変えてみる。
# chown -fR nobody:nobody /usr/local/redmine/public
まだエラー500が出るorz
今度は
/usr/local/redmine/log/production.log
を見ると、そこに
Status: 500 Internal Server Error
Permission denied - /usr/local/redmine/tmp/sessions//ruby_sess.b07770ed6a354169
とあった。
これもオーナーだろうかという事で、
/usr/local/redmine/tmp
のオーナーを変更する。
# chown -fR nobody:nobody /usr/local/redmine/tmp
これで再度接続。。。
やった。表示された。うれしい♪
ここまで長い道のりだった。
次にやるのはredmineの設定ですね。
今日はここまで。設定はまた翌日へ続くのである。
という訳で、みんなも作ってアラモード