RedmineUP Blog

Subscribe for newsletter

How to migrate your Redmine from Bitnami to RedmineUP?

Georgi Marinov | Mar 23, 19

Today we take a look at the process of migrating an existing Redmine server to the RedmineUP cloud. Relocating a whole service sounds like a tedious and error prone undergoing... but don't things often seem bigger than they truly are? Read on to gain clarity on the actual steps involved.

An important question is time: provided there are no other migrations taking place, our team usually completes a migration in 3 to 4 hours.

In case of any questions or if you want to schedule a meeting, <a href="mailto:marti@redmineup.com">drop us a message</a>.

[[toc]]

Why migrate?

Motivation first. There is an array of burdens connected to a self-hosted server...
  • missing data security gaps due to constant updates of Redmine
  • supplying a Linux administrator to manage the server
  • seeking support when a new problem occurs
  • lacking functionality and customization

Migrating transfers those in the hands of people that are experienced in handling such issues and have a broad overview in the field. Updates and security relevant findings, which emerge frequently, are quickly identified and incorporated. The system is maintained in a state-of-the-art.

Redmine is no longer in need of your care, but becomes purely a tool to support your main activity.

On top of that, over at RedmineUP you get:
  • All built-in Redmine features
  • 5 fully-responsive and mobile-friendly themes
  • Zero migration and setup fees
  • Bug tracking
  • Daily backups
  • SSL security
  • Amazing support :)
... and you can also subscribe for our plugin content:
  • 16+ Redmine plugins (modules) such as helpdesk, CRM, reports, Mailchimp, invoices, products and more
  • Agile project management with options such as Sprint Planners, Scrum/Kanban boards, Agile Charts, Quick Search and so on

1. Meet us.

In a kick off meeting you get in touch, clarify any open questions and provide necessary info. This includes:
  1. In what day do you want us to migrate your Redmine?
  2. In case you already use our plugins: which ones?
  3. How many users do you have?

You should also mention specifics of your Redmine situation - for example, if you run multiple Redmine servers.

Two more things are needed to complete the migration process - a Redmine Cloud account and a backup of your current Redmine server.

2. Prepare a backup.

This is data we will need to restore your Redmine in the cloud. In case you need assistance a team member will be willing to help, you just need to provide teamviewer access.

The backup has two parts: a dump of your Redmine database and a copy of redmine attachments files.

2.1. Preparing a database dump

. {Before you begin you need:

  • a database user to run the backup, and
  • root access to the system, or a user account with sudo privileges.}

The process differs slightly depending on your database type:

PostgreSQL Database

PostgreSQL provides the pg_dump utility to simplify backing up a database to a single file. This command must be run as a user with read permissions to the database. Replace username with your username and dbname with the name of your Redmine database.

pg_dump -U username dbname | gzip > redmine-backup.bak.gz

MySQL or MariaDB Database

MySQL and MariaDB include the mysqldump utility to simplify the process to create a backup of a database or system of databases. Using mysqldump creates a logical backup. You can only use this tool if your database process is accessible and running.

You need to execute the following command, replacing username with your username and dbname with the name of your Redmine database:

mysqldump -u username -p dbname --quick --compact | gzip > redmine-backup.sql.gz
Here’s a breakdown of the mysqldump command options used above:
  • --quick: Enforce dumping tables row by row. This provides added safety for systems with little RAM and/or large databases where storing tables in memory could become problematic.
  • --compact: Produce more compact output.
A few points:
  • There is a password prompt password before the backup process starts.
  • Depending on the size of the database, it could take a while to complete.
  • The database backup will be created in the directory the command is run.

A shoutout to our colleagues at Linode for providing these <a href="https://www.linode.com/docs/databases/postgresql/how-to-back-up-your-postgresql-database/">postgreSQL</a> and <a href="https://www.linode.com/docs/databases/mysql/use-mysqldump-to-back-up-mysql-or-mariadb/">MySQL/MariaDB</a> guides.

2.2. Preparing a copy of Redmine attachments

This is an archive of the files folder in your Redmine directory. In Linux you can create one using

$ tar -czf redmine_files.tar.gz [redmine_root]/files
Replace [redmine_root] with the path to your Redmine installation.

3. Create an account in the RedmineUP Cloud.

You can create one <a href="https://www.redmineup.com/pages/lp/best-redmine-hosting">here</a>. You need to provide
  • a business mail address
  • your name
  • a work phone number
  • and claim a subdomain for your site!

A link to your new account will be sent to the provided address.

4. Check the results.

After you have provided us with your Redmine data and account details, just wait until the scheduled time when we upload your data to the cloud. Then go to your new domain and browse around to verify that your data is present correctly.

5. Setup Helpdesk.

In order for the new server to be connected to your current mail traffic, you have to setup the mailbox of your current server to relay all mail to the mailbox of the new Redmine.

For each of your projects a separate mailbox will be generated. To view its address, go to your project Settings - Helpdesk tab at your new Cloud Redmine. To the right you can see the field Forward a copy of your email to this address:

{{'generated_mail_address.png' | thumbnail_tag: 'size:717'}}

Copy that unique address and set up redirection on your support email for the respective project.

Keep in mind, by default Helpdesk can catch messages with a 10-minute interval.

Thats it!