Odooインストール · 3 min read · Sep 11, 2025

Ubuntu 24.04サーバーにOdoo ERPソフトウェアをインストールする方法

Odoo(以前はOpenERPとして知られていました)は、10,000以上のオープンソースの自己ホスト型スイートです。Odooは、さまざまなタイプのビジネス向けの無料でオープンソースのERPソリューションです。OdooはERPおよびCRMソリューションであり、それ以上の機能を提供します。顧客関係管理(CRM)、販売パイプライン、プロジェクト管理、製造、請求書、会計、eコマースなど、多くの機能を提供します。

Odooは、ビジネス向けの完全なERPソリューションの1つです。デフォルトで30のコアモジュールがあり、4500以上のコミュニティモジュールを提供して、複数のビジネスを支援します。

このチュートリアルでは、Ubuntu 24.04サーバーにOdooオープンソースERPをインストールします。最新の安定版Odoo 17をインストールおよび構成し、Odoo用のPostgreSQLデータベースを設定し、最後にOdooアプリケーションのリバースプロキシとしてNginxを設定します。

前提条件

このチュートリアルを始めるには、以下の要件が必要です:

  • Ubuntu 24.04サーバー - この例では、ホスト名「odoo-server」のUbuntuサーバーを使用します。
  • sudoルート/管理者権限を持つ非ルートユーザー - または、ルートユーザーを使用することもできます。
  • サーバーIPアドレスを指すドメイン名 - 本番環境では、Odooインストール用のドメイン名が必要です。

依存関係のインストール

Odooをインストールするには、まずUbuntuシステムにいくつかのパッケージ依存関係をインストールする必要があります。Odoo ERPは主にPythonで書かれたWebアプリケーションであるため、いくつかのPythonパッケージもインストールする必要があります。

パッケージのインストールを開始する前に、以下のaptコマンドを実行してパッケージインデックスを更新およびリフレッシュします。

sudo apt update

update repo

次に、以下のaptコマンドを使用してOdooのパッケージ依存関係をインストールします。このインストールには、最新のPythonバージョン、Pythonパッケージをコンパイルするためのビルド必須パッケージ、およびOdooに必要なライブラリが含まれます。

sudo apt install git wget python3 build-essential libzip-dev python3-dev libxslt1-dev python3-pip libldap2-dev python3-wheel libsasl2-dev python3-venv python3-setuptools node-less libjpeg-dev xfonts-75dpi xfonts-base libxrender1 libpq-dev libffi-dev fontconfig

プロンプトが表示されたら、yを入力して確認し、ENTERを押して続行します。そして、インストールが開始されます。

install deps

Pythonおよびその他の依存関係がインストールされたら、次のステップはNode.jsをインストールすることです。Node.jsは、静的ファイルを生成するために使用され、PDFレポートを生成するためのwkhtmltopdfパッケージをインストールします。

Nodejsのインストール

Odooをインストールするには、システムにNode.jsがインストールされていることを確認する必要があります。Node.jsは、Odoo Webアプリケーションの静的ファイルを生成するために使用されます。このステップでは、サードパーティのNodesourceリポジトリからNode.js 20をインストールします。

以下のコマンドを実行して、Node.js 20のNodesourceリポジトリをダウンロードしてセットアップします。

sudo curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -

このコマンドは、インストーラスクリプトをダウンロードして実行します。次に、インストーラスクリプトは、Node.jsのリポジトリを自動的にセットアップし、GPGキーを追加し、システム上のパッケージインデックスを自動的に更新およびリフレッシュします。

add nodejs repo

次に、以下のaptコマンドを実行してNode.jsパッケージをインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押して続行します。

sudo apt install nodejs

install nodejs

Node.jsがインストールされたら、以下のnpmコマンドを実行して’rtlcss‘パッケージをインストールします。

rtlcss‘パッケージは、特にアラビア語やヘブライ語などの特定の言語の右から左へのユーザーインターフェースを使用している場合にOdooに必要です。

sudo npm install -g rtlcss

install rtlcss

Wkhtmltopdfのインストール

OdooオープンソースERPには、wkhtmltopdfパッケージをインストールする必要があります。このパッケージは、HTMLページをPDFおよびさまざまな画像形式にレンダリングするために必要です。wkhtmltopdfパッケージは、.debパッケージを介してUbuntuシステムに手動でインストールされます。

以下のコマンドを実行して、Wkhtmltopdfパッケージの.debファイルをダウンロードします。

cd /tmp  
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb

以下のdpkgコマンドを使用してWkhtmltopdfパッケージをインストールします。

sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb

パッケージが不足しているなどのエラーが発生した場合は、以下のaptコマンドを使用して修正します。

sudo apt install -f

install wkhtmltopdf

Wkhtmltopdfがインストールされた後、デフォルトで’ /usr/local/bin‘ディレクトリにあるWkhtmltopdfパッケージのバイナリファイルを確認できます。‘wkhtmltopdf’と’wkhtmltoimage‘の2つのプログラムが表示されるはずです。

ls /usr/local/bin

次に、以下のコマンドを実行して$PATH環境変数を確認し、’ /usr/local/bin‘ディレクトリがバイナリ$PATHに含まれていることを確認します。そうでない場合、Wkhtmltopdfパッケージは正しく機能しません。

echo $PATH

最後に、以下のコマンドを実行してWkhtmltopdfパッケージのバイナリパスが利用可能であることを確認します。Wkhtmltopdfパッケージが利用可能な場合、Wkhtmltopdfパッケージのフルパスの出力を受け取るはずです。

which wkhtmltopdf  
which wkhtmltoimage

check wkhtmltopdf

PostgreSQLデータベースサーバーのインストール

OdooオープンソースERPは、MySQL、SQLite、PostgreSQLなどのデータベースをサポートしています。このステップでは、PostgreSQLをOdooインストールのデフォルトデータベースとしてインストールして使用します。また、PostgreSQLロールを設定し、PostgreSQL構成に変更を加えます。

以下のaptコマンドを実行してPostgreSQLデータベースサーバーをインストールします。確認を求められたら、yを入力してENTERを押します。

sudo apt install postgresql

install postgresql

PostgreSQLがインストールされたら、以下のコマンドを実行してPostgreSQLを確認し、サービスが有効で実行中であることを確認します。

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

次の出力では、PostgreSQLサービスが有効であり、システム起動時に自動的に実行されることがわかります。また、PostgreSQLのステータスが実行中であることも確認できます。

check postgresqlk

次に、Odoo用の新しいロールを作成します。以下のコマンドを実行して’postgres‘ユーザーにログインし、名前が’odoo‘の新しいロールを作成します。

su - postgres  
createuser -sdP odoo

新しいロール’odoo‘のパスワードを入力し、再度入力します。

次に、以下のpsqlコマンドを使用してPostgreSQLシェルにログインします。

psql

以下のクエリを実行して、PostgreSQLのロールのリストを確認し、ロール’odoo‘が利用可能であることを確認します。


du

次に、’ \q‘を入力してPostgreSQLシェルを終了します。その後、’exit‘と入力してpostgresユーザーからログアウトします。

create and check postgres user

Odoo用のロールを作成した後、’odoo’ロールの認証をテストします。

postgres‘ユーザーとしてログインし、以下のpsqlコマンドを使用してPostgreSQLシェルにログインして’odoo‘ロールを確認します。

su - postgres  
psql -h 127.0.0.1 -U odoo -d postgres

ログインしたら、以下のクエリを使用して確認します。


du

これで、’odoo‘ロールを使用してPostgreSQLに接続されていることがわかります。

connect to postgresql

この時点で、Odoo用のPostgreSQLデータベースの準備が完了しました。次に、ソースコードをダウンロードしてPython依存関係をインストールすることでOdooのインストールを開始します。

Odoo 17のダウンロード

このデモでは、ユーザー’odoo’でOdoo v17をセットアップして実行します。したがって、今、新しいUnixユーザー’odoo‘を作成し、最新のOdoo 17ソースコードをダウンロードします。

以下のコマンドを実行して新しいユーザー’odoo‘を作成します。この例では、ユーザー’odoo‘のデフォルトのホームディレクトリは’ /opt/odoo‘で、デフォルトのシェルはbashです。

sudo adduser --system --group --home=/opt/odoo --shell=/bin/bash odoo

次に作業ディレクトリを’ /opt/odoo‘に移動し、以下のgitコマンドを使用してOdooソースコードをダウンロードします。この例では、Odoo 17をインストールします。

cd /opt/odoo  
git clone https://github.com/odoo/odoo.git --depth 1 --branch 17.0 --single-branch odoo-server

これで、’ /opt/odoo‘ディレクトリ内に新しいディレクトリ’odoo-server‘が作成されるはずです。

最後に、以下のコマンドを実行してOdooソースコードの所有権をユーザーおよびグループ’odoo‘に変更します。

sudo chown -R odoo:odoo /opt/odoo/odoo-server

Odooソースコードをダウンロードした後、次にOdooのPythonパッケージ依存関係のインストールを開始します。

OdooのPython依存関係のインストール

このステップでは、Odoo用のPython仮想環境を設定し、pip3コマンドを使用してPython依存関係をインストールします。

作業ディレクトリを’/opt/odoo/odoo-server’に移動し、以下のコマンドを使用して新しいPython仮想環境’venv’を作成します。

cd /opt/odoo/odoo-server  
python3 -m venv venv

次に、以下のコマンドを使用して’venv’ Python仮想環境をアクティブにします。

source venv/bin/activate

Python仮想環境をアクティブにすると、現在のシェルが’(venv) root@hostname…‘のように変わります。

次に、以下のpip3コマンドを実行してPythonパッケージwheelをインストールし、requirements.txtファイルを介してOdooのPython依存関係をインストールします。

pip3 install wheel  
pip3 install -r requirements.txt

install deps odoo

Python依存関係がインストールされたら、以下のコマンドを実行してPythonの’venv’仮想環境から退出します。

deactivate

これで、Odooソースコードをダウンロードし、Python依存関係をインストールしました。次に、Odooインストール用の新しい構成とディレクトリを作成します。

Odoo構成の作成

以下のnanoエディタを使用して新しい構成ファイル’ /etc/odoo.conf‘を作成します。

sudo nano /etc/odoo.conf

以下の構成をファイルに追加します。’admin_passwd‘とデータベースユーザーおよびパスワードの詳細を自分の詳細に変更してください。

[options]  
; これはデータベース操作を許可するパスワードです:  
admin_passwd = adminpassodoo  
db_host = 127.0.0.1  
db_port = 5432  
db_user = odoo  
db_password = odoo  
addons_path = /opt/odoo/odoo-server/addons  
xmlrpc_port = 8069  
logfile = /var/log/odoo/odoo-server.log  
log_level = debug

ファイルを保存してエディタを終了します。

次に、Odoo構成ファイル’ /etc/odoo.conf‘の所有権をシステムユーザー’odoo’に変更します。

sudo chown odoo:odoo /etc/odoo.conf

次に、Odooのログを保存するために使用される新しいディレクトリを作成するために以下のコマンドを実行します。

sudo mkdir /var/log/odoo

次に、Odooログディレクトリ’ /var/log/odoo‘の所有権をユーザー’odoo‘に変更し、パーミッションを755に変更します。

sudo chown odoo:odoo /var/log/odoo  
sudo chmod 755 /var/log/odoo

OdooをSystemdサービスとして実行

この時点で、コマンドラインを介してOdooを手動で実行できます。より簡単にするために、Odooをsystemdサービスとして実行できます。これにより、systemctlコマンドを介してOdooを管理できます。

次に、新しいsystemdサービスファイルを作成し、Odooをsystemdサービスとして実行します。

最初に、以下のnanoエディタを使用して新しいsystemdサービスファイル’/lib/systemd/system/odoo-server.service’を作成します。

sudo nano /lib/systemd/system/odoo-server.service

以下の構成をファイルに追加します。

[Unit]  
Description=Odoo 17.0 Service  
Requires=postgresql.service  
After=network.target postgresql.service  
  
[Service]  
Type=simple  
SyslogIdentifier=odoo  
PermissionsStartOnly=true  
User=odoo  
Group=odoo  
ExecStart=/opt/odoo/odoo-server/venv/bin/python3 /opt/odoo/odoo-server/odoo-bin -c /etc/odoo.conf  
StandardOutput=journal+console  
  
[Install]  
WantedBy=multi-user.target

ファイルを保存してエディタを終了します。

次に、systemdマネージャーをリロードして新しいサービスファイルを適用します。以下のsystemctlコマンドを実行します。

sudo systemctl daemon-reload

以下のコマンドを使用してサービス’odoo-server’を開始および有効にします。

sudo systemctl start odoo-server  
sudo systemctl enable odoo-server

setup odoo service

最後に、Odooサービスを確認して、サービスが実行中であることを確認します。

sudo systemctl status odoo-server

サービス’odoo-server‘が実行中であるという出力を受け取るはずです。

check odoo

NginxリバースプロキシでOdooを実行

Odooを本番環境にデプロイする推奨方法は、リバースプロキシを使用することです。これにより、Odooはlocalhostでのみ実行され、すべてのクライアントアクセスはリバースプロキシによって処理されます。

このステップでは、Nginx WebサーバーをOdoo Webアプリケーションのリバースプロキシとしてインストールおよび設定します。また、OdooインストールをSSLで保護します。したがって、Nginxの設定を開始する前に、ドメイン名がサーバーIPアドレスを指していることを確認し、SSL Letsencryptを生成してください。

最初に、以下のnanoエディタを使用してOdoo構成ファイル’ /etc/odoo.conf‘を修正します。

sudo nano /etc/odoo.conf

以下の構成をファイルに追加します。この構成は、127.0.0.1で実行されるバックエンドアプリケーションとしてOdooを実行します。

xmlrpc_interface = 127.0.0.1  
proxy_mode = True

ファイルを保存してエディタを終了します。

次に、以下のコマンドを実行して’odoo-server’サービスを再起動し、新しい変更を適用します。

sudo systemctl restart odoo-server

次に、Nginxをインストールおよび構成します。

以下のaptコマンドを実行してNginx Webサーバーパッケージをインストールします。プロンプトが表示されたらyを入力し、ENTERを押してインストールを確認します。

sudo apt install nginx

install nginx

Nginxがインストールされたら、以下のnanoエディタを使用して新しいNginxサーバーブロック構成’/etc/nginx/sites-available/odoo.conf’を作成します。

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

以下の構成をファイルに追加し、ドメイン名とSSL証明書のパスを自分の設定に変更してください。


#odooサーバー  
upstream odoo {  
server 127.0.0.1:8069;  
}  
upstream odoochat {  
server 127.0.0.1:8072;  
}  
  
# http -> https  
server {  
listen 80;  
server_name odoo.howtoforge.local;  
rewrite ^(.*) https://$host$1 permanent;  
}  
  
server {  
listen 443 ssl http2;  
server_name odoo.howtoforge.local;  
proxy_read_timeout 720s;  
proxy_connect_timeout 720s;  
proxy_send_timeout 720s;  
  
# Odooプロキシモード用のヘッダーを追加  
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;  
  
# SSLパラメータ  
ssl_certificate /etc/letsencrypt/live/odoo.howtoforge.local/fullchain.pem;  
ssl_certificate_key /etc/letsencrypt/live/odoo.howtoforge.local/privkey.pem;  
ssl_session_timeout 1d;  
ssl_session_cache shared:MozSSL:10m; # 約40000セッション  
ssl_session_tickets off;  
ssl_protocols TLSv1.2 TLSv1.3;  
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;  
ssl_prefer_server_ciphers off;  
ssl_dhparam /etc/ssl/certs/dhparam.pem;  
  
# ログ  
access_log /var/log/nginx/odoo.access.log;  
error_log /var/log/nginx/odoo.error.log;  
  
# Odooロングポーリングポートへのリクエストをリダイレクト  
location /longpolling {  
proxy_pass http://odoochat;  
}  
  
# Odooバックエンドサーバーへのリクエストをリダイレクト  
location / {  
proxy_redirect off;  
proxy_pass http://odoo;  
}  
  
# 共通gzip  
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;  
gzip on;  
}

ファイルを保存してエディタを閉じます。

次に、新しいNginxサーバーブロック構成を有効にし、Nginx構成を確認して正しい構成があることを確認します。

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

構成が正しい場合、’test successful - syntax OK’のような出力メッセージが表示されます。

最後に、以下のsystemctlコマンドを実行してNginxサービスを再起動し、新しい変更を適用します。

sudo systemctl restart nginx

これで、Odoo ERPのNginxリバースプロキシのインストールと構成が完了しました。Webブラウザを介してインストールにアクセスできるようになりました。

check nginx

UFWファイアウォールの設定

Odooインストールでファイアウォールを有効にすることをお勧めします。このステップでは、UFWファイアウォールの設定方法を学びます。

デフォルトでは、一般的なUbuntuサーバーにはufwパッケージがインストールされているため、設定を開始できます。

以下のコマンドを実行して、UFWファイアウォールにOpenSSHアプリケーションを追加します。その後、UFWを実行して有効にします。

sudo ufw allow "OpenSSH"  
sudo ufw enable

確認を求められたら、yを入力してENTERを押します。UFWファイアウォールサービスが有効になり、実行中になります。

次に、以下のコマンドを実行して’Nginx Full‘アプリケーションを追加します。このアプリケーションプロファイルは、デフォルトのインストールでNginxパッケージによって提供され、アプリケーションのHTTPおよびHTTPSポートの両方を開きます。

sudo ufw allow "Nginx Full"

最後に、UFWで有効なルールのリストを確認します。’OpenSSH‘と’Nginx Full‘の2つのアプリケーションが有効になっているはずです。

sudo ufw status

setup ufw

Odooデータベースの移行とインストール

Webブラウザを開き、Odooインストールのドメイン名(例:https://odoo.howtoforge.local/)にアクセスします。

最初に、Odooのデータベースを移行し、新しい管理者ユーザーを作成する必要があります。

ここでのマスターパスワードは、’ /etc/odoo.conf‘ファイルに追加した’admin_passwd‘です。

自動的に作成される新しいデータベース名を入力し、Odooインストール用の新しい管理者ユーザーとパスワードの詳細を入力します。さらに、デモデータをインストールに追加するためにデモデータチェックボックスを選択することもできます。

データベースを作成‘をクリックしてOdooのインストールを開始します。

install odoo

Odooがインストールされた後、Odooログインページにリダイレクトされます。Odooの管理者メールとパスワードを入力し、’ログイン‘をクリックします。

login odoo

これで、Odooユーザーダッシュボードが表示されるはずです。

dashboard odoo

結論

おめでとうございます!Ubuntu 24.04サーバーにOdooオープンソースERPをインストールしました。また、PostgreSQLデータベースサーバーとリバースプロキシとして構成されたNginx Webサーバーの基本的なインストールも学びました。

これで、Ubuntuサーバー上のOdooインストールが完全に保護されました。ビジネスに適した追加のプラグイン/アドオンを追加し始めることができます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。