GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu 22.04 で Docker、Nginx を使用して Odoo 15 をインストールします。

Ubuntu 22.04 で Docker Compose、Nginx、SSL を使用して Odoo 15 をインストールします。このチュートリアルでは、Docker と Docker Compose を使用して Odoo をインストールおよびセットアップし、Nginx を構成して SSL を暗号化し、PostgreSQL をインストールする方法を学習します。 Docker Compose を使用して Odoo をインストールする方法は、手動でインストールするよりも簡単です。

Odoo は、一流のユーザー エクスペリエンスでビジネスを運営するためのセルフ ホスト型の管理ソフトウェアです。 Odoo 内のアプリケーションは互いに完全に統合されているため、ビジネス プロセスを簡単に完全に自動化できます。

前提条件

<オール>
  • Ubuntu 22.04 に Docker をインストールする
  • Ubuntu 22.04 に Docker Compose をインストールします。
  • 上記の手順をすべて完了していることを確認してください

    • サーバーの IP アドレスを指すドメイン
    • Docker のインストールと構成
    • Docker Compose のインストールと構成

    ステップ 1:プロジェクト ディレクトリを作成する

    サーバーに SSH で接続し、odoo-project という名前の新しいプロジェクト ディレクトリを作成することから始めます。 .必要な名前を付けることもできます。

    mkdir odoo-project

    ステップ 2:Docker Compose YAML ファイルを作成する

    プロジェクト ディレクトリ内に移動し、次の構成で新しい docker-compose.yml ファイルを作成します。

    cd odoo-project
    nano docker-compose.yml

    次の構成を貼り付けます。

    version: '3.9'
    services:
        odoo:
            container_name: odoo
            image: odoo:15.0
            volumes:
                - ./addons-extra:/mnt/extra-addons
                - ./etc/odoo:/etc/odoo
                - odoo-web-data:/var/lib/odoo
            ports:
                - "8069:8069"
            depends_on:
                - postgres
        postgres:
            image: postgres:14
            environment:
                - POSTGRES_DB=postgres
                - POSTGRES_PASSWORD=odoo
                - POSTGRES_USER=odoo
                - PGDATA=/var/lib/postgresql/data/pgdata
            volumes:
                - odoo-db-data:/var/lib/postgresql/data/pgdata
        nginx:
            container_name: nginx
            image: nginx:latest
            restart: unless-stopped
            ports:
                - 80:80
                - 443:443
            volumes:
                - ./nginx/conf:/etc/nginx/conf.d
                - ./certbot/conf:/etc/nginx/ssl
                - ./certbot/data:/var/www/html
        certbot:
            container_name: certbot
            image: certbot/certbot:latest
            command: certonly --webroot --webroot-path=/var/www/html -- email [email protected] --agree-tos --no-eff-email -d domain.com -d www.domain.com
            volumes:
                - ./certbot/conf:/etc/letsencrypt
                - ./certbot/logs:/var/log/letsencrypt
                - ./certbot/data:/var/www/html
    volumes:
        odoo-web-data:
        odoo-db-data:

    CTRL + X をヒット 続いて YEnter ファイルを保存して終了します。

    構成の詳細は次のとおりです。

    • バージョン :Docker Engine と互換性のある Compose ファイルのバージョン。こちらで互換性を確認できます。
    • サービス :odoo という名前の 4 つのサービスがあります 、 postgresnginx および certbot .
    • 画像 :Docker ハブで利用可能な最新の Odoo 15、Postgres 14、Nginx、および Certbot イメージを使用します。
    • ボリューム :
      • nginx/conf :ここでは、コンテナー内のデフォルトの Nginx conf.d フォルダーと同期する Nginx 構成ファイルを配置します。
      • etc/odoo :ここに Odoo 15 データベース構成を配置します。
      • cedtbot/conf :ここで SSL 証明書を受け取ります。これは、コンテナー内の希望するフォルダーと同期されます。
      • ports :リストされたポートをリッスンするようにコンテナーを構成します。
      • command :SSL 証明書を受信するために使用されるコマンド。

    ステップ 3:Odoo 構成を作成する

    Oddo サービスの yml ファイルに記載されているように、ディレクトリ内でカスタム Odoo 構成を使用できるようになりました。

    mkdir -p etc/odoo

    odoo.conf という名前の新しいファイルを作成します

    nano etc/odoo/odoo.conf

    PostgreSQL の値に対応する強調表示された値を置き換えます。

    [options]
    ; This is the password that allows database operations:
    ; admin_passwd = admin
    db_host = postgres
    db_user = odoo
    db_password = odoo

    ここでは、PostgreSQL サービス名と同じホスト名を使用します。

    ステップ 4:Nginx を構成する

    これで、Nginx サービスの yml ファイルに記載されているように、ディレクトリ内にデフォルトの構成ファイルを作成できます。

    mkdir -p nginx/conf

    default.conf という名前の新しいファイルを作成します

    nano nginx/conf/default.conf

    次の構成を貼り付け、適切な値をドメイン名に置き換えます。

    server {
        listen [::]:80;
        listen 80;
    
        location ~ /.well-known/acme-challenge {
            allow all;
            root /var/www/html;
        }
    
        location / {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $host;
            proxy_pass http://odoo:8069;
        }
    
        location ~* /web/static/ {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $host;
            proxy_pass http://odoo:8069;
        }
    }

    ステップ 5:Docker を使用して Odoo をデプロイする

    これで、次のコマンドを使用してデプロイを行うことができます。

    次のコマンドを使用してコンテナーを開始します。コンテナーが開始されると、SSL 証明書を受け取ります。

    docker-compose up -d

    すべてのコンテナが開始されると、SSL 用の追加のディレクトリが docker-compose.yml の横に作成されます。 ファイル。

    ディレクトリ certbot SSL 証明書に関連するすべてのファイルを保持します。

    コンテナーを表示するには、次のコマンドを実行できます。

    docker-compose ps

    ステップ 6:Docker で Odoo の SSL を構成する

    Let’s Encrypt SSL 証明書を受け取ったら、HTTPS を構成し、HTTPS へのリダイレクトをセットアップできます。

    default.conf を編集します 次の変更を加えます。

    sudo nano nginx/conf/default.conf
    server {
        listen [::]:80;
        listen 80;
    
        server_name domain.com;
    
        return 301 https://www.domain.com$request_uri;
    }
    
    server {
        listen [::]:443 ssl http2;
        listen 443 ssl http2;
    
        server_name domain.com;
    
        ssl_certificate /etc/nginx/ssl/live/domain.com/fullchain.pem;
        ssl_certificate_key /etc/nginx/ssl/live/domain.com/privkey.pem;
    
        return 301 https://www.domain.com$request_uri;
    }
    server {
        listen [::]:443 ssl http2;
        listen 443 ssl http2;
    
        server_name domain.com;
    
        ssl_certificate /etc/nginx/ssl/live/domain.com/fullchain.pem;
        ssl_certificate_key /etc/nginx/ssl/live/domain.com/privkey.pem;
    
        location ~ /.well-known/acme-challenge {
            allow all;
            root /var/www/html;
        }
    
        location / {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $host;
            proxy_pass http://odoo:8069;
        }
    
        location ~* /web/static/ {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $host;
            proxy_pass http://odoo:8069;
        }
    }

    Nginx サービスを再起動して、新しい構成を読み込みます。

    docker-compose restart nginx

    ステップ 7:Odoo のセットアップ

    これで、Web ブラウザーでドメイン名にアクセスできます。以下のようなページが表示されます。ここで、Odoo のデータベースと管理者ユーザーを作成できます。

    適切な値をすべて入力し、[データベースの作成] をクリックします。これで Odoo を使用する準備が整いました。

    結論

    高度な構成の使用に関するヒントを含む、Odoo セールス アプリケーションの完全なウォークスルーを学びます。

    これで、Docker Compose、Nginx を使用して Ubuntu 22.04 に Odoo 15 をインストールし、Let's Encrypt で保護する方法を学びました。

    御時間ありがとうございます。問題やフィードバックがある場合は、下にコメントを残してください。


    Linux
    1. Ubuntu 18.04 / Ubuntu 18.10 /Ubuntu19.04にDockerをインストールする方法

    2. Ubuntu16.04にOdoo11をインストールします

    3. Ubuntu 18.04にDockerをインストールする方法は?

    1. UbuntuにOdooをインストールする方法

    2. Ubuntu18.04でNginxを使用してWordPressをインストールする方法

    3. UbuntuにNginxをインストールする

    1. Ubuntu22.04にDockerをインストールする方法

    2. Ubuntu20.04にOdoo15をインストールする方法

    3. Ubuntu16.04にOdoo11をインストールする方法