1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
== Redmine installation
Redmine - project management software
Copyright (C) 2006- Jean-Philippe Lang
https://www.redmine.org/
== Requirements
* Ruby 3.1, 3.2, 3.3
* A database:
* MySQL (tested with MySQL 8)
* PostgreSQL (tested with PostgreSQL 14)
* SQLite3 (tested with SQLite 3.11)
* SQLServer (tested with SQLServer 2012)
Optional:
* SCM binaries (e.g. svn, git...), for repository browsing (must be
available in PATH)
* ImageMagick (to enable Gantt export to png images)
Supported browsers:
The current version of Firefox, Safari, Chrome, Chromium and Microsoft Edge.
== Installation
1. Uncompress the program archive
2. Create an empty utf8 encoded database: "redmine" for example
3. Configure the database parameters in config/database.yml
for the "production" environment (default database is MySQL)
4. Install the required gems by running:
bundle install --without development test
Only the gems that are needed by the adapters you've specified in your
database configuration file are actually installed (eg. if your
config/database.yml uses the 'mysql2' adapter, then only the mysql2 gem
will be installed). Don't forget to re-run `bundle install` when you
change config/database.yml for using other database adapters.
If you need to load some gems that are not required by Redmine core
(eg. fcgi), you can create a file named Gemfile.local at the root of
your redmine directory.
It will be loaded automatically when running `bundle install`.
5. Generate a session store secret
Redmine stores session data in cookies by default, which requires
a secret to be generated. Under the application main directory run:
bundle exec rake generate_secret_token
Alternatively, you can store this secret in config/secrets.yml:
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml
6. Compile assets (optional)
Compile the assets such as stylesheets, javascripts and images into the public/assets
directory for web server delivery.
By default, Redmine automatically recompiles assets in production mode when the application starts.
This behavior can be controlled using the "config.assets.redmine_detect_update" flag in the configuration file.
To manually compile assets or if automatic compilation is disabled:
using:
bundle exec rake assets:precompile RAILS_ENV="production"
If deploying to a sub-uri, set the relative URL root as follows:
bundle exec rake assets:precompile RAILS_ENV="production" RAILS_RELATIVE_URL_ROOT=/sub-uri
If you experience issues with missing assets in the browser, try
removing the public/assets directory before re-running the precompile:
bundle exec rake assets:clobber RAILS_ENV="production"
7. Create the database structure
Under the application main directory run:
bundle exec rake db:migrate RAILS_ENV="production"
It will create all the tables and an administrator account.
8. Setting up permissions (Windows users have to skip this section)
The user who runs Redmine must have write permission on the following
subdirectories: files, log, tmp & public/assets.
Assuming you run Redmine with a user named "redmine":
sudo chown -R redmine:redmine files log tmp public/assets
sudo chmod -R 755 files log tmp public/assets
9. Test the installation by running the Puma web server
Under the main application directory run:
ruby bin/rails server -e production
Once Puma has started, point your browser to http://localhost:3000/
You should now see the application welcome page.
10. Use the default administrator account to log in:
login: admin
password: admin
Go to "Administration" to load the default configuration data (roles,
trackers, statuses, workflow) and to adjust the application settings
== Database server configuration
When using MySQL with Redmine 5.1.1 or later, it is necessary to change
the transaction isolation level from the default REPEATABLE READ to
READ_COMMITTED. To modify this setting, either change the database
configuration file or alter the settings on your MySQL server.
To set the transaction isolation level in the database configuration file,
add transaction_isolation variable as below:
production:
adapter: mysql2
database: redmine
host: localhost
[...]
variables:
transaction_isolation: "READ-COMMITTED"
More details can be found in https://www.redmine.org/projects/redmine/wiki/MySQL_configuration.
== SMTP server Configuration
Copy config/configuration.yml.example to config/configuration.yml and
edit this file to adjust your SMTP settings.
Do not forget to restart the application after any change to this file.
Please do not enter your SMTP settings in environment.rb.
== References
* https://www.redmine.org/wiki/redmine/RedmineInstall
* https://www.redmine.org/wiki/redmine/EmailConfiguration
* https://www.redmine.org/wiki/redmine/RedmineSettings
* https://www.redmine.org/wiki/redmine/RedmineRepositories
* https://www.redmine.org/wiki/redmine/RedmineReceivingEmails
* https://www.redmine.org/wiki/redmine/RedmineReminderEmails
* https://www.redmine.org/wiki/redmine/RedmineLDAP
|