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

CentOSにNginxでOdooをインストールする

Odooは、材料および倉庫管理、人事、財務、会計、販売、在庫、その他多くの企業機能を含む、企業の基本的なニーズを管理するために使用されるオープンソースのERPおよびCRMシステムです。Pythonを使用して構築され、PostgreSQLをデータベースとして使用します。最新のOdoo 14バージョンには、新しいウェブサイトビルダー、新しいビジネスインテリジェンスツール、新しく改善された在庫およびMRPメニューなどの便利な機能があります。

このチュートリアルでは、CentOS 8にNginxを使用してOdoo 14をインストールする方法を示します。

前提条件

  • CentOS 8を実行しているサーバー。
  • サーバーIPにポイントされた有効なドメイン名。
  • サーバーに設定されたルートパスワード。

始めに

始める前に、Python、wkhtmltopdf、およびその他の必要な依存関係をシステムにインストールする必要があります。次のコマンドを実行して、すべてをインストールします:

dnf install python3 redhat-rpm-config libxslt-devel bzip2-devel openldap-devel python3-devel git gcc libjpeg-devel freetype-devel curl unzip -y  
dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm

すべての依存関係がインストールされたら、次のステップに進むことができます。

PostgreSQLのインストールと設定

OdooはPostgreSQLをデータベースバックエンドとして使用します。したがって、システムにインストールする必要があります。次のコマンドを実行してPostgreSQLをインストールします:

dnf install postgresql postgresql-server postgresql-contrib -y

PostgreSQLがインストールされたら、次のコマンドでデータベースを初期化します:

postgresql-setup initdb

次の出力が表示されるはずです:

WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

次に、PostgreSQLサービスを開始し、システム再起動時に自動的に開始するように設定します:

systemctl start postgresql  
systemctl enable postgresql

次に、次のコマンドでOdoo用の新しいユーザーを作成します:

su - postgres -c "createuser -s odoo14"

完了したら、次のステップに進むことができます。

Odoo 14のインストール

Odooをスタンドアロンユーザーとしてインストールして実行することをお勧めします。次のコマンドでOdoo用の新しいユーザーを作成できます:

useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14

注:OdooユーザーとPostgreSQLユーザーは同じでなければなりません。

次に、Odoo 14にユーザーを切り替え、次のコマンドでOdoo 14の最新バージョンをダウンロードします:

su - odoo14  
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo14

ダウンロードが完了したら、odoo14ディレクトリに移動し、次のコマンドで新しいPython仮想環境を作成します:

cd /opt/odoo14  
python3 -m venv odooenv

次に、次のコマンドで仮想環境をアクティブにします:

source odooenv/bin/activate

次に、次のコマンドで他のPython依存関係をインストールします:

(odooenv) [odoo14@centos8 ~]$ pip3 install wheel  
(odooenv) [odoo14@centos8 ~]$ pip3 install -r odoo14/requirements.txt

次に、仮想環境から非アクティブ化し、次のコマンドでOdooユーザーから退出します:

(odooenv) [odoo14@centos8 ~]$ deactivate  
exit

完了したら、次のステップに進むことができます。

Odoo 14の設定

次に、Odoo 14アドオンを保存するディレクトリを作成する必要があります。次のコマンドで作成できます:

mkdir /opt/odoo14/odoo14-custom-addons

次に、アドオンディレクトリに適切な所有権を設定します:

chown -R odoo14:odoo14 /opt/odoo14/odoo14-custom-addons

次に、Odoo 14用のログディレクトリとファイルを作成し、適切な所有権を設定します:

mkdir /var/log/odoo14  
touch /var/log/odoo14/odoo14.log  
chown -R odoo14: /var/log/odoo14/

次に、Odoo 14の設定ファイルを作成します:

nano /etc/odoo14.conf

次の行を追加します:

[options]
; This is the password that allows database operations:
admin_passwd = your_master_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
; longpolling_port = 8072
logfile = /var/log/odoo14/odoo14.log
logrotate = True
addons_path = /opt/odoo14/odoo14/addons,/opt/odoo14/odoo14-custom-addons

完了したら、ファイルを保存して閉じます。

Odoo 14のSystemdユニットファイルを作成する

次に、Odoo 14サービスを管理するためのsystemdサービスファイルを作成する必要があります。次のコマンドで作成できます:

nano /etc/systemd/system/odoo14.service

次の行を追加します:

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

ファイルを保存して閉じたら、次のコマンドでsystemdデーモンをリロードします:

systemctl daemon-reload

次に、次のコマンドでOdoo 14サービスを開始し、システム再起動時に自動的に開始するように設定します:

systemctl start odoo14  
systemctl enable odoo14

次のコマンドでOdoo 14サービスのステータスを確認できます:

systemctl status odoo14

次の出力が表示されるはずです:

? odoo14.service - Odoo14
   Loaded: loaded (/etc/systemd/system/odoo14.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-05-01 06:29:56 EDT; 5s ago
 Main PID: 26505 (python3)
    Tasks: 4 (limit: 25014)
   Memory: 91.8M
   CGroup: /system.slice/odoo14.service
           ??26505 /opt/odoo14/odooenv/bin/python3 /opt/odoo14/odoo14/odoo-bin -c /etc/odoo14.conf

May 01 06:29:56 centos8 systemd[1]: Started Odoo14.

完了したら、次のステップに進むことができます。

Odoo 14用のNginxのインストールと設定

この時点で、Odoo 14がインストールされ、実行中です。次に、OdooのリバースプロキシとしてNginxを設定することをお勧めします。

まず、次のコマンドでNginxパッケージをインストールします:

dnf install nginx -y

Nginxがインストールされたら、次のコマンドで新しいNginx仮想ホスト設定ファイルを作成します:

nano /etc/nginx/conf.d/odoo14.conf

次の行を追加します:

upstream odoo {
 server 127.0.0.1:8069;
}

upstream odoochat {
 server 127.0.0.1:8072;
}

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

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;

    # Proxy headers
    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;

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

    # Handle longpoll requests
    location /longpolling {
        proxy_pass http://odoochat;
    }

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://odoo;
    }

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

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

ファイルを保存して閉じたら、次のコマンドでNginxの構文エラーを確認します:

ginx -t

次の出力が表示されるはずです:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、Nginxサービスを開始し、システム再起動時に自動的に開始するように設定します:

systemctl start nginx  
systemctl enable nginx

次のコマンドでNginxを確認することもできます:

systemctl status nginx

次の出力が表示されるはずです:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-05-01 06:31:19 EDT; 3s ago
  Process: 26627 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 26625 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 26623 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 26628 (nginx)
    Tasks: 3 (limit: 25014)
   Memory: 5.3M
   CGroup: /system.slice/nginx.service
           ??26628 nginx: master process /usr/sbin/nginx
           ??26629 nginx: worker process
           ??26630 nginx: worker process

May 01 06:31:19 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
May 01 06:31:19 centos8 nginx[26625]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
May 01 06:31:19 centos8 nginx[26625]: nginx: configuration file /etc/nginx/nginx.conf test is successful
May 01 06:31:19 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.

次に、Odoo 14の設定ファイルを編集し、プロキシモードを有効にします:

nano /etc/odoo14.conf

次の行を追加します:

proxy_mode = True

ファイルを保存して閉じたら、次のコマンドでOdoo 14サービスを再起動して変更を適用します:

systemctl restart odoo14

ファイアウォールの設定

次に、ファイアウォールを通過させるためにポート80を許可する必要があります。次のコマンドで許可できます:

firewall-cmd --permanent --add-service=http

次に、次のコマンドでファイアウォールをリロードして変更を適用します:

firewall-cmd --reload

完了したら、次のステップに進むことができます。

Odoo 14ダッシュボードにアクセス

今、ウェブブラウザを開き、URL http://odoo.example.comを使用してOdoo 14のウェブインターフェースにアクセスします。次のページにリダイレクトされます:

Odooマスターパスワード、データベースを提供し、データベースを作成ボタンをクリックします。次のページにOdoo 14ダッシュボードが表示されるはずです:

結論

おめでとうございます!CentOS 8にNginxでOdoo 14 ERPを正常にインストールしました。これで、Odooを本番環境に実装し、生産性を向上させることができます。

Share: X/Twitter LinkedIn

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

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