Ubuntu 24.04 / 26.04にOdoo 19をインストールする手順
※ 本記事にはアフィリエイト広告(Amazonアソシエイト・楽天アフィリエイト等)が含まれています。
以前Ubuntu 22.04にOdoo 16を入れる記事を書きましたが、その後Odooはバージョンが上がり、現在の最新メジャーバージョンは Odoo 19 です。そこで、最新の長期サポート版である Ubuntu 24.04 LTS、および Ubuntu 26.04 LTS で動くように、手順を全面的に書き直しました。どちらのUbuntuでもほぼ同じ流れで進められます。
OdooはPython製の統合業務アプリ(ERP)で、データベースには PostgreSQL を使います。ここでは公式のソースコードをGitHubから取得し、Pythonの仮想環境の中で動かす、という王道の構成でインストールしていきます。
前提と全体像
- Ubuntu 24.04 LTS もしくは 26.04 LTS
sudoが使える一般ユーザーでログイン済みであること- これから行うのは大きく分けて「①依存パッケージを入れる → ②専用ユーザーを作る → ③PostgreSQLを用意する → ④Odoo本体を取得して仮想環境を作る → ⑤設定ファイルとサービスを用意して起動」の5ステップです
1. Linuxのバージョンを確認する
まず、今動いているUbuntuのバージョンを確認しておきます。
lsb_release -a
Ubuntu 24.04 LTS や Ubuntu 26.04 LTS と表示されればOKです。
2. パッケージ情報を更新する
インストール前にパッケージ一覧を最新化します。
sudo apt update && sudo apt upgrade -y
update が一覧の更新、upgrade が導入済みパッケージの更新です。&& でつないで一気に実行しています。
3. 依存パッケージをまとめて入れる
Odooをソースからビルドするのに必要な、Python関連のツールや各種開発用ライブラリを一括で入れます。
sudo apt install -y git build-essential wget python3-dev python3-venv \
python3-wheel python3-pip libfreetype6-dev libxml2-dev libzip-dev \
libsasl2-dev libldap2-dev libjpeg-dev zlib1g-dev libpq-dev \
libxslt1-dev libtiff5-dev libopenjp2-7-dev
ざっくり言うと、git/wget は取得用、build-essential/python3-dev はビルド用、末尾の lib○○-dev 群は、OdooがPythonパッケージをインストールするときに必要になる開発用ヘッダー類です。
4. Node.jsとrtlcssを入れる
Odooはフロントエンドのアセット処理にNode.jsを使います。Ubuntuの標準リポジトリのNode.jsで問題ありません。加えて、アラビア語などの右書き言語向けにCSSを変換する rtlcss を入れておきます。
sudo apt install -y nodejs npm
sudo npm install -g rtlcss
5. wkhtmltopdf(PDF出力用)を入れる
Odooの帳票をPDF出力するには wkhtmltopdf が必要です。Odooは特定バージョン(0.12.6.1)を推奨しているため、Ubuntu標準版ではなく公式ビルドを入れます。
cd /tmp
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo apt install -y ./wkhtmltox_0.12.6.1-3.jammy_amd64.deb
6. Odoo専用のシステムユーザーを作る
Odooを動かす専用ユーザーを作ります。セキュリティの観点から、アプリは専用ユーザーで動かすのが基本です。ホームディレクトリを /opt/odoo19 にしておきます。
sudo useradd -m -d /opt/odoo19 -U -r -s /bin/bash odoo19
-m -d /opt/odoo19 でホームディレクトリを作成、-U で同名のグループも作成、-r でシステムユーザー、-s /bin/bash でログインシェルを指定しています。
7. PostgreSQLをインストールして起動する
Odooのデータ保存先となるPostgreSQLを入れます。
sudo apt install -y postgresql
インストール後は自動で起動しています。状態を確認しておきましょう(確認後 q で抜けます)。
sudo systemctl status postgresql
続いて、先ほど作ったOSユーザーと同じ名前のPostgreSQLユーザー(ロール)を作ります。名前を揃えておくと、Odooがパスワードなしでスムーズに接続できます。
sudo su - postgres -c "createuser -s odoo19"
-s はスーパーユーザー権限を与えるオプションです(開発・検証用途向け。本番では権限を絞る運用も検討してください)。
8. Odoo 19のソースを取得する
ここからはOdoo専用ユーザーに切り替えて作業します。
sudo su - odoo19
GitHubからOdoo 19のソースコードを取得します。--depth 1 --branch 19.0 で、19.0ブランチの最新状態だけを軽量にクローンします。
git clone https://github.com/odoo/odoo.git --depth 1 --branch 19.0 /opt/odoo19/odoo
9. Python仮想環境を作り、依存ライブラリを入れる
システム全体のPythonを汚さないよう、Odoo専用のPython仮想環境(venv)を作ります。
python3 -m venv /opt/odoo19/venv
source /opt/odoo19/venv/bin/activate
source ... activate を実行すると、プロンプトの先頭に (venv) と表示され、以後のPython操作がこの仮想環境の中で行われます。まずインストール補助の wheel を入れ、続いてOdooが必要とするライブラリを requirements.txt から一括で入れます。
pip install --upgrade pip
pip install wheel
pip install -r /opt/odoo19/odoo/requirements.txt
ここは環境によっては数分かかります。カスタムアドオン(自作の拡張機能)を置くフォルダも作っておきましょう。
mkdir /opt/odoo19/custom-addons
終わったら仮想環境を抜け、Odooユーザーからも元のユーザーに戻ります。
deactivate
exit
10. 設定ファイルを作る
Odooの動作設定を書くファイルを作ります。root 側の作業に戻っているので、sudo を使います。
sudo nano /etc/odoo19.conf
エディタに以下を貼り付けます。admin_passwd は、データベースを作成・管理するときに使うマスターパスワードです。必ず自分の強いパスワードに変えてください。
[options]
admin_passwd = 任意の強いマスターパスワード
db_user = odoo19
addons_path = /opt/odoo19/odoo/addons,/opt/odoo19/custom-addons
logfile = /var/log/odoo19/odoo19.log
http_port = 8069
Ctrl + X → Y → Enter で保存します。この設定ファイルはパスワードを含むので、所有者をOdooユーザーにし、他人から読めないよう権限を絞ります。
sudo chown odoo19:odoo19 /etc/odoo19.conf
sudo chmod 640 /etc/odoo19.conf
ログの出力先ディレクトリも用意しておきます。
sudo mkdir /var/log/odoo19
sudo chown odoo19:odoo19 /var/log/odoo19
11. systemdサービスを作って自動起動させる
サーバー起動時にOdooが自動で立ち上がるよう、systemdのサービスファイルを作ります。
sudo nano /etc/systemd/system/odoo19.service
以下を貼り付けます。ExecStart で「仮想環境のPython」を使って「Odoo本体」を「先ほどの設定ファイル付き」で起動する、という指定をしています。
[Unit]
Description=Odoo 19
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo19
PermissionsStartOnly=true
User=odoo19
Group=odoo19
ExecStart=/opt/odoo19/venv/bin/python3 /opt/odoo19/odoo/odoo-bin -c /etc/odoo19.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
保存したら、systemdに新しいサービスを認識させ、自動起動を有効にしつつ今すぐ起動します。
sudo systemctl daemon-reload
sudo systemctl enable --now odoo19.service
正しく起動したか確認します(active (running) ならOK。q で抜けます)。
sudo systemctl status odoo19.service
12. ブラウザで初期設定を行う
ファイアウォール(UFW)を有効にしている場合は、Odooが使う8069番ポートを開けます。
sudo ufw allow 8069
ブラウザで http://サーバーのIPアドレス:8069(同じマシンなら http://localhost:8069)にアクセスすると、データベース作成画面が表示されます。ここで入力する Master Password は、手順10で設定した admin_passwd と同じ値です。データベース名・管理者メール・パスワードなどを入力して作成すれば、Odooのログイン画面に進めます。
これでOdoo 19が動く状態になりました。お疲れさまでした。
参考にした公式ドキュメント
私がこのブログで使っているレンタルサーバーです。公式が「サーバー処理速度 国内No.1」をうたうとおり表示が速く、初期費用は無料。WordPressの簡単セットアップも使えるので、検証用の環境をさっと用意したいときにも便利です。
ConoHa WINGを見てみる