Install Odoo 18 With Let’s Encrypt SSL on Ubuntu 24.04

Managing business processes manually can sometimes be tiring and frustrating, especially if you do not have enough manpower to accommodate the work being processed by your company. Manual processes require employees to go through spreadsheets of different departments to get a record of what/how your business is doing. Getting a clean sheet of the report can be quite tricky as man is prone to error and can sometimes miss some of the important details.

To curb this, most businesses have acquired digital solutions that help manage business processes in an easy, fast, and accurate way. those solutions are known as Enterprise Resource Planning (ERP) systems. ERP contains packages that help a business control day-to-day activities such as manufacturing, accounting, HR, and procurement. Some other systems allow you to integrate with other digital solutions like Customer Relationship Management (CRM) systems to also assist you in providing a satisfying customer experience. ERP systems automate and support a range of administrative and operational business processes across multiple industries.

Odoo is an open-source ERP system with a suite of web-based simple and open-source business applications including Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, and more. You do not have to think of how to make your current ERP system function with other useful applications. Odoo has integrated thousands of community applications removing the pain of having solutions that work but cannot integrate.

The applications work seamlessly together in a centralized and online platform that can be accessed from anywhere with any device giving you the ability to automate and track everything you do. This generally is double work as you have to install two or more systems to have a productive business process.

Top applications associated with Odoo include;

  • Odoo Accounting includes features such as AI-powered invoice recognition, synchronization with your bank accounts, smart matching suggestions, etc. Also under this category, there is Odoo Invoicing which allows you to create invoices, send them to your customers, and manage payments.
  • Odoo Inventory applications contain an advanced barcode scanner app that assists you to manage lead times, automating replenishments, and configuring advanced routes like drop-shipping, cross-docks, etc.
  • Odoo Manufacturing allows you to schedule, plan, and process manufacturing orders from the work center control panel.
  • Odoo Point of Sale (POS) applications help you run your shop or restaurant easily. You can sell products with any device and also automatically registers product moves in your stock, gives you real-time statistics, and consolidate across all shops.
  • Odoo CRM assists in organizing your sales activities: tracking leads, closing opportunities, and get accurate forecasts.
  • Odoo Marketing Automation applications enable you to automate a variety of marketing tasks by combining specific rules and filters to generate timed actions.

Other applications include websites that use an Open-Source Website Builder to create beautiful websites, Integrate Payment providers for credit cards and online payments, Odoo eCommerce to run an online store, Projects and Timesheets, Helpdesk teams, Mail plugins, Live Chat, Purchase, and more.

This guide takes you through the process of how to install Odoo 18 With Let’s Encrypt SSL on Ubuntu 24.04.

Step 1: Install Odoo dependencies

Update your system packages to the latest version:

sudo apt update && sudo apt upgrade -y

Install the required dependencies for Odoo with the following command.

sudo apt install wget curl gnupg2 software-properties-common python3-pip build-essential libpq-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev libjpeg-dev libssl-dev -y

Step 2: Install PostgreSQL Database Server

Odoo uses PostgreSQL as a database management system. Install it with the following command.

sudo apt install postgresql -y

Start and enable the service with the following command.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Then create a new user to connect to an Odoo instance. This can be achieved with the following command.

sudo su - postgres -c "createuser -s odoo"
sudo -u postgres psql
\password odoo
\q

Step 3: Install Odoo 18 on Ubuntu 24.04

Add the Odoo repository and GPG key:

$ wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
$ echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/master/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
$ sudo apt-get update && sudo apt-get install odoo -y

Start and enable Odoo:

sudo systemctl start odoo
sudo systemctl enable odoo

Check Odoo service:

sudo systemctl status odoo

Sample Output:

● odoo.service - Odoo Open Source ERP and CRM
     Loaded: loaded (/usr/lib/systemd/system/odoo.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-01-20 06:05:52 UTC; 39s ago
   Main PID: 17515 (odoo)
      Tasks: 4 (limit: 7025)
     Memory: 85.1M (peak: 85.5M)
        CPU: 1.008s
     CGroup: /system.slice/odoo.service
             └─17515 /usr/bin/python3 /usr/bin/odoo --config /etc/odoo/odoo.conf --logfile /var/log/odoo/odoo-server.log

Jan 20 06:05:52 ubuntu-noble systemd[1]: Started odoo.service - Odoo Open Source ERP and CRM.

Step 4: Configure Nginx Reverse Proxy

We can set up Nginx to act as a reverse proxy to access Odoo. Install Nginx with the following command.

sudo apt install -y nginx 

Create a new configuration file for the Odoo instance.

sudo vim /etc/nginx/sites-available/odoo.conf

Add the following contents. Replace odoo.cloudspinx.com with your actual domain name.

upstream odoo {
 server 127.0.0.1:8069;
}

server {
    listen 80;
    server_name odoo.cloudspinx.com;

    access_log /var/log/nginx/odoo.access.log;
    error_log /var/log/nginx/odoo.error.log;

        location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;

        proxy_redirect off;
        proxy_pass http://odoo;
    }

location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://odoo;
    }

    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

Save and exit the file then check for the syntax.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Then activate the block configuration with the following command.

sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/

Restart Nginx to apply the new changes.

sudo systemctl restart nginx

Step 5: Setup Let’s Encrypt SSL for Odoo

You can also secure the platform with Let’s Encrypt certificate. Install Certbot to assist in setting up Let’s Encrypt for SSL certificate.

sudo apt install certbot python3-certbot-nginx

Then run certbot to acquire an SSL certificate and automatically configure it on Nginx.

sudo certbot --nginx

Follow the prompts to generate the SSL certificate and once successful, you should an output of something similar to the one below.

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/odoo.cloudspinx.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/odoo.cloudspinx.com/privkey.pem
This certificate expires on 2023-03-12.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for odoo.techviewleo.com to /etc/nginx/sites-enabled/odoo
Congratulations! You have successfully enabled HTTPS on https://odoo.techviewleo.com

Once done check if the Nginx configuration file syntax is okay.

sudo nginx -t

Then restart the Nginx service to apply changes.

sudo systemctl restart nginx

Access Odoo on Ubuntu 24.04

Go to your browser at https://<server-name> to access Odoo. You will be redirected to the following page. The Master Password is the admin_passwd set in the Odoo configuration file /etc/odoo.conf. Then enter the name of the database, the email which will be used to log in, and a password. You can consequently tick the Demo data to populate the server with data. Then click the Create Database button.

You will be redirected to the Login page. Enter an email address and the password then click the Login button.

Then once you Login, You can access the dashboard as shown.

Conclusion

Odoo is an open-source ERP system with integrated community applications that help you manage your daily business activities. They include a CRM to manage customer relations, Accounting and Invoicing, HR, Marketing, Manufacturing, Sales, eCommerce, Projects, and Timesheets. Odoo applications are integrated with each other perfectly, allowing you to fully automate your business processes and reap the savings and benefits. You do not have to figure out how to integrate different working apps to work as one. You also have the pleasure of accessing all these applications from a centralized control panel with a graphical user interface.

More articles:

Your IT Journey Starts Here!

Ready to level up your IT skills? Our new eLearning platform is coming soon to help you master the latest technologies.

Be the first to know when we launch! Join our waitlist now.

Join our Linux and open source community. Subscribe to our newsletter for tips, tricks, and collaboration opportunities!

Recent Post

Leave a Comment

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

Related Post

Greetings and salutations. In our guide today we will learn how to install KDE Desktop Environment on Oracle Linux 9. […]

greetings and salutations. In this guide, we will learn how to implement Solidity an object-oriented, high-level language for writing smart […]

Programming languages are used to communicate with computers as they are simply like tools used to give a set of […]

Let's Connect

Unleash the full potential of your business with CloudSpinx. Our expert solutions specialists are standing by to answer your questions and tailor a plan that perfectly aligns with your unique needs.
You will get a response from our solutions specialist within 12 hours
We understand emergencies can be stressful. For immediate assistance, chat with us now

Contact CloudSpinx today!

Download CloudSpinx Profile

Discover the full spectrum of our expertise and services by downloading our detailed Company Profile. Simply enter your first name, last name, and email address.