In this article, we will have explained the necessary steps to install and configure Redmine on CentOS 8. Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges. All the commands in this tutorial should be run as a non-root user.
Redmine is a popular open source project management web application. It is cross-platform and cross-database and built on top of the Ruby on Rails framework. Redmine includes support for multiple projects, wikis, issue tracking system, forums, calendars, email notifications, and much more.
Install Redmine on CentOS 8
Step 1. The first command will update the package lists to ensure you get the latest version and dependencies.
sudo dnf update sudo dnf install epel-release sudo dnf config-manager --enable epel
Step 2. Install MariaDB.
Run the following command as root or user with sudo privileges to install MariaDB on CentOS 8:
sudo dnf install @mariadb
Once the installation is complete, start the MariaDB service and enable it to automatically start on boot using following command:
sudo systemctl enable --now mariadb sudo systemctl status mariadb
When the installation is complete, run the following command to secure your installation:
Then, we need to create a database for our Redmine installation:
$ mysql -uroot -p MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8; MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'storng_redmine_passwd'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Step 3. Creating New System User.
Create a new user and group, with home directory
/opt/redmine that will run the Redmine instance:
sudo useradd -m -U -r -d /opt/redmine redmine sudo usermod -a -G redmine apache sudo chmod 750 /opt/redmine
Step 4. Install Passenger, Apache and Ruby.
Install Ruby, Apache and Passenger using following commands:
sudo dnf install httpd mod_passenger passenger passenger-devel ruby
Start the Apache service and enable it to start on boot:
sudo systemctl enable httpd --now
Then, configuring Apache:
sudo nano /etc/httpd/conf.d/your-domain.com.conf
<VirtualHost *:80> ServerName example.com ServerAlias www.your-domain.com DocumentRoot /opt/redmine/redmine-4.1.0/public <Directory /opt/redmine/redmine-4.1.0/public> Options Indexes ExecCGI FollowSymLinks Require all granted AllowOverride all </Directory> ErrorLog /var/log/httpd/your-domain.com-error.log CustomLog /var/log/httpd/your-domain.com-access.log combined </VirtualHost>
Restart the Apache service by typing:
sudo systemctl restart httpd
Step 5. Install Redmine.
First, download the Redmine archive with the following curl command:
curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz
Once the download is completed extract the archive:
tar -xvf redmine.tar.gz
Configure database settings:
cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml
Open the file with your favorite text editor:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "strong_redmine_passwd" encoding: utf8
Step 6. Install Ruby dependencies.
Now, we switch to the redmine-4.1.0 directory and install the Ruby dependencies:
cd ~/redmine-4.1.0 gem install bundler --no-rdoc --no-ri bundle install --without development test postgresql sqlite --path vendor/bundle
Next, we run the following command to generate keys and migrate the database:
bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate
Step 7. Accessing Redmine.
Finally your can start your browser and access your new Redmine installation at: http://your-domian.com.
The default login credentials for Redmine are:
- Username: admin
- Password: admin
Congratulation, you have learned how to install and configure Redmine on CentOS 8. If you have any question, please leave a comment below.