Redmine 6
Overview
Redmine is an open-source project management and issue tracking platform, delivered as a single Ruby on Rails application. It provides bug tracking, time tracking, Gantt charts, a wiki, forums, a repository browser and per-project access control.
This SecureAnyCloud image installs Redmine 6.0 from redmine.org alongside Apache 2.4, Phusion Passenger 6, MySQL 8.0 and Ruby 3.2. Everything except Redmine comes from Ubuntu 24.04 noble universe, with no third-party APT repositories. At first boot the schema is migrated and the default admin account is created with a per-VM password.
What you get:
- Redmine 6.0.7 from the official redmine.org tarball at
/opt/redmine - Apache 2.4.58 with Phusion Passenger 6.0.17 mounted at
/ - MySQL 8.0.45 with a
redminedatabase and aredmineMySQL user (per-VM password) - Ruby 3.2.3 from Ubuntu noble, Bundler 2.5 and 90 production gems vendored under
/opt/redmine/vendor/bundle - ImageMagick 6.9 and libmagickwand for attachment thumbnails
redmine-firstboot.service, which rotates the MySQL root, database and admin passwords and runs the schema migrations- English as the default language, with the project, issue, user, role and permission framework loaded
- 24/7 SecureAnyCloud support
Prerequisites
You need an active Azure subscription, an SSH key, and a VNet with a subnet.
Standard_B2s (2 vCPU, 4 GB RAM) is sufficient for teams of up to about 50 active users. Move to D2s_v5 or larger for bigger teams or heavy attachment workloads.
Deploy from the Azure Marketplace
Search the Azure Marketplace for "Redmine 6 on Ubuntu 24.04 LTS", select Get It Now, then select Create.
Choose your resource group, region, VM size (Standard_B2s recommended) and SSH public key. In the network security group (NSG), allow inbound port 80 (HTTP) and port 22 (SSH).
Connect to the VM over SSH
Connect to the VM with your SSH key:
ssh azureuser@<vm-ip>The first boot takes 60 to 90 seconds. During that time the VM rotates the MySQL root password, creates the database, migrates the schema and compiles assets. Wait for /var/lib/sac/data/redmine-firstboot.done to appear before you browse to the site:
while [ ! -f /var/lib/sac/data/redmine-firstboot.done ]; do echo "waiting..."; sleep 5; done; echo "READY"Verify the services
Check that Apache and MySQL are running and listening:
sudo systemctl is-active apache2 mysql
sudo ss -tlnp | grep -E ':(80|3306) 'Both services report active. Apache listens on :80 and MySQL on :3306.
Read the per-VM credentials
Read the credentials file as root:
sudo cat /stage/scripts/redmine-credentials.logNote REDMINE_ADMIN_PASSWORD and REDMINE_LOGIN_URL from the file. Treat both as secrets. The file is mode 0600 root:root.
Check the installed versions
Print the Ruby, Apache, MySQL and Redmine versions:
ruby --version apache2 -v | head -1 mysql --version grep -E 'MAJOR|MINOR|TINY' /opt/redmine/lib/redmine/version.rb | head -3Open the Redmine home page
Browse to http://<vm-ip>/ to see the Redmine home page. It lists no projects yet. Sign in as admin to create your first one.
Sign in at /login
Browse to http://<vm-ip>/login and sign in as admin with the password from Step 4.
Open the administration dashboard
After you sign in, open /admin for the administration index. It covers projects, users, groups, roles and permissions, trackers, issue statuses, workflow, custom fields, enumerations, settings, LDAP authentication, plugins and system information.
Create a project
Select Projects, then New project. Give the project an identifier and a name.
Choose the modules to enable: issue tracking, time tracking, news, documents, files, wiki, repository, forums, calendar and Gantt. Once the project exists, the Issues tab is where most teams spend their time.
Find the key components
These are the component locations on the VM:
Redmine install: /opt/redmine/
database.yml: /opt/redmine/config/database.yml
Apache vhost: /etc/apache2/sites-available/redmine.conf
Apache logs: /var/log/apache2/redmine-{access,error}.log
Redmine logs: /opt/redmine/log/production.log
Attachment storage: /opt/redmine/files/
Plugins: /opt/redmine/plugins/
Themes: /opt/redmine/public/themes/
MySQL data: /var/lib/mysql/
Vendored gems: /opt/redmine/vendor/bundle/
First-boot script: /usr/local/sbin/redmine-firstboot.sh
Credentials: /stage/scripts/redmine-credentials.log (mode 0600 root:root)
Back up your data
Back up two things: the MySQL redmine database and the /opt/redmine/files attachment directory.
# Database dump
sudo mysqldump --single-transaction redmine | gzip > redmine-$(date +%Y%m%d).sql.gz
# Attachments
sudo tar czf redmine-files-$(date +%Y%m%d).tar.gz -C /opt/redmine filesTo restore, recreate the database and load the dump back with mysql redmine < dump.sql. Then extract the attachments archive into the files directory.
Security
- Enable HTTPS. Install certbot and obtain a Let's Encrypt certificate:
sudo apt-get install -y certbot python3-certbot-apache && sudo certbot --apache - Restrict the NSG. Open port 80 only to your CDN or load balancer, and limit port 22 to your management CIDR.
- Set the admin email. Change it under
/my/accountand enter a real address so that password resets work. - Enable two-factor authentication. Turn it on for the admin and trusted users under
/my/account/twofa. - Patch monthly. Run
sudo apt-get update && sudo apt-get upgrade && sudo reboot. - Update Redmine. Download the new tarball and copy
config/database.ymlandfiles/across. Then runbundle installandbundle exec rake db:migrate RAILS_ENV=production.
Licensing
Redmine is licensed under GPL-2.0+ and is free to use commercially. SecureAnyCloud provides commercial support separately. Contact sales@secureanycloud.com.
Deploy on Azure
Launch Redmine 6 on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com