GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にOdoo14ERPソフトウェアをインストールする方法

Odoo(旧称OpenERP)は、CRM、eコマース、会計、在庫、プロジェクト管理、POSなどのさまざまなビジネスニーズに適した10,000を超えるオープンソースアプリケーションの自己ホスト型スイートです。これらのアプリケーションは完全に統合されており、共通のWebインターフェイスを介してアクセスできます。

このチュートリアルでは、Ubuntu20.04ベースのサーバーにOdoo14Stackをインストールする方法を学習します。

前提条件
  1. OdooStackをホストするための最低2GBのRAMを備えたUbuntu20.04ベースのサーバー。

  2. PostgreSQLデータベースをホストするための2GB以上のRAMを備えた2番目のUbuntu20.04ベースのサーバー。ただし、データベースはOdooと同じサーバーにインストールできますが、実稼働環境では、別のサーバーにインストールすることを強くお勧めします。選択した任意のプロバイダーから利用可能な任意の管理対象データベースオプションを選択することもできます。

  3. RAM要件は、スタックを使用する同時ユーザーの数によって異なります。システム要件の計算方法の詳細なガイドは、Odooのドキュメントにあります。

  4. システムを最新の状態に保ちます。

    $ sudo apt update
    $ sudo apt upgrade
    
  5. 両方のサーバーでsudo権限を持つroot以外のユーザー。

ファイアウォールルールを構成する

このチュートリアルでは、ufwがあることを前提としています。 両方のサーバーにファイアウォールがインストールされています。

Odooサーバーでは、ポート22、80、443、6010、5432、および8069を開く必要があります。 22はSSHに使用され、80はHTTPに使用され、443はHTTPSに使用され、6010はOdoo通信に使用され、5432はPostgreSQLによって使用され、8069はOdooサーバーアプリケーションによって使用されます。

次のコマンドを実行して、Odooサーバーで必要なポートを開きます。

$ sudo ufw allow "OpenSSH"
$ sudo ufw allow 80,443,6010,5432,8069,8072/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 6010/tcp
$ sudo ufw allow 5432/tcp
$ sudo ufw allow 8069/tcp
$ sudo ufw allow 8072/tcp

PostgreSQLサーバーでは、ポート22、6010、5432を開く必要があります。先ほど説明したコマンドを使用してポートを開きます。

ホスト名を割り当てる

サーバーのIPアドレスを使用するか、使用可能な場合はサーバーの完全修飾ドメイン名(FQDN)を使用できます。このチュートリアルでは、FQDNを使用します。そのために、両方のサーバーにホスト名を設定する必要があります。

Odooサーバーで、/etc/hostsを開きます ファイル。

$ sudo nano /etc/hosts

次のようになっていることを確認してください。

127.0.0.1 	localhost
127.0.0.1	odoo.yourdomain.com		odoo
10.1.1.10	postgresql.yourdomain.com	postgresql

PostgreSQLサーバーでファイルを開き、次のようになっていることを確認します。

127.0.0.1 	localhost
127.0.0.1	postgresql.yourdomain.com	postgresql
10.1.2.10	odoo.yourdomain.com		odoo

Ctrl + Xを押します エディターを閉じてYを押します ファイルを保存するように求められたら。

PostgreSQLのインストールと構成

Ubuntu20.04にはデフォルトでPostgreSQL12が付属しており、これをインストールします。 PostgreSQLサーバーで次のコマンドを実行します。

$ sudo apt install postgresql-12 postgresql-server-dev-12

次に、データベースユーザーodoo.を作成する必要があります。

$ sudo -u postgres createuser odoo -U postgres -dP

オプション-u コマンドをpostgresとして実行します ユーザー。

オプション-U 接続するユーザー名を指定します。

オプション-d データベースを作成する権限をユーザーに付与します。

オプション-p 新しいユーザーのパスワードの入力を求められます。

ホストベースの認証を構成する

Odooサーバーに接続できるようにするには、PostgreSQLサービスに許可を与える必要があります。

まず、PostgreSQLサービスを停止します。

$ sudo systemctl stop postgresql

ファイル/etc/postgresql/12/main/pg_hba.confを開きます 編集用。

$ sudo nano /etc/postgresql/12/main/pg_hba.conf

最後に次の行を貼り付けます。

host		all		odoo		odoo.yourdomain.com		md5

この行は、odooに権限を付与します このサーバー内のすべてのデータベースに接続するユーザー。 allを使用する代わりに、データベースの名前を指定することもできます キーワード。

Ctrl + Xを押します エディターを閉じてYを押します ファイルを保存するように求められたら。

PostgreSQLリスニングアドレスを構成する

次に、データベースサーバーがリモート接続をリッスンできるようにする必要があります。ファイル/etc/postgresql/12/main/postgresql.confを開きます 編集用。

$ sudo nano /etc/postgresql/12/main/postgresql.conf

listen_addressesの行を変更します から

#listen_addresses = 'localhost' # what IP address(es) to listen on;

に。

#From CONNECTIONS AND AUTHENTICATION Section
listen_addresses = '*'

* すべてのIPアドレスをリッスンすることを意味します。 odooインスタンスのIPアドレスに変更できます。

Ctrl + Xを押します エディターを閉じてYを押します ファイルを保存するように求められたら。

PostgreSQLサービスを有効にして開始します

構成が完了したので、PostgreSQLサービスを開始して有効にします。

$ sudo systemctl start postgresql && sudo systemctl enable postgresql

Odooをインストール

依存関係をインストールしてインストールの準備をする

OdooサーバーでOdooプロセスを管理するための新しいシステムユーザーを作成します。

$ sudo adduser --system --home=/opt/odoo --group odoo

いくつかのシステム依存関係をインストールする必要がありますが、最初に、ソースリポジトリを有効にする必要があります。これを行うには、元のソースリストをバックアップしてから、すべてのソースリポジトリを有効にして、リポジトリリストを更新します。

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list~
$ sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
$ sudo apt update

Odoo14のセットアップに必要なシステム依存関係をインストールします。

 $ sudo apt install python3-pip python3-suds python3-all-dev python3-venv python3-dev python3-setuptools python3-tk libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg8-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev libyaml-dev fontconfig xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils libpq-dev
$ sudo apt build-dep lxml

Nodejsをインストールします。

$ sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt install nodejs

Nodeを使用してLessCSSパッケージをインストールします。

$ sudo npm install -g less less-plugin-clean-css

wkhtmltopdfをダウンロードする バージョン0.12.6パッケージ。

$ cd /tmp
$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb

パッケージをインストールします。

$ sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb

wkhtmltopdfを確実にするため 正しく機能する場合は、バイナリを/usr/binにコピーします 適切な権限を与えます。

$ sudo cp /usr/local/bin/wkhtmlto* /usr/bin/
$ sudo chmod a+x /usr/bin/wk*
$ cd ~

Odooファイルをダウンロード

OdooのGithubリポジトリをシステムにクローンします。

$ sudo git clone https://github.com/odoo/odoo.git --depth 1 --branch 14.0 --single-branch /opt/odoo

この目的のために、Odooを/opt/odooにコピーしています。 インストール元のディレクトリ。

VirtualenvPython環境をセットアップする

この手順はオプションですが、Odooの仮想Python環境は、特にOSのアップグレードを実行するときに、オペレーティングシステムのPythonモジュールとの競合を回避するのに役立つため推奨されます。

このために、virtualenvを使用します 。

  1. 新しいvirtualenvを作成します Odooの環境。

    $ python3 -m venv /home/<username>/odoo-env
    
  2. 仮想環境をアクティブ化します。システムユーザーのホームディレクトリの下に環境を作成しています。好きな場所を自由に選択できます。

    $ source /home/<username>/odoo-env/bin/activate
    
  3. 万が一に備えてPIPを更新してください。

    (odoo-env) $ pip3 install --upgrade pip
    
  4. 仮想環境にPythonのホイールをインストールします。

    $ pip3 install wheel
    

Pythonの依存関係をインストールする

Odoo14に必要なPython依存関係をインストールします。

$ pip3 install -r /opt/odoo/doc/requirements.txt
$ pip3 install -r /opt/odoo/requirements.txt

要件のインストールには時間がかかるため、しばらくお待ちください。

インストールされているPythonモジュールのリストをチェックして、要件が正しくインストールされているかどうかを確認します。

$ pip3 list
Package                       Version
----------------------------- ---------
alabaster                     0.7.12
appdirs                       1.4.4
attrs                         20.3.0
Babel                         2.6.0
beautifulsoup4                4.9.3
cached-property               1.5.2
certifi                       2020.12.5
chardet                       3.0.4
decorator                     4.3.0
defusedxml                    0.7.1
docutils                      0.14
ebaysdk                       2.1.5
feedparser                    5.2.1
freezegun                     0.3.15
gevent                        20.9.0
greenlet                      0.4.17
html2text                     2018.1.9
idna                          2.6
imagesize                     1.2.0
isodate                       0.6.0
Jinja2                        2.11.2
libsass                       0.17.0
lxml                          4.6.1
Mako                          1.0.7
MarkupSafe                    1.1.0
num2words                     0.5.6
ofxparse                      0.19
packaging                     20.9
passlib                       1.7.1
Pillow                        8.0.1
pip                           21.0.1
pkg-resources                 0.0.0
polib                         1.1.0
psutil                        5.6.6
psycopg2                      2.8.5
pyasn1                        0.4.8
pyasn1-modules                0.2.8
pydot                         1.4.1
Pygments                      2.8.1
pyparsing                     2.4.7
PyPDF2                        1.26.0
pyserial                      3.4
python-dateutil               2.7.3
python-ldap                   3.1.0
python-stdnum                 1.8
pytz                          2019.1
pyusb                         1.0.2
qrcode                        6.1
reportlab                     3.5.55
requests                      2.21.0
requests-toolbelt             0.9.1
setuptools                    44.0.0
six                           1.15.0
snowballstemmer               2.1.0
soupsieve                     2.2
Sphinx                        3.5.2
sphinx-patchqueue             1.0.4
sphinxcontrib-applehelp       1.0.2
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        1.0.3
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.4
unidiff                       0.6.0
urllib3                       1.24.3
vobject                       0.9.6.1
Werkzeug                      0.16.1
wheel                         0.36.2
xlrd                          1.2.0
XlsxWriter                    1.1.2
xlwt                          1.3.0
zeep                          3.2.0
zope.event                    4.5.0
zope.interface                5.2.0

Python仮想環境を終了します。

$ deactivate
Odooを構成する

デフォルトのOdoo構成ファイルをコピーして、新しい構成ファイルを作成します。

$ sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf

編集のためにファイルを開きます。

$ sudo nano /etc/odoo-server.conf

次のようにファイルを編集します。

[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = postgresql.yourdomain.com
db_port = False
db_user = odoo
db_password = odoo_password
addons_path = /opt/odoo/addons
xmlrpc_port = 8069

Ctrl + Xを押します エディターを閉じてYを押します ファイルを保存するように求められたら。

オプションadmin_passwd OdooGUI内での管理操作を可能にするパスワードです。必ず安全なパスワードを選択してください。

オプションdb_host PostgreSQLサーバーのFQDNまたはIPアドレスです。

オプションdb_port デフォルトのPostgreSQLポート5432が使用されているため、falseに設定されます。別のポートを使用する場合は、この値を更新する必要があります。

オプションdb_user PostgreSQLユーザーの名前です。

オプションdb_password は、以前にPostgreSQLサーバーで作成したPostgreSQLの「odoo」ユーザーパスワードです。

オプションaddons_path デフォルトのアドオンパスです。アドオンのカスタムパスをコンマで区切って追加することもできます。

オプションxmlrpc_port Odooがリッスンするポートです。

Odooサービスを作成

システムを再起動した後もOdooを実行し続けるには、そのためのサービスを作成する必要があります。

ファイル/lib/systemd/system/odoo-server.serviceを作成します 開いて編集します。

$ sudo nano /lib/systemd/system/odoo-server.service

次のコードを貼り付けます。

[Unit]
Description=Odoo Open Source ERP and CRM

[Service]
Type=simple
PermissionsStartOnly=true
SyslogIdentifier=odoo-server
User=odoo
Group=odoo
ExecStart=/home/<username>/odoo-env/bin/python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/
WorkingDirectory=/opt/odoo/
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

/home/<username>を置き換えます Python仮想環境をインストールするために選択した場所で。

Ctrl + Xを押します エディターを閉じてYを押します ファイルを保存するように求められたら。

ファイルのアクセス許可を設定する

odoo-server.serviceに権限を設定します Odooユーザーのみが読み取りまたは実行できるようにファイルを作成します。

$ sudo chmod 755 /lib/systemd/system/odoo-server.service
$ sudo chown odoo: /lib/systemd/system/odoo-server.service

Python環境とOdooインストールディレクトリの所有権を設定します。

$ sudo chown -R odoo: /opt/odoo/
$ sudo chown -R odoo: /home/<username>/odoo-env

Odoo構成ファイルを制限します。

$ sudo chown odoo: /etc/odoo-server.conf
$ sudo chmod 640 /etc/odoo-server.conf

Odooサーバーを起動します

Odooサーバーを起動して有効にします。

$ sudo systemctl start odoo-server
$ sudo systemctl enable odoo-server

サーバーのステータスを確認してください。

$ sudo systemctl status odoo-server

ブラウザで、URL http://<yourIPaddress>:8069を開きます。 またはhttp://odoo.yourdomain.com:8069 。すべてが正常に機能している場合は、Odooのデータベース作成画面が表示されます。

すべてのフィールドに入力します。 Demo Dataを確認してください フィールドにサンプルデータを入力し、[データベースの作成]をクリックします ボタン。

次に、選択して選択できるアプリのリストが表示されます。

初めてデータベースを作成するときは、アドオンページの読み込みに時間がかかるため、ページを更新しないでください。

Nginxのインストールと構成

これまで、Odooのサーバーを使用してスタックを実行してきました。ただし、理想的には、プロキシを使用してNginxで実行することをお勧めします。これにより、SSLをインストールできるようになります。

Nginxをインストールします。

$ sudo apt install nginx

Nginx経由で実行するには、ローカルホストでOdooを実行する必要があります。これを変更するには、Odooサービスを停止します。

$ sudo systemctl stop odoo-server

Odooサーバー構成ファイルを開きます。

$ sudo nano /etc/odoo-server.conf

次の行を追加します。

xmlrpc_interface = 127.0.0.1
proxy_mode = True

OdooのNginx構成ファイルを作成します。

$ sudo nano /etc/nginx/sites-available/odoo.conf

以下のコードを貼り付けてください。

#odoo server
upstream odoo {
 server 127.0.0.1:8069;
}
upstream odoochat {
 server 127.0.0.1:8072;
}

# http -> https
server {
   listen 80;
   server_name odoo.yourdomain.com;
   rewrite ^(.*) https://$host$1 permanent;
}

server {
 listen 443 ssl http2;
 server_name odoo.yourdomain.com;
 proxy_read_timeout 720s;
 proxy_connect_timeout 720s;
 proxy_send_timeout 720s;

 # Add Headers for odoo proxy mode
 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;

 # SSL parameters
 ssl_certificate /etc/letsencrypt/live/odoo.yourdomain.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/odoo.yourdomain.com/privkey.pem;
 ssl_session_timeout 1d;
 ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
 ssl_session_tickets off;
 ssl_protocols TLSv1.2 TLSv1.3;
 ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
 ssl_prefer_server_ciphers off;
 ssl_dhparam /etc/ssl/certs/dhparam.pem;

 # log
 access_log /var/log/nginx/odoo.access.log;
 error_log /var/log/nginx/odoo.error.log;

 # Redirect longpoll requests to odoo longpolling port
 location /longpolling {
 proxy_pass http://odoochat;
 }

 # Redirect requests to odoo backend server
 location / {
   proxy_redirect off;
   proxy_pass http://odoo;
 }

 # common gzip
 gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
 gzip on;
}

Ctrl + Xを押します エディターを閉じてYを押します ファイルを保存するように求められたら。

この構成ファイルをsites-enabledにリンクして、アクティブ化します。 ディレクトリ。

$ sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/

Nginx構成をテストします。

$ sudo nginx -t
SSLをインストール

Let'sEncryptサービスを使用してSSLをインストールします。

そのためには、Certbotをインストールします。

$ sudo apt install certbot

Certbotプロセスに干渉するため、Nginxを停止します。

$ sudo systemctl stop nginx

証明書を生成します。 DHParams証明書も作成する必要があります。

$ sudo certbot certonly --standalone -d odoo.yourdomain.com --preferred-challenges http --agree-tos -n -m [email protected] --keep-until-expiring 
$ sudo systemctl start nginx
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

また、SSLを自動的に更新するためのcronジョブを設定する必要があります。 crontabエディターを開くには、次のコマンドを実行します。

$ sudo crontab -e

次の行を下部に貼り付けます。

25 2 * * * /usr/bin/certbot renew --quiet --pre-hook “systemctl stop nginx” --post-hook “systemctl start nginx”

上記のcronジョブは、毎日午前2時25分にcertbotを実行します。好きなように変更できます。

Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

Odooを開始

すべての設定が完了したので、Odooサーバーを再起動できます。

$ sudo systemctl start odoo-server

https://odoo.yourdomain.comを介してブラウザでOdooを起動します 。前述の画面が表示されます。データベースを作成するために必要な詳細を入力すると、Odooにログインして、次のような画面が表示されます。

結論

これで、Ubuntu20.04サーバーへのOdooのインストールに関するチュートリアルは終了です。ご不明な点がございましたら、下のコメント欄に投稿してください。


Ubuntu
  1. UbuntuにAudacityソフトウェアをインストールする方法は??

  2. Ubuntu 22.04 に Odoo 15 をインストールする方法

  3. Ubuntu 20.04 に Odoo 13 をインストールする方法

  1. UbuntuにOdooをインストールする方法

  2. Ubuntu20.04にOdoo15をインストールする方法

  3. Ubuntu14.04にOdoo9をインストールします

  1. Ubuntu16.04にOdoo11をインストールする方法

  2. Ubuntu18.04にOdoo13をインストールする方法

  3. Ubuntu20.04にOdoo14をインストールする方法