Open Project Print

  • 0

How to Install OpenProject on Ubuntu 24.04 LTS Manually

This guide explains how to manually install OpenProject on a fresh Ubuntu 24.04 LTS server. The steps below perform the same actions that an Ansible installation playbook would automate.

This guide is written for beginners. Commands are provided step-by-step and should be executed in order.


Requirements

  • Ubuntu 24.04 LTS VPS or Dedicated Server
  • Minimum 4GB RAM recommended
  • Root access or a user with sudo privileges
  • Public IP address
  • Internet connection

Example server IP used in this guide:

102.202.47.171

Replace this IP address with your own server IP.


Step 1 - Connect to Your Ubuntu Server

Connect using SSH:

ssh username@YOUR\\\\\\\_SERVER\\\\\\\_IP

Example:

ssh ubuntu@102.202.47.171

Step 2 - Update Ubuntu Packages

Run:

sudo apt update

sudo apt upgrade -y

Step 3 - Install Required Packages

Install the required software packages:

sudo apt install -y \\\\\\\\

curl \\\\\\\\

gnupg \\\\\\\\

ca-certificates \\\\\\\\

wget \\\\\\\\

nginx \\\\\\\\

postgresql \\\\\\\\

postgresql-contrib

Step 4 - Start PostgreSQL Database Service

sudo systemctl enable postgresql

sudo systemctl start postgresql




Check PostgreSQL status:
sudo systemctl status postgresql




Press:
q




to exit.

Step 5 - Add OpenProject Repository

Download the OpenProject repository key:

curl -fsSL https://dl.packager.io/srv/opf/openproject/key \\\\\\\\

| sudo tee /etc/apt/trusted.gpg.d/openproject.asc




Add the repository:
echo "deb https://dl.packager.io/srv/opf/openproject/stable/16/ubuntu 24.04 main" \\\\\\\\

| sudo tee /etc/apt/sources.list.d/openproject.list




Update package list:
sudo apt update

Step 6 - Install OpenProject

sudo apt install openproject -y

Step 7 - Create OpenProject Database



Switch to PostgreSQL:
sudo -u postgres psql




Create database user:
CREATE USER openproject WITH PASSWORD 'ChangeThisPassword123!';




Create database:
CREATE DATABASE openproject OWNER openproject;




Exit PostgreSQL:
\\\\\\\\q

Step 8 - Configure OpenProject Environment



Open the configuration file:
sudo nano /etc/openproject/conf.d/openproject.env




Add the following:
OPENPROJECT\\\\\\\_HOST\\\\\\\_\\\\\\\_NAME=YOUR\\\\\\\_SERVER\\\\\\\_IP



OPENPROJECT\\\\\\\_DATABASE\\\\\\\_\\\\\\\_URL=postgresql://openproject:ChangeThisPassword123!@127.0.0.1:5432/openproject



OPENPROJECT\\\\\\\_DEFAULT\\\\\\\_\\\\\\\_LANGUAGE=en



OPENPROJECT\\\\\\\_WEB\\\\\\\_\\\\\\\_HOST=127.0.0.1



OPENPROJECT\\\\\\\_WEB\\\\\\\_\\\\\\\_PORT=6000



OPENPROJECT\\\\\\\_HTTPS=false



OPENPROJECT\\\\\\\_FORCE\\\\\\\_\\\\\\\_SSL=false



OPENPROJECT\\\\\\\_RAILS\\\\\\\_\\\\\\\_RELATIVE\\\\\\\_\\\\\\\_URL\\\\\\\_\\\\\\\_ROOT=




Example:
OPENPROJECT\\\\\\\_HOST\\\\\\\_\\\\\\\_NAME=102.202.47.171






Save the file:
CTRL + O

ENTER

CTRL + X

Step 9 - Restart OpenProject



Reload services:
sudo systemctl daemon-reload




Restart OpenProject:
sudo systemctl restart openproject




Restart web service:
sudo systemctl restart openproject-web-1




Check status:
sudo systemctl status openproject-web-1 --no-pager




You should see:
Active: active (running)

Step 10 - Configure Nginx Reverse Proxy



Create Nginx configuration:
sudo nano /etc/nginx/sites-available/openproject




Paste:
server {



listen 80;



server\\\\\\\_name YOUR\\\\\\\_SERVER\\\\\\\_IP;



client\\\\\\\_max\\\\\\\_body\\\\\\\_size 100M;





location / {



proxy\\\\\\\_pass http://127.0.0.1:6000;



proxy\\\\\\\_http\\\\\\\_version 1.1;



proxy\\\\\\\_set\\\\\\\_header Host $host;



proxy\\\\\\\_set\\\\\\\_header X-Real-IP $remote\\\\\\\_addr;



proxy\\\\\\\_set\\\\\\\_header X-Forwarded-For $proxy\\\\\\\_add\\\\\\\_x\\\\\\\_forwarded\\\\\\\_for;



proxy\\\\\\\_set\\\\\\\_header X-Forwarded-Proto http;



}



}




Save:
CTRL + O

ENTER

CTRL + X




Enable the site:
sudo ln -s /etc/nginx/sites-available/openproject \\\\\\\\

/etc/nginx/sites-enabled/openproject




Test Nginx:
sudo nginx -t




Restart Nginx:
sudo systemctl restart nginx

Step 11 - Create OpenProject Administrator Account



Open the OpenProject console:
sudo openproject run console




You will see:
open-project(prod):001>






Create administrator user:
user = User.new(

login: "admin",

firstname: "Admin",

lastname: "User",

mail: "admin@example.com",

admin: true,

status: 1,

language: "en",

first\\\\\\\_login: false,

force\\\\\\\_password\\\\\\\_change: false,

password: "AdminPassword123!",

password\\\\\\\_confirmation: "AdminPassword123!"

)






Save the user:
user.save!






Verify:
User.pluck(:id, :login, :firstname, :lastname, :admin)






Exit:
exit

Step 12 - Login to OpenProject



Open your browser:
http://YOUR\\\\\\\_SERVER\\\\\\\_IP




Example:
http://102.202.47.171






Login:
Username admin
Password AdminPassword123!

Important: Change the administrator password after your first login.


Troubleshooting

Check OpenProject Web Service

sudo systemctl status openproject-web-1

Check Logs

journalctl -u openproject-web-1 -n 50 --no-pager

Check Nginx

sudo nginx -t

Check Database Connection

sudo -u postgres psql openproject

Installation Completed

Your OpenProject installation is now complete.

You can now create projects, users, work packages, milestones, and manage your team's tasks.

 

Ingabe le mpendulo ibe usizo?
Back