Community Edition

Get your own installation of the leading open source project management software

OpenProject Download and Installation

Latest release: 8.0.0

The installation package

  • installs all required libraries and dependencies
  • installs MySQL or configures the database connection to an existing database, e.g. PostgreSQL
  • configure Apache webserver
  • configure repositories (Git/SVN)
  • setup SSL encryption
  • configure email settings
  • Detailed information about the installer.

The following installation steps always refer to the latest stable version release channel. If you're interested in installing a pre-release (release candidate of the next major or minor release) or a nightly development build, you can install those instead. Please visit the FAQ entry »Do you provide different release channels?« below.

Select your linux distribution:


Steps to install OpenProject on CentOS 7

All steps are run with sudo to execute as the root user.

1. Add the OpenProject package source

sudo wget -O /etc/yum.repos.d/openproject-ce.repo \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/el/7.repo

2. Install the OpenProject Community Edition package

Using the following command, yum will install the package and all required dependencies.

sudo yum install openproject


Steps to install OpenProject on Debian 8 (Jessie)

All steps need to be run as root.

1. Import the packager.io repository signing key

Import the PGP key used to sign our packages. Since we're using the packager.io platform to distribute our packages, both package source and signing key are tied to their service.

wget -qO- https://dl.packager.io/srv/opf/openproject-ce/key | sudo apt-key add -

2. Install apt-https suppport

Since we only provide https package sources, you may need to install apt-transport-https as a preliminary step.

apt-get install apt-transport-https

3. Add the OpenProject package source

sudo wget -O /etc/apt/sources.list.d/openproject-ce.list \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/debian/8.repo

4. Install the OpenProject Community Edition package

Using the following commands, apt will check the new package source and install the package and all required dependencies.

apt-get update
apt-get install openproject


Steps to install OpenProject on Debian 9 (Stretch)

All steps need to be run as root.

1. Import the packager.io repository signing key

Import the PGP key used to sign our packages. Since we're using the packager.io platform to distribute our packages, both package source and signing key are tied to their service.

wget -qO- https://dl.packager.io/srv/opf/openproject-ce/key | sudo apt-key add -

2. Install apt-https suppport

Since we only provide https package sources, you may need to install apt-transport-https as a preliminary step.

apt-get install apt-transport-https

3. Add the OpenProject package source

wget -O /etc/apt/sources.list.d/openproject-ce.list \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/debian/9.repo

4. Install the OpenProject Community Edition package

Using the following commands, apt will check the new package source and install the package and all required dependencies.

apt-get update
apt-get install openproject


Steps to install OpenProject on Suse Linux Enterprise Server 12

All steps need to be run as root.

1. Add the OpenProject package source

wget -O /etc/zypp/repos.d/openproject-ce.repo \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/sles/12.repo

The package source is now registered as openproject.

2. Install the OpenProject Community Edition package

Using the following command, zypper will install the package and all required dependencies.

zypper install openproject


Steps to install OpenProject on Ubuntu 14.04 Trusty

All steps are prepended with sudo to ensure execution as the root user.

1. Import the packager.io repository signing key

Import the PGP key used to sign our packages. Since we're using the packager.io platform to distribute our packages, both package source and signing key are tied to their service.

wget -qO- https://dl.packager.io/srv/opf/openproject-ce/key | sudo apt-key add -

2. Ensure that apt-transport-https is installed

Our repository requires apt to have https support. Install this transport method with sudo apt-get install apt-transport-https if you did not already.

3. Add the OpenProject package source

sudo wget -O /etc/apt/sources.list.d/openproject-ce.list \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/ubuntu/14.04.repo

4. Install the OpenProject Community Edition package

Using the following commands, apt will check the new package source and install the package and all required dependencies.

apt-get update
apt-get install openproject


Steps to install OpenProject package on Ubuntu 16.04 Xenial

All steps are prepended with sudo to ensure execution as the root user.

1. Import the packager.io repository signing key

Import the PGP key used to sign our packages. Since we're using the packager.io platform to distribute our packages, both package source and signing key are tied to their service.

wget -qO- https://dl.packager.io/srv/opf/openproject-ce/key | sudo apt-key add -

2. Ensure that apt-transport-https is installed

Our repository requires apt to have https support. Install this transport method with sudo apt-get install apt-transport-https if you did not already.

3. Add the OpenProject package source

sudo wget -O /etc/apt/sources.list.d/openproject-ce.list \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/ubuntu/16.04.repo

4. Install the OpenProject Community Edition package

Using the following commands, apt will check the new package source and install the package and all required dependencies.

apt-get update
apt-get install openproject


Steps to install OpenProject package on Ubuntu 18.04 Bionic Beaver

All steps are prepended with sudo to ensure execution as the root user.

1. Import the packager.io repository signing key

Import the PGP key used to sign our packages. Since we're using the packager.io platform to distribute our packages, both package source and signing key are tied to their service.

wget -qO- https://dl.packager.io/srv/opf/openproject-ce/key | sudo apt-key add -

2. Ensure that apt-transport-https is installed

Our repository requires apt to have https support. Install this transport method with sudo apt-get install apt-transport-https if you did not already.

3. Ensure that universe package source is added

You may run into issues trying to install the dialog package in Ubuntu 18.04. To resolve this, please ensure you have the universe APT source

sudo add-apt-repository universe

4. Add the OpenProject package source

sudo wget -O /etc/apt/sources.list.d/openproject-ce.list \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/ubuntu/18.04.repo

5. Install the OpenProject Community Edition package

Using the following commands, apt will check the new package source and install the package and all required dependencies.

apt-get update
apt-get install openproject

Package configuration

The last step to your OpenProject installation is the configuration wizard. It will set up the connection to a database and configure the application according to your environment.

The OpenProject installation wizard currently supports the automatic setup for MySQL databases only. However, OpenProject itself supports both MySQL and PostgreSQL. To configure the package to use an existing database, see the section below. To install or configure a MySQL database, skip to Configuration.

The OpenProject package is configured through ENV parameters that are passed to the openproject user. You can read the current ENV parameters with openproject run env. To write/read individual parameters, use openproject config:set PARAMETER=VALUE and openproject config:get PARAMETER.

For instance if you wanted to change the session store you would do:

sudo openproject config:set SESSION_STORE=active_record_store

This is handy to configure options that are not available in the installer (yet). In most cases though, you should always try to configure the application first.

Configuring for an existing a PostgreSQL database

The MySQL wizard of the OpenProject installer internally sets the DATABASE_URL (See DATABASE_URL in the Rails Guides for more information).

You can set this DATABASE_URL parameter yourself to either a MySQL or PostgreSQL database URL.

openproject config:set DATABASE_URL="postgresql://[user[:password]@][host][:port][/dbname][?param1=value1&...]

Then, when configuring the addon, select skip in the MySQL installation wizard. The database specified using the URL will be used by Rails automatically for preparing the database.

You can use these ENV parameters to customize OpenProject. See OpenProject Configuration.

Package configuration

After the installation of the OpenProject package the system has to be configured to use this package and operate the OpenProject application. Therefore the package includes a configuration wizard which can be started using the following command:

openproject configure

Side note: The installer supports the configuration of necessary SSL connections too. If required the corresponding SSL certificates (incl. keys) have to be placed somewhere on the machine before running the installer (or reconfigure the application later to enable the SSL support).

After you have completed the configuration wizard, the OpenProject instance will be started automatically. You can log into the instance initially with the user/password combination admin/admin. You will be asked to change this password immediately after the first login.

Managing your OpenProject installation

The openproject package comes with a command line tool to help manage the application. To see all possible command options of this tool you can run:

admin@openproject-demo:~# sudo openproject
Usage:
  openproject run COMMAND [options]
  openproject scale TYPE=NUM
  openproject logs [--tail|-n NUMBER]
  openproject config:get VAR
  openproject config:set VAR=VALUE
  openproject reconfigure

In the rest of this section we'll go over some of the most important commands.

Run commands like rake tasks or rails console

The openproject command line tool supports running rake tasks and known scripts like the rails console:

sudo openproject run console
# or a rake task
sudo openproject run rake db:migrate
# or check the version of ruby used by openproject
sudo openproject run ruby -v

Show logs

The command line tool can also be used to see the log information. The most typically use case is to show/follow all current log entries. This can be accomplished using the the –tail flag. See example below:

sudo openproject logs --tail

You can also find all the logs in /var/log/openproject/.

Reconfigure the application

At any point in time, you can reconfigure the whole application by re-running the installer with the following command:

sudo openproject reconfigure

The command above will bring up the installation wizard again. Please be aware that it will start the configuration/installation process from scratch. You can choose to modify existing entries, or just leave them as they are if you want to reuse them (note that passwords will appear as "blank" entries in their respective input fields, but you don't need to enter them again if don't want to modify them).

Note that if you've just updated your OpenProject version, you should run openproject configure (see section below), which would automatically reuse your previous configuration, and only asks for your input if new configuration options are available.

Inspect the existing configuration

You can list all of the environment variables accessible to the application by running:

sudo openproject config
# this will return something like:
DATABASE_URL=mysql2://openproject:9ScapYA1MN7JQrPR7Wkmp7y99K6mRHGU@127.0.0.1:3306/openproject
SECRET_TOKEN=c5aa99a90f9650404a885cf5ec7c28f7fe1379550bb811cb0b39058f9407eaa216b9b2b22d27f58fb15ac21adb3bd16494ebe89e39ec225ef4627db048a12530
ADMIN_EMAIL=mail@example.com
EMAIL_DELIVERY_METHOD=smtp
SMTP_DOMAIN=example.com
SMTP_HOST=smtp.example.com
SMTP_PASSWORD=mail
SMTP_PORT=25
SMTP_URL=smtp://mail:mail@smtp.example.com:25/example.com
SMTP_USERNAME=mail
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_AUTHENTICATION=plain
WEB_CONCURRENCY=2
WEB_TIMEOUT=15
RAILS_CACHE_STORE=memcache
SESSION_STORE=cache_store

Installing plugins

Note: this guide only applies if you've installed OpenProject using our DEB/RPM packages.

A number of plugins exist for use with OpenProject. Most plugins that are maintained by us are shipping with OpenProject, however there are several plugins contributed by the community.

Previously, using them in a packaged installation was not possible without losing your changes on every upgrade. With the following steps, you can now use third party plugins.

Note: We cannot guarantee upgrade compatibility for third party plugins nor do we provide support for them. Please carefully check whether the plugins you use are available in newer versions before upgrading your installation.

1. Add a custom Gemfile

If you have a plugin you wish to add to your packaged OpenProject installation, create a separate Gemfile with the Gem dependencies, such as the following:

group :opf_plugins do
  gem 'openproject-emoji', git: 'https://github.com/tessi/openproject-emoji.git', :branch => 'op-5-stable'
end

The group :opf_plugins is generally recommended, but only required for plugins with custom frontend code that is picked up by webpack and output into their respective bundles.

We suggest to store the Gemfile under /etc/openproject/Gemfile.custom, but the choice is up to you, just make sure the openproject user is able to read it.

2. Propagate the Gemfile to the package

You have to tell your installation to use the custom gemfile via a config setting:

openproject config:set CUSTOM_PLUGIN_GEMFILE=/etc/openproject/Gemfile.custom

3. Re-run the installer

To re-bundle the application including the new plugins, as well as running migrations and precompiling their assets, simply re-run the installer while using the same configuration as before.

openproject configure

Using configure will take your previous decisions in the installer and simply re-apply them, which is an idempotent operation. It will detect the Gemfile config option being set and re-bundle the application with the additional plugins.

If you have custom requirements that are not addressed by our installation packages you can also do a manual installation. Our step-by-step instructions guide you through the installation process. We recommend this method only to experienced admins.

Frequently asked questions - FAQ

How can I install an OpenProject plugin?

Our official installation page has instructions on how to customize your OpenProject installation. Please note that customization is not yet supported for Docker-based installations.

How to migrate from Bitnami to the official OpenProject installation packages?

Please follow the following steps:

  1. Make a dump of your bitnami MySQL database to export your data. You can refer to the Bitnami documentation.
  2. Make a dump of files your might have uploaded. You can refer to the Bitnami documentation to perform a full dump.
  3. Copy both dumps to the server you want to install OpenProject on.
  4. Install OpenProject using the packaged installation.
  5. Import the MySQL dump into your new MySQL database. You can get your MySQL configuration by running sudo openproject config:get DATABASE_URL
  6. Extract the bitnami backup, and copy your file assets into the relevant directory (e.g. in /var/db/openproject/files for uploaded files)
  7. Restart OpenProject

Can I use NginX instead of Apache webserver?

Yes, but you will lose the ability to enable Git/SVN repository integration. Note that the OpenProject installer does not support NginX, so you will have to ask to disable the Apache2 integration when running the installer, and then configure NginX yourself so that it forwards traffic to the OpenProject web process (listening by default on 127.0.0.1:6000).

Can I use PostgreSQL instead of MySQL?

Yes, but you will need to setup the database by yourself, and then ask the installer to use an existing database and enter the host and credentials configuration to access it.

My favorite linux distribution is not listed. What can I do?

You can either try the manual installation, or ask in the forum whether this could be added to the list of supported distributions.

What is the better option to run OpenProject in production environments: docker or linux packages?

Linux packages are currently the most stable option, since they are regularly tested and provide an installer to help you configure your OpenProject installation. Docker images do not get the same level of testing.

Do you provide different release channels?

Yes! We release OpenProject in separate release channels that you can try out. For production environments, always use the stable/MAJOR (e.g., stable/8) package source that will receive stable and release updates. Every major upgrade will result in a source switch (from stable/7 to stable/8 for example).

A closer look at the available branches:

  • stable/8: Latest stable releases, starting with 8.0.0 until the last minor and patch releases of 8.X.Y are released, this will receive updates.
  • release/8.0: Regular (usually daily) release builds for the current next patch release (or for the first release in this version, such as 8.0.0). This will contain early bugfixes before they are being release into stable. Do not use in production. But, for upgrading to the next major version, this can be regarded as a release candidate channel that you can use to test your upgrade on a copy of your production environment.
  • stable/7: Previous stable release, will receive critical updates and bug fixes while enterprise support depends on it.
  • dev: Daily builds of the current development build of OpenProject. While we try to keep this operable, this may result in broken code and/or migrations from time to time. Use when you're interested what the next release of OpenProject will look like. Do not use in production!

For more information, please visit our dedicated page regarding release candidates and channels.

How to upgrade my OpenProject installation?

Please refer to the documentation at https://www.openproject.org/operations/upgrading/

What skills should I have for the installation?

If you use the packaged installation, you should have a basic knowledge of Linux and the command-line terminal.

If you use the docker images, you need to be familiar with Docker and Docker volumes.

Why don't you support Windows?

Ruby support on Windows is notoriously difficult, however you might be able to run the Docker image, or use the unofficial Windows stack provided by Bitnami.

How to backup and restore my OpenProject instalallation?

Please refer to the documentation at https://www.openproject.org/operations/backup/

How can I install a free SSL certificate using let's encrypt?

You can get an SSL certificate for free via Let's Encrypt. Here is how you do it using certbot:

curl https://dl.eff.org/certbot-auto > /usr/local/bin/certbot-auto
chmod a+x /usr/local/bin/certbot-auto

certbot-auto certonly --webroot --webroot-path /opt/openproject/public -d openprojecct.mydomain.com

This requires your OpenProject server to be available from the Internet on port 443 or 80. If this works the certificate (cert.pem) and private key (privkey.pem) will be created under /etc/letsencrypt/live/openproject.mydomain.com/. Configure these for OpenProject to use by running openproject reconfigure and choosing yes when the wizard asks for SSL.

Now this Let's Encryt certificate is only valid for 90 days. To renew it automatically all you have to do is to add the following entry to your crontab (run crontab -e):

0 1 * * * certbot-auto renew --quiet --post-hook "service apache2 restart"

This will execute certbot renew every day at 1am. The command checks if the certificate is expired and renews it if that is the case. The web server is restarted in a post hook in order for it to pick up the new certificate.

Enterprise Edition

We deliver the confidence of a tested, supported and certified enterprise-class business application. Support the open source development by upgrading to the Enterprise Edition.

Enterprise Edition installation service

Cloud icon

Let us do the hosting

Let us take care of installation, maintenance and support. We will provide you additional premium features and professional support with the Cloud Edition.