はじめに
Flectraは、無料のオープンソースCRMおよびERPソフトウェアであり、ビジネスの固有のニーズを満たすことができる多くの柔軟性とカスタマイズを提供します。
また、Flectraは、ビジネスの成長を支援する次世代のビジネス情報システムであり、ビジネスのすべての重要な側面をカバーする強力なモジュラー設計を備えています。
FlectraはOdooCommunityのフォークであり、その主な目標は、Odoo Enterpriseの多くの機能を実装しながら、誰もが使用できるように開いたままにすることでした。
パッケージの更新
次のコマンドを実行して、VPSにインストールされているすべてのパッケージをアップグレードします。
sudo apt-get update -y && sudo apt-get upgrade -y
必要な依存関係をインストールする
Pythonパッケージとその他のFlectra依存関係をシステムにインストールする必要があります。次のコマンドを実行します:
sudo apt-get install gcc python3-venv build-essential python3-pillow python3-wheel python3-lxml python3-dev python3-pip python3-setuptools npm nodejs git gdebi libldap2-dev libsasl2-dev libxml2-dev libxslt1-dev libjpeg-dev libpq-dev -y
また、システムにwkhtmltopdfツールをインストールする必要があります。
次のコマンドでダウンロードしてインストールできます:
qadry@unixcop:~$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
--2021-08-20 05:44:26-- https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/131323182/10e1d800-ab93-11ea-862e-4f209c09ebf0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210820%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210820T124427Z&X-Amz-Expires=300&X-Amz-Signature=17fe5ac9c52a75f405aa1915db96e68c7af0126b1e3f3b5f5de32bb2c9060ae2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=131323182&response-content-disposition=attachment%3B%20filename%3Dwkhtmltox_0.12.6-1.focal_amd64.deb&response-content-type=application%2Foctet-stream [following]
--2021-08-20 05:44:27-- https://github-releases.githubusercontent.com/131323182/10e1d800-ab93-11ea-862e-4f209c09ebf0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210820%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210820T124427Z&X-Amz-Expires=300&X-Amz-Signature=17fe5ac9c52a75f405aa1915db96e68c7af0126b1e3f3b5f5de32bb2c9060ae2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=131323182&response-content-disposition=attachment%3B%20filename%3Dwkhtmltox_0.12.6-1.focal_amd64.deb&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.110.154, 185.199.109.154, 185.199.108.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.110.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15721382 (15M) [application/octet-stream]
Saving to: ‘wkhtmltox_0.12.6-1.focal_amd64.deb.1’
wkhtmltox_0.12.6-1.focal_amd64.deb.1 100%[=======================================================================>] 14.99M 367KB/s in 42s
2021-08-20 05:45:10 (364 KB/s) - ‘wkhtmltox_0.12.6-1.focal_amd64.deb.1’ saved [15721382/15721382]
qadry@unixcop:~$
PostgreSQLをインストールする
データをデータベースに保存するためのFlectraPostgreSQL。次のコマンドでインストールします:
sudo apt-get install postgresql -y
PostgreSQLを使用して、Flectraのユーザーを作成します。ユーザーにflectraという名前を付けました 、ただし、任意の名前を使用できます:
su - postgres -c "createuser -s flectra"
Flectraをインストールする
まず、Flectra用に別のユーザーを作成します。このユーザーの名前は、PostgreSQLユーザーと同じである必要があります:
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
Flectraユーザーでログインし、公式のGitリポジトリからFlectraソースをダウンロードする必要があります:
root@unixcop:~# su - flectra
flectra@unixcop:~$ git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
Cloning into 'flectra'...
remote: Enumerating objects: 26592, done.
remote: Counting objects: 100% (26592/26592), done.
remote: Compressing objects: 100% (18809/18809), done.
Receiving objects: 60% (15931/26592), 5.26 MiB | 943.00 KiB/s
次に、以下のコマンドを使用してPythonでFlectra仮想環境を作成します。
python3 -m venv flectra-venv
仮想環境もアクティブ化します。
注: デフォルトでは、Ubuntu20.04にはPythonバージョン3.8.2が付属しています。したがって、require ments.txtを更新する必要があります Flectraのインストール時にpsucopg2エラーを防ぐためのファイル
このエラーは、次の2つの解決策で防ぐことができます。
(1):
お持ちのテキストエディタでファイルを開きます
(flectra-venv) flectra@unixcop:~$ vim flectra/requirements.txt
次に、requirements.txtファイルのすべてのコンテンツを削除し、このコンテンツを追加することで、すべてのエラーをスキップできます。
Babel==2.3.4
decorator==4.0.10
docutils==0.12
ebaysdk==2.1.5
feedparser==5.2.1
gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
gevent==1.5.0 ; python_version >= '3.7'
greenlet==0.4.10 ; python_version < '3.7'
greenlet==0.4.14 ; python_version >= '3.7'
html2text==2016.9.19
Jinja2==2.10.1
lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
lxml==4.6.3 ; sys_platform != 'win32' and python_version >= '3.8'
lxml ; sys_platform == 'win32'
Mako==1.0.4
MarkupSafe==0.23
mock==2.0.0
num2words==0.5.6
ofxparse==0.16
passlib==1.6.5
Pillow==4.0.0 ; python_version < '3.7'
Pillow==6.1.0 ; python_version >= '3.7'
psutil==4.3.1; sys_platform != 'win32' and python_version >= '3.7'
psutil==5.6.3; sys_platform == 'win32'
psycopg2==2.8.5; sys_platform != 'win32' and python_version >= '3.7'
psycopg2==2.8.5; sys_platform != 'win32' and python_version >= '3.8'
psycopg2==2.8.5; sys_platform == 'win32'
pydot==1.2.3
pyldap==2.4.28; sys_platform != 'win32'
pyparsing==2.1.10
PyPDF2==1.26.0
pyserial==3.1.1
python-dateutil==2.5.3
# vatnumber requirement. Last version compatible
python-stdnum<=1.14
pytz==2016.7
pyusb==1.0.0
PyYAML==3.12 ; python_version < '3.7'
PyYAML==3.13 ; python_version >= '3.7'
qrcode==5.3
reportlab==3.3.0
requests==2.20.0
suds-jurko==0.6
vatnumber==1.2
vobject==0.9.3
Werkzeug==0.11.15 ; sys_platform != 'win32'
Werkzeug==0.16.0 ; sys_platform == 'win32'
XlsxWriter==0.9.3
xlwt==1.3.*
xlrd==1.0.0
pypiwin32 ; sys_platform == 'win32'
oauthlib==2.0.7
pycrypto==2.6.1
validate-email==1.3
unittest2==1.1.0
numpy==1.14.3
上記のコンテンツはデフォルトのファイルですが、慎重に編集し、インストール中に発生したすべてのエラー(バージョンの互換性や重複行などのエラーなど)を確認しました。
エラーなしでインストールを完了したい場合は、このソリューションを使用することをお勧めします。
(2):
デフォルトのrequirements.txtファイルを変更することによる2番目の解決策:
vim flectra/requirements.txt
次の行を見つけます:
psycopg2==2.7.3.1; sys_platform != 'win32'
psycopg2==2.8.3; sys_platform == 'win32'
それらを次の行に置き換えます:
psycopg2==2.8.5; sys_platform != 'win32'
psycopg2==2.8.5; sys_platform == 'win32'
行の重複などでエラーが発生した場合は、それらを削除してからファイルを保存して終了できます。
その後、次のコマンドでホイールモジュールを取り付けます:
(flectra-venv) flectra@unixcop:~$ pip3 install wheel
最後に、必要なすべてのPythonモジュールを次のコマンドでインストールします。
(flectra-venv) flectra@unixcop:~$ pip3 install -r flectra/requirements.txt
すべてのモジュールがインストールされたら、仮想環境から非アクティブ化します
(flectra-venv) flectra@unixcop:~$ deactivate
次に、Flectraユーザーを終了します
flectra@unixcop:~$ exit
logout
root@unixcop:~#
Flectraの構成
Flectraがアドオン、構成ファイル、ログを保存するためのディレクトリ構造を作成する必要があります。
次のコマンドで作成します:
mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
touch /var/log/flectra/flectra.log
mkdir /etc/flectra
図のように、上記のディレクトリの所有権をFlectraに変更します。
chown -R flectra:flectra /opt/flectra/flectra-custom-addons
chown -R flectra:flectra /var/log/flectra/
chown -R flectra:flectra /etc/flectra
次に、Flectra構成ファイルを作成します
vim /etc/flectra/flectra.conf
そして、次の行を追加します:
options]
admin_passwd = unixcop@password
db_host = False
db_port = False
db_user = flectra
db_password = False
logfile = /var/log/flectra/flectra.log
logrotate = True
proxy_mode = True
addons_path = /opt/flectra/flectra/addons, /opt/flectra/flectra-custom-addons
ファイルを保存して閉じます。
FlectraのSystemdサービスファイルを作成する
Flectraサービスを管理するためのsystemdサービスファイルを作成します。次のコマンドで新しいサービスファイルを作成します:
vim /etc/systemd/system/flectra.service
次に、次の行を追加します。
[Unit]
Description=flectra
[Service]
Type=simple
SyslogIdentifier=flectra
PermissionsStartOnly=true
User=flectra
Group=flectra
ExecStart=/opt/flectra/flectra-venv/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
次に、systemdデーモンリストをリロードします。 Flectraサービスを開始し、起動時に開始できるようにします。
systemctl daemon-reload
systemctl start flectra
systemctl enable flectra
以下のコマンドを使用して、Flectraがリッスンしているポートを確認します。
root@unixcop:~# netstat -plntu | grep 7073
tcp 0 0 0.0.0.0:7073 0.0.0.0:* LISTEN 23821/python3
root@unixcop:~#
次に、Webブラウザを開いて、 http:// IP_address:7073と入力します。 次のページにリダイレクトされます:
注:
IPを置き換えました アドレス flectra.unixcop.comを使用 / etc / hosts
# echo "192.168.13.130 flectra.unixcop.com" > /etc/hosts
この手順に従う場合は、ブラウザを開いて次のように入力します。
flectra.unixcop.com:7073
次に、 flectra.confに追加したマスターパスワードを入力します ファイル、データベースの詳細、電子メール、およびパスワードを入力し、[データベースの作成]ボタンをクリックします。以下に示すように、Flectraダッシュボードにリダイレクトされます。
NginxをFlectraのリバースプロキシとしてインストールする
Flectraは現在実行中ですが、ポート7073を使用してIPアドレスでのみアクセスできます。これは一部のユーザーにとっては問題ないかもしれませんが、デフォルトのポート(80)のドメイン名を使用してFlectraに直接アクセスできると理想的です。これを行うには、Nginxをリバースプロキシとして設定します。次のコマンドを使用してNginxWebサーバーをインストールします。
sudo apt-get install nginx -y
新しいNginx仮想ホストを作成する
vim /etc/nginx/sites-available/example.conf
次の行を追加します。
#flectra server
upstream flectra {
server 127.0.0.1:7073;
}
server {
listen 80;
server_name flectra.unixcop.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for flectra 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;
# log
access_log /var/log/nginx/flectra.access.log;
error_log /var/log/nginx/flectra.error.log;
# Redirect requests to flectra backend server
location / {
proxy_redirect off;
proxy_pass http://flectra;
}
# common gzip
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
必ずflectra.unixcop.comを置き換えてください 自分のドメイン名で
次に、Nginx仮想ホストファイルをアクティブ化します。
ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
nginxサービスを再起動するための最後のステップ
systemctl restart nginx
FlectraWebUIにアクセスする
ブラウザを開いて、次のように入力します。
flectra.unixcop.com
Flectraがインストールされているので、Flectraを使い始めて、ビジネスの生産性を向上させることができます。
以上です!!