How To Install OpenProject On Ubuntu 16.04 With LEMP Stack

OpenProject is an open source project management solution that offers features such as issue tracking, document management, time and cost reporting, and code management.

https://www.openproject.org/download-and-installation/

1. The Easy Way

These steps will install OpenProject on Ubuntu 16.04 with Nginx and MariaDB (or MySQL). Before getting started it is assumed that you have already installed a LEMP stack and created a new database in MySQL/MariaDB. If not, go here Install LEMP locally on Ubuntu 16.04. I also used Vagrant to install this locally which is also in the link provided. Note that this application can be installed on 512mb ram but 1gig is recommended. After installing, it appears to be using from 700 – 800mb ram (up to 770mb).

These steps are easy but the configuration screen does not show correctly so I could'nt get through it to full install it. Using putty instead of Vagrant's Git CLI fixed the screen problem.

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. 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/7/installer/ubuntu/16.04.repo

3. 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.

$ sudo apt-get update
$ sudo apt-get install openproject

4. Configure OpenProject

I could not get this to show correctly via the command line
Using putty instead of Vagrant's git fixed the screen problem

$ sudo openproject configure

Follow the prompts (if you can). The link below explains what prompts you are supposed to see:
https://hostpresto.com/community/tutorials/how-to-install-and-configure-openproject-on-centos-7/

To use Nginx instead of Apache 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).
https://www.openproject.org/download-and-installation/
See Step 5 below for the Nginx config

If something goes wrong and you need to reconfigure:

$ sudo openproject reconfigure

5. Nginx Configuration

https://community.openproject.com/topics/6162
or here: https://community.openproject.com/topics/6847?board_id=9

the link above advises to add the code block below to the nginx config however, this doesn't work for me:

location ~ ^/openproject(/.*|$) {
    proxy_pass_request_headers on;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:6000;
}

The block below works but phpmyadmin is no longer accessible:

note that the code block referenced above is modified slightly below. I eliminated the ‘/' to serve from the root directory. When trying to add the directory like above (and variations of the code), openproject no longer displays.

server {
    listen 80;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name 127.0.0.1;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

# OpenProject Configuration
    location ~ (/.*|$) {
    proxy_pass_request_headers on;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:6000;
}	

# Phpmyadmin Configuration
    location /phpmyadmin {
       root /usr/share/;
       index index.php index.html index.htm;
       location ~ ^/phpmyadmin/(.+\.php)$ {
               try_files $uri =404;
               root /usr/share/;
               #fastcgi_pass 127.0.0.1:9000;
               #fastcgi_param HTTPS on; # <-- add this line
               fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               include fastcgi_params;
       }
       location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
               root /usr/share/;
       }
   }

   # Dealing with the uppercased letters
   location /phpMyAdmin {
       rewrite ^/* /phpmyadmin last;
   }

    location ~ /\.ht {
        deny all;
    }
}

The default username is ‘admin' and the default password is ‘admin'. After initially signing in, openproject will force you to change the password with a minimum 10 characters.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.