ウェブサイト検索

RHEL/CentOS および Debian/Ubuntu での Nginx を使用した OpenERP (Odoo) 9 のセットアップ


以前は OpenERP として知られていた Odoo は、Python で書かれたオープンソースのエンタープライズ リソース プランニング ERP Web ベースのビジネス ソフトウェアであり、Web スイートが付属しています。ウェブサイトビルダー、eコマースモジュール、請求と会計、人事、販売時点管理、顧客関係管理、在庫モジュール、ライブチャット、その他多くのアプリや機能など、あらゆるビジネス向けに設計されたアプリ。

このチュートリアルでは、Odoo の最新の安定バージョン (バージョン 9) を RHEL/CentOS/Fedora または <フロントエンドでリバース プロキシとして機能するNginx サーバーを備えたstrong>Debian/Ubuntu ベースのシステム。これにより、標準の Web ブラウジング ポートから、より高速かつ安全に Web インターフェイスにアクセスできます。ユーザーにブラウザのリダイレクト ポートを使用する負担を強います。

ステップ 1: PostgreSQL データベースのインストールと保護

1. Odoo のインストールを開始する前に、バックエンドの PostgreSQL データベースをインストールするために、Epel リポジトリによって提供されるパッケージがシステムに同梱されていることを確認してください。 。

また、以下のコマンドを実行して、サーバーが最新のセキュリティ パッケージとパッチで最新であることを確認します。

----------- On RedHat/CentOS based systems ----------- 
yum update
yum install -y epel-release

----------- On Debian/Ubuntu based systems ----------- 
apt-get update && sudo apt-get upgrade # On Debian 

2. 次に、PostgreSQL データベース サーバーをインストールします。これは、Odoo が情報を保存するために使用するデフォルトのデータベースです。

----------- On RedHat/CentOS based systems -----------
yum install postgresql-server

----------- On Debian/Ubuntu based systems -----------
apt-get install postgresql postgresql-client

PostgreSQL データベースを初期化します。

postgresql-setup initdb	

最後に、以下のコマンドを発行してPostgreSQLデータベースを起動します。

----------- On SystemD systems -----------
systemctl start postgresql

----------- On SysVinit systems -----------
service postgresql start

パスワードが空のPostgreSQL デフォルト ユーザーを保護するための追加手順として、root 権限で以下のコマンドを発行してパスワードを変更します。

sudo -u postgres psql
postgres=# \password postgres

ステップ 2: Odoo 9 をインストールする – OpenERP

3. 公式リポジトリから Odoo 9 をインストールするには、まず次の内容で Odoo 用の新しい yum リポジトリ ファイルを作成します。

CentOS/RHEL システムの場合

vi /etc/yum.repos.d/odoo.repo

次の抜粋をファイル odoo.repo に追加します。

[odoo-nightly]
name=Odoo Nightly repository
baseurl=http://nightly.odoo.com/9.0/nightly/rpm/
enabled=1
gpgcheck=1
gpgkey=https://nightly.odoo.com/odoo.key

Debian/Ubuntu システムの場合

Debian/Ubuntu で次のコマンドを発行して Odoo リポジトリを追加します。

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/9.0/nightly/deb/ ./" >> /etc/apt/sources.list

4. 次に、Odoo 9 ソフトウェアをバイナリからインストールします。

----------- On RedHat/CentOS based systems -----------
yum install odoo

----------- On Debian/Ubuntu based systems -----------
apt-get update && sudo apt-get install odoo

次に、以下のコマンドを実行してデーモンを起動し、デーモンのステータスを確認します。

----------- On SystemD systems -----------
systemctl start odoo
systemctl status odoo

----------- On SysVinit systems -----------
service odoo start
service odoo status

追加の手順として、ss または netstat コマンドを実行して、Odoo サービスのリスニング ポートを確認できます。

ss -tulpn
OR
netstat -tulpn

デフォルトでは、Odoo はポート 8069/TCP でネットワーク接続をリッスンします。

ステップ 3: Web インターフェイスから Odoo を設定する

5. Odoo をさらに設定するには、ブラウザを起動し、次の URI で Odoo Web インターフェイスにアクセスします。

http://host-or-IP-address:8069/

6. 次に、Odoo 用の新しいデータベースを作成し、管理者アカウントに強力なパスワードを設定するよう求められます。

7. データベースが作成されると、管理 Web パネルにリダイレクトされ、アプリケーションのインストールや ERP の設定を行うことができます。当面はアプリケーションをデフォルトのままにしてログアウトします。

8. ログイン画面に戻ったら、[データベースの管理] リンクをクリックし、Odoo データベース マネージャーを保護するためにマスター パスワードを設定します。

9. Odoo データベース マネージャーを保護したら、アプリケーションにログインし、必要なアプリと設定を使用してさらに構成を開始できます。

ステップ 4: Nginx フロントエンドから Odoo にアクセスする

ユーザーが Nginx リバース プロキシ経由で Odoo Web パネルにアクセスできるようにシステムを構成できます。これにより、ブラウザーでhttpポート8069を手動で入力する必要がなく、標準の HTTP ポートで一部の Nginx フロントエンド キャッシュにより、ユーザーが Odoo Web インターフェイスをより速くナビゲートできるようになります。 。

この設定を構成するには、まず次の手順を実行してシステムにNginx をインストールして構成する必要があります。

10. まず、次のコマンドを使用して Nginx Web サーバーをインストールします。

----------- On RedHat/CentOS based systems -----------
yum install nginx

----------- On Debian/Ubuntu based systems -----------
apt-get install nginx

11. 次に、テキスト エディタで Nginx のメイン設定ファイルを開き、Nginx ドキュメントのルートの場所を指定する行の後に次のブロックを挿入します。

----------- On RedHat/CentOS based systems -----------
vi /etc/nginx/nginx.conf 

----------- On Debian/Ubuntu based systems -----------
nano /etc/nginx/sites-enabled/default

次の構成の抜粋を nginx.conf ファイルに追加します。

 location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

また、次の行の前に# を配置して、Nginx location ステートメントをコメント化します。以下のスクリーンショットをガイドとして使用してください。

#location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
        #       try_files $uri $uri/ =404;
        #}

12. 上記の変更をすべて行った後、getenforce コマンドを実行して Selinux が有効になっているかどうかを確認する前に、Nginx デーモンを再起動します。あなたのマシン。

CentOS/RHEL システムの場合

ポリシーが Enforced に設定されている場合は、以下のコマンドを発行してポリシーを無効にします。

setenforce 0
getenforce

Selinux を完全に無効にするには、テキスト エディタで /etc/selinux/config ファイルを開き、SELINUX 行を無効に設定します。

Seliux ポリシーを完全に無効にしたくないが、Nginx プロキシにネットワーク ソケットへの寛容なアクセスを許可するためにルールを緩和したいだけの場合は、次のコマンドを実行します。

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

次に、Nginx デーモンを再起動して、上記の変更を反映します。

systemctl restart nginx
OR
service nginx restart

13. この次のステップはセキュリティのオプション機能であり、Odoo アプリケーションがリッスンしているネットワーク ソケットの変更を意味し、すべてのインターフェイス (またはアドレス) からバインディング アドレスを変更します。ローカルホストのみ。

アプリケーションをローカルホストにバインドすることは、LAN または他のネットワーク内のユーザーから Odoo にアクセスできないことを意味するだけであるため、この変更は Nginx リバース プロキシと組み合わせてのみ行う必要があります。

この変更をアクティブにするには、以下のスクリーンショットに示されているように、/etc/odoo/openerp-server.conf ファイルを開き、ローカルホストのみにバインドするように xmlrpc_interface 行を編集します。

xmlrpc_interface = 127.0.0.1

変更を反映するには、以下のコマンドを実行して Odoo サービスを再起動します。

systemctl restart odoo.service
OR
service odoo restart

14. マシンにファイアウォールによって提供されるネットワーク防御ラインがある場合は、次のコマンドを発行して、Nginx プロキシ用に外部へのファイアウォール ポートを開きます。

----------- On FirewallD based systems -----------
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
----------- On IPTables based systems -----------
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
----------- On UFW Firewall systems -----------
ufw allow http

15. 以上です。これで、サーバーの IP アドレスまたはドメイン名にアクセスして、ERP Odoo アプリケーションに正常にアクセスできるようになりました。

http://192.168.1.40
http://domain.tld

16. システムの再起動後にサービスを自動的に実行するには、次のコマンドを発行してシステム全体のすべてのデーモンをワンショットで有効にします。

------------ On SystemD Systems ------------  
systemctl enable postgresql.service 
systemctl enable odoo.service
systemctl enable nginx.service
------------ On SysVinit Systems ------------ 

chkconfig postgresql on
chkconfig odoo on
chkconfig nginx on

: PDF レポートの場合は、次のリンクにアクセスして、独自のディストリビューション用の wkhtmltopdf バイナリ パッケージを手動でダウンロードしてインストールする必要があります。wkhtmltopdf をインストールして HTML ページを PDF に変換します。