== Redmine upgrade Redmine - project management software Copyright (C) 2006- Jean-Philippe Lang https://www.redmine.org/ == Upgrading 1. Uncompress the program archive in a new directory 2. Copy your database settings (RAILS_ROOT/config/database.yml) and your configuration file (RAILS_ROOT/config/configuration.yml) into the new config directory Note: before Redmine 1.2, SMTP configuration was stored in config/email.yml. It should now be stored in config/configuration.yml. 3. Copy the RAILS_ROOT/files directory content into your new installation This directory contains all the attached files. 4. Copy the folders of the installed plugins and themes into new installation Plugins must be stored in the [redmine_root]/plugins directory Themes must be stored in the [redmine_root]/themes directory WARNING: plugins from your previous Redmine version may not be compatible with the Redmine version you're upgrading to. 5. Install the required gems by running: bundle install --without development test If ImageMagick is not installed on your system, you should skip the installation of the rmagick gem using: bundle install --without development test rmagick 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`. 6. Generate a session store secret If you're upgrading from Redmine 2.x or below, remove the following file if it exists: config/initializers/secret_token.rb Then generate a new secret by running the following command under the application directory: 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 DO NOT REPLACE OR EDIT ANY OTHER FILES. 7. 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" from 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" 8. Migrate your database If you are upgrading to Rails 2.3.14 as part of this migration, you need to upgrade the plugin migrations before running the plugin migrations using: bundle exec rake db:migrate:upgrade_plugin_migrations RAILS_ENV="production" Please make a backup before doing this! Under the new application directory run: bundle exec rake db:migrate RAILS_ENV="production" If you have installed any plugins, you should also run their database migrations using: bundle exec rake db:migrate_plugins RAILS_ENV="production" 9. Clear the cache and the existing sessions by running: bundle exec rake tmp:cache:clear tmp:sessions:clear 10. Restart the application server (e.g. mongrel, thin, passenger) 11. Finally go to "Administration -> Roles & permissions" to check/set permissions for new features, if any == References * https://www.redmine.org/wiki/redmine/RedmineUpgrade