Odooは、無料のオープンソースで最も人気のあるERPソフトウェアであり、顧客関係管理(CRM)、販売パイプライン、プロジェクト管理、製造など、幅広いビジネスアプリケーションを提供します。 、請求、会計、eコマースなど。これは、あらゆるビジネスでERPを維持するのに役立つWebベースのフル機能のアプリケーションです。 Odooには、30のコアモジュールと4500を超えるコミュニティで作成されたモジュールが付属しており、企業レベルの企業向けの小さなショップとしてカスタマイズするのに役立ちます。
このチュートリアルでは、CentOS8サーバーにリバースプロキシとしてNginxを使用してOdoo13をインストールおよび構成する方法を学習します。
- 2GB以上のRAMを搭載したCentOS8を実行しているサーバー。
- サーバーIPを指す有効なドメイン名。このチュートリアルでは、exmaple.comドメインを使用します。
- ルートパスワードはサーバーで構成されています。
まず、システムを更新し、次のコマンドを使用してEPELリポジトリをインストールします。
dnf update
dnf install epel-release
次に、システムにOdooを構築するために必要ないくつかのツールと依存関係をインストールする必要があります。
次のコマンドですべてをインストールできます:
dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
すべてのパッケージがインストールされたら、次のステップに進むことができます。
Odooユーザーの作成
次に、次のコマンドを使用して、名前odooとホームディレクトリ/ opt/odooの新しいシステムユーザーを作成する必要があります。
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
完了したら、次のステップに進むことができます。
PostgreSQLのインストールと構成
OdooはPostgreSQLを使用してデータを保存します。そのため、サーバーにPostgreSQLをインストールする必要があります。次のコマンドでインストールできます:
dnf install postgresql postgresql-server postgresql-contrib
インストールしたら、次のコマンドを使用してデータベースを初期化します。
/usr/bin/postgresql-setup initdb
次の出力が得られるはずです:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
次に、PostgreSQLサービスを開始し、次のコマンドを使用してシステムの再起動後に開始できるようにします。
systemctl start postgresql
systemctl enable postgresql
これで、次のコマンドを使用してPostgreSQLを検証できます。
systemctl status postgresql
次の出力が表示されます。
? postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-02 01:01:44 EST; 6s ago Process: 31805 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS) Main PID: 31808 (postmaster) Tasks: 8 (limit: 12552) Memory: 16.5M CGroup: /system.slice/postgresql.service ??31808 /usr/bin/postmaster -D /var/lib/pgsql/data ??31809 postgres: logger process ??31811 postgres: checkpointer process ??31812 postgres: writer process ??31813 postgres: wal writer process ??31814 postgres: autovacuum launcher process ??31815 postgres: stats collector process ??31816 postgres: bgworker: logical replication launcher
次に、以下に示すように、システムユーザーと同じ名前の新しいPostgreSQLユーザーを作成する必要があります。
su - postgres -c "createuser -s odoo"
Wkhtmltopdfをインストール
次に、OdooがPDFレポートを印刷できるように、システムにwkhtmltopdfツールをインストールする必要があります。次のコマンドでインストールできます:
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
dnf localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
インストールしたら、次のステップに進むことができます。
Odoo13のインストールと構成
まず、次のコマンドを使用してOdooユーザーに切り替えます。
su - odoo
次に、gitコマンドを使用してGitリポジトリからOdoo13の最新バージョンをダウンロードします。
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13
次に、次のコマンドを使用して、Odoo13インスタンスの新しい仮想環境を作成します。
cd /opt/odoo
python3 -m venv odoo13-venv
次に、次のコマンドを使用して仮想環境をアクティブ化します。
source odoo13-venv/bin/activate
次の出力が得られるはずです:
(odoo13-venv) [[email protected] ~]$
次に、次のコマンドを使用して、Odoo13に必要なすべてのPythonモジュールをインストールします。
pip3 install -r odoo13/requirements.txt
必要なモジュールがすべてインストールされたら、次のコマンドを使用して仮想環境を非アクティブ化します。
deactivate
最後に、次のコマンドを使用してOdooユーザーを終了します。
exit
次に、OdooカスタムモジュールとOdooログを保存するための新しいディレクトリを作成します。
mkdir /opt/odoo/odoo13-custom-addons
mkdir /var/log/odoo13
touch /var/log/odoo13/odoo.log
次に、次のコマンドを使用して、両方のディレクトリの所有権をodooユーザーに変更します。
chown -R odoo:odoo /opt/odoo/odoo13-custom-addons
chown -R odoo:odoo /var/log/odoo13/
次に、次のコマンドを使用してOdoo13の新しい構成ファイルを作成します。
nano /etc/odoo.conf
次の行を追加します:
[options] admin_passwd = [email protected] db_host = False db_port = False db_user = odoo db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo13/odoo.log logrotate = True addons_path = /opt/odoo/odoo13/addons,/opt/odoo/odoo13-custom-addons
終了したら、ファイルを保存して閉じます。
Odoo13のSystemdサービスファイルを作成する
次に、Odooサービスを管理するためにOdoo13用の新しいsystemdユニットファイルを作成する必要があります。
次のコマンドで作成できます:
nano /etc/systemd/system/odoo13.service
次の行を追加します:
[Unit] Description=Odoo13 #Requires=postgresql-10.6.service #After=network.target postgresql-10.6.service [Service] Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
ファイルを保存して閉じます。次に、次のコマンドを使用してsystemdデーモンをリロードします。
systemctl daemon-reload
次に、Odooサービスを開始し、次のコマンドを使用してシステムの再起動後に開始できるようにします。
systemctl start odoo13
systemctl enable odoo13
次のコマンドを使用して、Odooのステータスを確認することもできます。
systemctl status odoo13
次の出力が得られるはずです:
? odoo13.service - Odoo13 Loaded: loaded (/etc/systemd/system/odoo13.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-02 01:15:43 EST; 2s ago Main PID: 17022 (python3) Tasks: 4 (limit: 12552) Memory: 63.7M CGroup: /system.slice/odoo13.service ??17022 /opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf Dec 02 01:15:43 centos8 systemd[1]: Started Odoo13.
デフォルトでは、Odooはポート8069でリッスンします。次のコマンドで確認できます:
netstat -plntu | grep 8069
次の出力が表示されます。
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 17022/python3
NginxをOdoo13のリバースプロキシとして構成する
次に、NginxをOdoo13インスタンスのリバースプロキシとしてインストールして構成する必要があります。
まず、次のコマンドを使用してNginxWebサーバーをインストールします。
dnf install nginx
インストールしたら、次のコマンドを使用して新しい仮想ホスト構成ファイルを作成します。
nano /etc/nginx/conf.d/odoo13.conf
次の行を追加します:
upstream odoo { server 127.0.0.1:8069; } server { listen 80; server_name example.com; access_log /var/log/nginx/odoo13.access.log; error_log /var/log/nginx/odoo13.error.log; location / { 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; proxy_redirect off; proxy_pass http://odoo; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用して、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 Mon 2019-12-02 01:25:15 EST; 6s ago Process: 17244 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 17241 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 17239 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 17245 (nginx) Tasks: 3 (limit: 12552) Memory: 5.4M CGroup: /system.slice/nginx.service ??17245 nginx: master process /usr/sbin/nginx ??17246 nginx: worker process ??17247 nginx: worker process Dec 02 01:25:15 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server... Dec 02 01:25:15 centos8 nginx[17241]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Dec 02 01:25:15 centos8 nginx[17241]: nginx: configuration file /etc/nginx/nginx.conf test is successful Dec 02 01:25:15 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.
次に、firewalldを介してNginxサービスがリモートシステムからOdoo13インスタンスにアクセスできるようにする必要があります。
次のコマンドを実行して、firewalldを介したNginxサービスを許可できます。
firewall-cmd --permanent --zone=public --add-service=nginx
firewall-cmd --reload
デフォルトでは、SELinuxはCentOS 8で有効になっているため、SELinuxを介したHTTPを許可する必要があります。次のコマンドで許可できます:
setsebool -P httpd_can_network_connect on
Odoo13Webインターフェイスにアクセス
これで、Odoo13がインストールおよび構成されました。 Odoo13Webインターフェースにアクセスする時が来ました。
Webブラウザーを開き、URL http://example.comを入力します 。次のページにリダイレクトされます:
次に、マスターパスワード、データベース名、メールアドレス、パスワード、国を入力して、作成をクリックします。 データベース ボタン。 Odoo 13の管理ページにリダイレクトされます:
上記のチュートリアルでは、CentOS8サーバーにOdoo13をインストールして構成する方法を学びました。また、NginxをOdoo13のリバースプロキシとして構成する方法も学習しました。これで、ビジネスニーズに応じてOdoo13インスタンスをカスタマイズできます。