もっと詳しく

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

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

前提条件

  1. Ubuntu22.04にDockerをインストールします
  2. DockerComposeをUbuntu22.04にインストールします。

上記のすべての手順を完了していることを確認してください

  • サーバーのIPアドレスを指すドメイン
  • Dockerがインストールおよび構成されている
  • DockerComposeがインストールおよび構成されている

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

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

mkdir odoo-project

ステップ2:DockerComposeYAMLファイルを作成する

次に、プロジェクトディレクトリ内を移動し、次の構成で新しい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エンジンと互換性のあるファイルバージョンを作成します。 互換性を確認できます ここ
  • サービス:ここに4つのサービスがあります odoopostgresnginxcertbot
  • 画像:最新のOdoo 15、Postgres14を使用しています NginxCertbot Dockerハブで利用可能なイメージ。
  • ボリューム
    • nginx/conf:ここでは、コンテナー内のデフォルトのNginxconf.dフォルダーと同期するNginx構成ファイルを配置します。
    • etc/odoo:ここでは、Odoo15データベース構成を配置します。
    • 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を使用できるようになります。

DockerとNginxを使用したOdoo15

結論

学ぶ Odooセールスアプリケーションの完全なウォークスルー 高度な構成を使用するためのヒントがあります。

これで、Docker Compose、Nginxを使用してUbuntu22.04にOdoo15をインストールし、Let’sEncryptを使用して保護する方法を学習しました。

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

The post Ubuntu 22.04でDocker、Nginxを使用してOdoo15をインストールします appeared first on Gamingsym Japan.