Ubuntu 22.04 で Docker Compose、Nginx、SSL を使用して Odoo 15 をインストールします。このチュートリアルでは、Docker と Docker Compose を使用して Odoo をインストールおよびセットアップし、Nginx を構成して SSL を暗号化し、PostgreSQL をインストールする方法を学習します。 Docker Compose を使用して Odoo をインストールする方法は、手動でインストールするよりも簡単です。
Odoo は、一流のユーザー エクスペリエンスでビジネスを運営するためのセルフ ホスト型の管理ソフトウェアです。 Odoo 内のアプリケーションは互いに完全に統合されているため、ビジネス プロセスを簡単に完全に自動化できます。
前提条件
<オール>上記の手順をすべて完了していることを確認してください
- サーバーの 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 example@unixlinux.online --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 をヒット 続いて Y と Enter ファイルを保存して終了します。
構成の詳細は次のとおりです。
- バージョン :Docker Engine と互換性のある Compose ファイルのバージョン。こちらで互換性を確認できます。
- サービス :
odooという名前の 4 つのサービスがあります 、postgres、nginxおよび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 で保護する方法を学びました。
御時間ありがとうございます。問題やフィードバックがある場合は、下にコメントを残してください。