Flectraは、CRMシステムとERPシステムを1つのパッケージにまとめたオープンソースの次世代ビジネス管理ソフトウェアです。その目的は、ユーザーがビジネスニーズに応じてシステムを変更できるようにし、ビジネスを拡張するためのツールを簡単に追加できるようにすることです。簡単に言うと、Flectraは包括的なプラットフォームを提供するため、要件に応じて簡単に変更または構成できます。 Flectraは、経理、Eコマース、在庫管理、マーケティング、プロジェクト管理、CRM、レポート、休暇管理など、多くの機能を提供します。
このチュートリアルでは、CentOS8にNginxを使用してFlectraをインストールする方法を示します。
- 4GB以上のRAMを搭載したCentOS8を実行しているサーバー。
- ルートパスワードはサーバーで構成されています。
まず、システムパッケージを最新のものに更新する必要があります。次のコマンドで実行できます:
dnf update -y
すべてのパッケージを更新した後、システムでSELinuxを無効にすることをお勧めします。ファイル/etc/ selinux / configを編集して無効にすることができます:
nano /etc/selinux/config
次の行を変更します:
SELINUX=disabled
ファイルを保存して閉じてから、サーバーを再起動して変更を適用します。
Pythonの依存関係をインストールする
次に、Pythonとその他のFlectraの依存関係をシステムにインストールする必要があります。次のコマンドを実行して、それらすべてをインストールできます。
dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y
すべてのパッケージがインストールされたら、次のコマンドを実行してNode.jsモジュールをインストールします。
npm install -g less
次に、システムにwkhtmltopdfパッケージをインストールする必要もあります。公式ダウンロードページからダウンロードできます:
ダウンロードしたら、次のコマンドを使用してダウンロードしたファイルをインストールします。
dnf localinstall wkhtmltox-0.12.6-1.centos8.x86_64.rpm
完了したら、次のステップに進むことができます。
PostgreSQLをインストール
FlectraはPostgreSQLをデータベースバックエンドとして使用します。したがって、サーバーにインストールする必要があります。次のコマンドでインストールできます:
dnf install postgresql-server -y
PostgreSQLサーバーをインストールした後、次のコマンドを使用してデータベースを初期化します。
postgresql-setup --initdb --unit postgresql
次の出力が得られるはずです:
* 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-12
次の出力が得られるはずです:
? postgresql-12.service - PostgreSQL 12 database server Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2020-08-13 04:39:31 EDT; 7s ago Docs: https://www.postgresql.org/docs/12/static/ Process: 1176 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) Main PID: 1182 (postmaster) Tasks: 8 (limit: 12537) Memory: 17.3M CGroup: /system.slice/postgresql-12.service ??1182 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/ ??1183 postgres: logger ??1185 postgres: checkpointer ??1186 postgres: background writer ??1187 postgres: walwriter ??1188 postgres: autovacuum launcher ??1189 postgres: stats collector ??1190 postgres: logical replication launcher Aug 13 04:39:31 centos8 systemd[1]: Starting PostgreSQL 12 database server... Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.136 EDT [1182] LOG: starting PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled b> Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG: listening on IPv6 address "::1", port 5432 Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG: listening on IPv4 address "127.0.0.1", port 5432 Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.139 EDT [1182] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.142 EDT [1182] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] LOG: redirecting log output to logging collector process Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] HINT: Future log output will appear in directory "log". Aug 13 04:39:31 centos8 systemd[1]: Started PostgreSQL 12 database server.
次に、Flectra用の新しいPostgreSQLユーザーを作成する必要があります。次のコマンドで作成できます:
su - postgres -c "createuser -s flectra"
終了したら、次のステップに進むことができます。
Flectraをインストール
Flectraをインストールする前に、Flectra用に別のユーザーを作成する必要があります。次のコマンドを使用して作成できます:
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
注:ユーザー名はPostgreSQLユーザーと同じである必要があります。
次に、Flectraユーザーでログインし、次のコマンドを使用してGitリポジトリからFlectraをダウンロードします。
su - flectra
git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
次に、次のコマンドを使用してFlectraの仮想環境を作成します。
python3 -m venv my-flectra
次に、次のコマンドを使用して仮想環境をアクティブ化します。
source my-flectra/bin/activate
次に、次のコマンドを実行して、すべてのPythonモジュールをインストールします。
pip3 install -r flectra/requirements.txt
すべてのモジュールがインストールされたら、次のコマンドを使用して仮想環境を非アクティブ化します。
deactivate
次に、次のコマンドを使用してFlectraユーザーを終了します。
exit
Flectraを構成する
まず、Flectraアドオン、構成ファイル、およびログ用のディレクトリをいくつか作成する必要があります。次のコマンドで作成できます:
mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
mkdir /etc/flectra
touch /var/log/flectra/flectra.log
次に、次のコマンドを使用して、上記のディレクトリの所有権をflectraに変更します。
chown -R flectra:flectra /opt/flectra/flectra-custom-addons
chown -R flectra:flectra /var/log/flectra/
chown -R flectra:flectra /etc/flectra
次に、次のコマンドを使用してFlectra構成ファイルを作成します。
nano /etc/flectra/flectra.conf
次の行を追加します:
[options] admin_passwd = your-flectra-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サービスを管理するためにFlectraのsystemdサービスファイルを作成する必要があります。次のコマンドで作成できます:
nano /etc/systemd/system/flectra.service
次の行を追加します:
[Unit] Description=flectra #Requires=postgresql-10.6.service #After=network.target postgresql-10.6.service [Service] Type=simple SyslogIdentifier=flectra PermissionsStartOnly=true User=flectra Group=flectra ExecStart=/opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してsystemdデーモンをリロードします。
systemctl daemon-reload
次に、Flectraサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。
systemctl start flectra
systemctl enable flectra
次のコマンドを使用して、Flectraサービスのステータスを確認できるようになりました。
systemctl status flectra
すべてが正常であれば、次の出力が得られるはずです:
? flectra.service - flectra Loaded: loaded (/etc/systemd/system/flectra.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2020-08-13 05:34:15 EDT; 1min 3s ago Main PID: 10917 (python3) Tasks: 4 (limit: 25028) Memory: 57.9M CGroup: /system.slice/flectra.service ??10917 /opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf Aug 13 05:34:15 centos8 systemd[1]: Started flectra.
これで、Flectraはポート7073で実行およびリッスンしています。次のコマンドで確認できます:
netstat -plntu | grep 7073
次の出力が表示されます。
tcp 0 0 0.0.0.0:7073 0.0.0.0:* LISTEN 10917/python3
Flectra用にNginxを構成する
次に、NginxをFlectraのリバースプロキシとして構成する必要があります。したがって、ポート80を使用してFlectraにアクセスできます。
まず、次のコマンドを使用してNginxWebサーバーをインストールします。
dnf install nginx -y
Nginxをインストールした後、Nginxサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start nginx
systemctl enable nginx
次に、Flectra用の新しいNginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/conf.d/flectra.conf
次の行を追加します:
#flectra server upstream flectra { server 127.0.0.1:7073; } server { listen 80; server_name flectra.your-domain.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; }
終了したら、ファイルを保存して閉じます。次に、Nginxサービスを再起動して、変更を適用します。
systemctl restart nginx
この時点で、NginxWebサーバーはFlectraにサービスを提供するように構成されています。これで、次のステップに進むことができます。
FlectraWebUIにアクセス
次に、Webブラウザーを開き、URLhttp://flectra.your-domain.comを入力します。次の画面にリダイレクトされます:
構成ファイルで定義したマスターパスワード、データベースの詳細、電子メール、パスワードを入力し、作成をクリックします。 データベース ボタン。次の画面に示すように、Flectraダッシュボードが表示されます。
おめでとう! CentOS 8にNginxを使用してFlectraを正常にインストールしました。これで、独自のFlectraビジネス情報システムをホストし、Flectraの強力なモジュラー設計と多数のアドオンを使用してビジネスを成長させることができます。 Flectraの詳細については、Flectraの公式ドキュメントをご覧ください。