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 に変換します。