1. Copy your plugin directory into #{RAILS_ROOT}/plugins (Redmine 2.x) or #{RAILS_ROOT}/vendor/plugins (Redmine 1.x). If you are downloading the plugin directly from GitHub, you can do so by changing into your plugin directory and issuing a command like git clone git://github.com/user_name/name_of_the_plugin.git.

2. If the plugin requires a migration, run the following command in #{RAILS_ROOT} to upgrade your database (make a db backup before).

2.1. For Redmine 1.x:

bundle exec rake db:migrate_plugins RAILS_ENV=production

2.2. For Redmine 2.x:

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

3. Restart Redmine

You should now be able to see the plugin list in Administration -> Plugins and configure the newly installed plugin (if the plugin requires to be configured).

There are changes in Plugins API or new Rails requirements which need to be considered if you want to use plugin from prior version of redmine.In any case it's proposed to update and migrate redmine core system first without plugins and then if stable try to drop in one by one, to know where problems come from if any.

Consideration towards plugins which overwrite views completely because of bad coding style or there is no "hook" available shall be made in any case. Maybe you can collect and write down plugin references here which are of this type.