在 CentOS/RHEL 8 上安装 PostgreSQL 服务器

Flectra 需要一个 PostgreSQL 数据库作为其数据存储库。
因此,我们使用 dnf 命令安装 PostgreSQL 和相关软件包。

# dnf install -y postgresql-server libpq-devel

使用以下 Linux 命令启动和初始化 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 enable --now postgresql.service
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service -> /usr/lib/systemd/system/postgresql.service.

我们的 PostgreSQL 服务器现在可以使用了。
为 Flectra ERP 创建一个数据库用户。

# su - postgres -c "createuser -s flectra"

通过限制本文档的范围,我们正在从默认 yum 存储库安装可用版本的 PostgreSQL。
我们可以参考我们之前的帖子在 CentOS 8 上安装最新版本的 PostgreSQL 服务器。

为 Flectra ERP 创建 Systemd 服务

要在 Linux 启动时启用 ERP 的自动启动,我们需要为 Flectra ERP 创建一个 Systemd 服务。

使用 vim 编辑器创建服务单元文件。

# vi /etc/systemd/system/flectra.service

在此文件中添加以下指令。

[Unit]
Description=flectra
[Service]
Type=simple
SyslogIdentifier=flectra
PermissionsStartOnly=true
User=flectra
Group=flectra
ExecStart=/opt/flectra/flectra01/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target

使用以下 systemctl 命令通知 Systemd 服务文件的更改。

# systemctl daemon-reload

启用并启动 Flectra 服务。

# systemctl enable --now flectra
Created symlink /etc/systemd/system/multi-user.target.wants/flectra.service -> /etc/systemd/system/flectra.service.

安装 Flectra 必备软件包

Flectra ERP 有一些相关的软件包。
我们正在使用单个 Linux 命令安装所有这些软件包。

# dnf install -y git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y

Flectra ERP web 需要“更少”的 JavaScript 来正确呈现网页的样式。
因此,我们使用 npm(节点包管理器)命令安装它。

# npm install -g less
/usr/local/bin/lessc -> /usr/local/lib/node_modules/less/bin/lessc
+ less@3.12.2
added 12 packages from 45 contributors in 23.106s
更多: zhilu jiaocheng

在 CentOS/RHEL 8 上安装 Flectra ERP

创建 Linux 用户以拥有 Flectra 软件和流程。

# useradd -r -m -U -d /opt/flectra -s /bin/bash flectra

切换到 flectra 用户。

# su - flectra
Last login: Wed Oct 14 23:35:55 PKT 2020 on pts/0

通过使用 git 命令,创建 Flectra 源代码的克隆。

$ git clone --depth=1 --branch=1.0 https://gon-itroad.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% (18881/18881), done.
remote: Total 26592 (delta 8354), reused 23223 (delta 6860), pack-reused 0
Receiving objects: 100% (26592/26592), 146.00 MiB | 75.00 KiB/s, done.
Resolving deltas: 100% (8354/8354), done.
Checking out files: 100% (24066/24066), done.

创建用于部署 Flectra ERP 的 Python 虚拟环境。

$ python3 -m venv flectra01

激活 Python 虚拟环境。

$ source flectra01/bin/activate
(flectra01) $

使用以下 Linux 命令升级 pip 包的版本。

(flectra01) $ pip install --upgrade pip
    100% |->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->| 1.5MB 326kB/s
Installing collected packages: pip->->->->->->->
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:->->->->->->->->->->
      Successfully uninstalled pip-9.0.3
Successfully installed pip-20.2.4->

Flectra ERP 需要各种 Python 模块才能正常运行。
源代码包含完整的所需模块列表,因此,我们可以使用此文件一次性安装所有所需模块。

(flectra01) $ pip3 install -r flectra/requirements.txt
...
Successfully installed Babel-2.3.4 Jinja2-2.10.1 Mako-1.0.4 MarkupSafe-0.23 Pillow-4.0.0 PyYAML-3.12 Werkzeug-0.11.15 XlsxWriter-0.9.3 argparse-1.4.0 beautifulsoup4-4.9.3 certifi-2020.6.20 chardet-3.0.4 decorator-4.0.10 docutils-0.12 ebaysdk-2.1.5 feedparser-5.2.1 gevent-1.1.2 greenlet-0.4.10 html2text-2016.9.19 idna-2.7 linecache2-1.0.0 lxml-3.7.1 mock-2.0.0 num2words-0.5.6 numpy-1.14.3 oauthlib-2.0.7 ofxparse-0.16 olefile-0.46 passlib-1.6.5 pbr-5.5.0 psutil-4.3.1 psycopg2-2.8.5 pycrypto-2.6.1 pydot-1.2.3 pyldap-2.4.28 pyparsing-2.1.10 pyserial-3.1.1 python-dateutil-2.5.3 python-stdnum-1.14 pytz-2016.7 pyusb-1.0.0 qrcode-5.3 reportlab-3.3.0 requests-2.20.0 six-1.15.0 soupsieve-2.0.1 suds-jurko-0.6 traceback2-1.4.0 unittest2-1.1.0 urllib3-1.24.3 validate-email-1.3 vatnumber-1.2 vobject-0.9.3 xlrd-1.0.0 xlwt-1.3.0

停用 Python 虚拟环境。

(flectra01) $ deactivate

退出 flectra 用户 shell。

$ exit
logout

为 Flectra 配置、可执行文件和日志文件创建目录。

# mkdir /opt/flectra/addons
# mkdir /var/log/flectra
# mkdir /etc/flectra
# touch /var/log/flectra/flectra.log

将新创建的目录的所有者更改为 flectra 用户。

# chown -R flectra:flectra /opt/flectra/addons
# chown -R flectra:flectra /var/log/flectra
# chown -R flectra:flectra /etc/flectra

编辑 Flectra 配置文件。

# vi /etc/flectra/flectra.conf

在此文件中添加以下配置。

[options]
admin_passwd = JackLi@1234
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/addons

为 Flectra ERP 配置 Linux 防火墙

要验证,Flectra 服务是否在默认端口 7073 上运行?
执行以下 Linux 命令。

# ss -tulpn | grep 7073
tcp     LISTEN   0        128              0.0.0.0:7073          0.0.0.0:*       users:(("python3",pid=19844,fd=5))

在 Linux 防火墙中允许 Flectra 服务端口,使 ERP 可以通过网络访问。

# firewall-cmd --permanent --add-port=7073/tcp
success
# firewall-cmd --reload
success
在 CentOS/RHEL 8 上安装 Flectra ERP

Flectra 是一个开源的 ERP 和 CRM 软件。用于开源 CRM、网站构建器、电子商务、仓库管理、项目管理、计费和会计、销售点、人力资源、营销、制造、采购管理等等。
在本文中,我们将学习如何在 CentOS/RHEL 8 上安装 Flectra ERP。

访问 Flectra ERP Web UI

在 Web 浏览器中打开 URL http://flectra-01.onitroad.com:7073.

填写表格并点击“创建数据库”。
主密码是我们在 /etc/flectra/flectra.conf 文件中设置的密码。

我们已进入 Flectra ERP 的仪表板。
我们现在可以根据业务需求定制商务套件,并开始使用它来管理我们业务的不同方面。

在 CentOS/RHEL 8 上安装 WKHTMLTOPDF

Flectra ERP 需要 WKHTMLTOPDF 软件来生成 PDF 格式的报告。

WKHTMLTOPDF 软件在默认的 yum 存储库中不可用,但我们可以从他们的官方网站下载 WKHTMLTOPDF。
或者 https://github.com/wkhtmltopdf
我们可以从上面的链接中获取 WKHTMLTOPDF 包的 URL,然后使用 wget 命令直接将其下载到 Linux 服务器中。

# 
cd /tmp
# wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos8.x86_64.rpm

使用下面提到的 Linux 命令安装 WKHTMLTOPDF 包。

# dnf localinstall -y wkhtmltox-0.12.6-1.centos8.x86_64.rpm

WKHTMLTOPDF 和相关软件包已安装在 Linux 操作系统上。

在 CentOS/RHEL 8 上安装 Python

Flectra ERP 是使用 Python 编程语言构建的,因此,我们需要 Python 运行时来部署 Flectra 应用程序。

Python 3 在默认 yum 存储库中可用,因此我们使用 dnf 命令安装它。

# dnf install -y python3 python3-devel
日期:2020-09-17 00:16:39 来源:oir作者:oir