如何在 Ubuntu 20.04 上安装 ERPNext 协议栈

作者选择了 公共利益软件以作为 写给捐赠计划的一部分获得捐赠。

介绍

ERPNext是一个企业资源规划(ERP)套件,利用开源技术的力量和灵活性。它擅长管理核心业务流程,如财务,销售,人力资源,制造,采购,服务,帮助台需求等。

  • 通过自动化重复业务流程提高生产率
  • 通过共享公司所有部门的数据库来提高IT效率
  • 通过对业务单位如何相互关系的综合愿景来提高决策能力

ERPNext 基于 Frappe,一个以 Python编写的完整的Web应用程序框架,充分利用 Node/JavaScript Runtime 环境并使用 MariaDB作为其数据库后端。 Frappe 应用程序的许多优势之一,如 ERPNext,是 台式命令行工具. 台式 CLI 通过自动化安装、更新、配置和管理多个 Frappe/ERPNext 站点来节省管理员的时间。

在本教程中,您将在运行 Ubuntu 20.04 的服务器上安装和配置 ERPNext 堆栈,这将允许您根据您的需求对各种开发或生产环境进行配置,并为您准备构建更复杂、容错的架构。

前提条件

<$>[注] **注:**在选择服务器的规格时,请记住ERP系统的资源密集性。本指南呼吁一个具有4GB的RAM的服务器,这对于基本的使用情况是足够的,但具体的硬件要求可能因用户数量以及您的业务规模而有所不同。

步骤 1 — 配置防火墙

虽然配置防火墙用于开发是可选的,但对于生产来说,这是一个强制性的安全实践。

您需要在您的 ERPNext 服务器上打开以下端口:

  • 80/tcp443/tcp 用于 HTTP 和 HTTPS 分别
  • 3306/tcp 用于 MariaDB 连接(仅在您需要远程访问数据库时才推荐)
  • 143/tcp25/tcp 用于 IMAP 和 STMP 分别
  • 22/tcp 用于 SSH (如果您尚未在 UFW 设置中启用 OpenSSH)
  • 8000/tcp 用于在部署到生产之前测试您的平台

若要同时打开多个端口,可以使用以下命令:

1sudo ufw allow 22,25,143,80,443,3306,8000/tcp

或者,您可以使用此命令允许从特定 IP 地址连接到特定端口:

1sudo ufw allow from server_IP to any port port_number

打开所有必要的端口后,启用防火墙:

1sudo ufw enable

现在确认您的防火墙的状态:

1sudo ufw status

UFW 将输出您的启用规则列表,确保 ERPNext 所需的端口打开:

1[secondary_label Output]
2Status: active
3
4To Action From
5--                         ------      ----
622,25,80,143,443,3306,8000/tcp ALLOW Anywhere
722,25,80,143,443,3306,8000/tcp (v6) ALLOW Anywhere (v6)

有关 UFW 配置的更多信息,请参阅我们关于如何在 Ubuntu 20.04 上设置 UFW 防火墙的指南(https://andsky.com/tech/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04)。

设置适当的防火墙是前两个步骤中的第一个,现在你将配置键盘映射和字符编码在你的服务器上。

步骤 2 — 配置本地

强烈建议您为主机配置键盘映射以及主机上的语言和字符编码。这是必要的,以避免在ERPNext 12安装过程中可能出现的问题。请注意,此配置与您实际的ERPNext平台上的UI语言无关,而是与系统局部配置。

首先,更新您的服务器:

1sudo apt update

现在配置键盘、语言和字符编码:

1sudo localectl set-keymap us && sudo localectl set-locale LANG=en_US.utf8

localectl实用程序由Ubuntu 20.04和其他Linux发行版使用,在用户登录之前控制和更改整个系统的局部和键盘布局设置,这正是ERPNext 12所需要的。

您还需要将以下行添加到您的 /etc/environment 文件中. 使用 nano 或您喜欢的文本编辑器来打开该文件:

1sudo nano /etc/environment

现在添加以下内容:

1[label /etc/environment]
2LC_ALL=en_US.UTF-8
3LC_CTYPE=en_US.UTF-8
4LANG=en_US.UTF-8

保存并关闭文件。

重新启动服务器以应用所有更改:

1sudo reboot

给您的服务器几分钟重新启动,然后使用ssh重新输入您的实例,现在您已经准备好安装您的数据库。

步骤 3 — 安装 MariaDB

现在你会将MariaDB添加到你的服务器堆栈中。ERPNext 12需要MariaDB 10.2+才能正常运行.因为Ubuntu 20.04在其官方存储库中包含MariaDB 10.3,你可以使用apt命令安装此版本:

1sudo apt install mariadb-server

或者,如果您喜欢更新的MariaDB版本,您可以遵循我们关于如何在Ubuntu 18.04上安装ERPNext Stack的指南的第3步(https://andsky.com/tech/tutorials/how-to-install-an-erpnext-stack-on-ubuntu-18-04#step-3-%E2%80%94-installing-mariadb-104)。

安装「mariadb-server」后,安装以下软件包:

1sudo apt install python3-mysqldb libmysqlclient-dev

ERPNext 12 是一個 Python 應用程式,因此它需要「python3-mysqldb」資料庫來管理資料庫。

接下来,通过运行mysql_secure_installation脚本,为 MariaDB 服务器添加额外的安全层:

1sudo mysql_secure_installation

mysql_secure_installation脚本会提示您一些问题:

*第一个提示会问你关于 root密码,但由于没有配置密码,请按ENTER *接下来,当被问及改变MariaDB root密码时,回答N。使用默认密码以及Unix身份验证是Ubuntu基于系统的推荐设置,因为 root帐户与自动系统维护任务密切相关 *剩余的问题涉及删除匿名数据库用户,限制 root帐户远程登录 localhost,删除测试数据库,并重新加载特权表。

在完成mysql_secure_installation脚本后,MariaDB 将开始使用其默认配置运行。标准的 ERPNext 安装使用 MariaDB 的 root 用户用于所有数据库操作。虽然这种方法在单个服务器设置上可能很方便,但它不被视为一个良好的安全实践。

创建 MariaDB 超级管理员用户

ERPNext 希望使用 MariaDB 的 root 用户来管理数据库连接,但这并不总是理想的。为了克服这种限制,让非根用户管理 MariaDB,您现在将手动创建一个以用户命名的数据库。

打开 MariaDB 提示:

1sudo mysql

现在创建一个新的数据库,以您想要分配给MariaDB连接的用户命名。本教程将使用sammy,但您可以选择不同的名称:

1CREATE DATABASE sammy;

确认数据库是使用此 SQL 语句创建的:

1SHOW DATABASES;

您将看到类似于此的输出:

1[secondary_label Output]
2+--------------------+
3| Database           |
4+--------------------+
5| information_schema |
6| mysql              |
7| performance_schema |
8| sammy              |
9+--------------------+

现在创建 MariaDB 用户sammy具有类似于 root的权限,然后给用户一个强大的密码,您选择。

1GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'%' IDENTIFIED BY 'mariadb_password' WITH GRANT OPTION;

现在确认用户创建和新用户的特权:

1SELECT host, user, Super_priv FROM mysql.user;

你会看到这样的输出:

1[secondary_label Output]
2+-----------+-------+------------+
3| Host      | User  | Super_priv |
4+-----------+-------+------------+
5| localhost | root  | Y          |
6| localhost | mysql | Y          |
7| %         | sammy| Y         |
8+-----------+-------+------------+
93 rows in set (0.001 sec)

现在清除特权以应用所有更改:

1FLUSH PRIVILEGES;

一旦你完成,离开会议:

1exit

现在你已经创建了一个数据库用户,你只需要精心调整MariaDB以确保正确的ERPNext 12操作。幸运的是,ERPNext团队提供了一个很好的配置模板,你将使用它作为你的部署的起点。

步骤 4 — 配置 MariaDB 用于 ERPNext

有了 MariaDB 安装和安全,是时候为 ERPNext 连接精简了。

首先,停止mariadb.service:

1sudo systemctl stop mariadb

现在使用nano或您最喜欢的文本编辑器创建一个名为mariadb.cnf的MariaDB配置文件:

1sudo nano /etc/mysql/mariadb.conf.d/mariadb.cnf

现在添加ERPNext的官方配置模板:

 1[label /etc/mysql/mariadb.conf.d/mariadb.cnf]
 2[mysqld]
 3
 4# GENERAL #
 5user                           = mysql
 6default-storage-engine         = InnoDB
 7socket                         = /var/lib/mysql/mysql.sock
 8pid-file                       = /var/lib/mysql/mysql.pid
 9
10# MyISAM #
11key-buffer-size                = 32M
12myisam-recover                 = FORCE,BACKUP
13
14# SAFETY #
15max-allowed-packet             = 256M
16max-connect-errors             = 1000000
17innodb                         = FORCE
18
19# DATA STORAGE #
20datadir                        = /var/lib/mysql/
21
22# BINARY LOGGING #
23log-bin                        = /var/lib/mysql/mysql-bin
24expire-logs-days               = 14
25sync-binlog                    = 1
26
27# REPLICATION #
28server-id                      = 1
29
30# CACHES AND LIMITS #
31tmp-table-size                 = 32M
32max-heap-table-size            = 32M
33query-cache-type               = 0
34query-cache-size               = 0
35max-connections                = 500
36thread-cache-size              = 50
37open-files-limit               = 65535
38table-definition-cache         = 4096
39table-open-cache               = 10240
40
41# INNODB #
42innodb-flush-method            = O_DIRECT
43innodb-log-files-in-group      = 2
44innodb-log-file-size           = 512M
45innodb-flush-log-at-trx-commit = 1
46innodb-file-per-table          = 1
47innodb-buffer-pool-size        = 5462M
48innodb-file-format             = barracuda
49innodb-large-prefix            = 1
50collation-server               = utf8mb4_unicode_ci
51character-set-server           = utf8mb4
52character-set-client-handshake = FALSE
53max_allowed_packet             = 256M
54
55# LOGGING #
56log-error                      = /var/lib/mysql/mysql-error.log
57log-queries-not-using-indexes  = 0
58slow-query-log                 = 1
59slow-query-log-file            = /var/lib/mysql/mysql-slow.log
60
61# CONNECTIONS #
62
63pid-file        = /var/run/mysqld/mysqld.pid
64socket          = /var/run/mysqld/mysqld.sock
65bind-address    = 0.0.0.0
66
67[mysql]
68default-character-set = utf8mb4
69
70[mysqldump]
71max_allowed_packet=256M

保存和关闭文件. 有关这些配置的更多详细信息,请参阅 Review this template file on ERPNext’s Github repo

配置文件, /etc/mysql/mariadb.conf.d/mariadb.cnf,补充和也排除了包含在默认MariaDB配置中的几个值位于 /etc/mysql/my.cnf. 此文件为您提供了一个编制的模板,这极大地提高了ERPNext的数据库性能。 但是,请记住,虽然这个模板是一个很好的起点,但没有任何东西阻止您通过调整这些参数以满足您的需求来进一步提高MariaDB的性能。

测试 MariaDB 连接

由于ERPNext几乎所有内部操作都依赖数据库连接,因此在继续之前,最好先测试连接。

开始Mariadb.service:

1sudo systemctl start mariadb

要测试连接,您可以使用以下命令. 请记住用您的身份证代替sammymariadb_password:

1mysql --user sammy --password mariadb_password --host=localhost --protocol=tcp --port=3306 test

您将看到一个输出显示 MariaDB 的基本帮助内容和几个参数,这意味着您的连接成功:

 1[secondary_label Output]
 2mysql Ver 15.1 Distrib 10.4.13-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
 3Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 4
 5Usage: mysql [OPTIONS] [database]
 6
 7Default options are read from the following files in the given order:
 8/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
 9
10...
11
12  --ssl-verify-server-cert
13                      Verify server's "Common Name" in its cert against
14                      hostname used when connecting. This option is disabled by
15                      default.
16  -t, --table Output in table format.
17  --tee=name Append everything into outfile. See interactive help (\h)
18                      also. Does not work in batch mode. Disable with
19                      --disable-tee. This option is disabled by default.
20  -u, --user=name User for login if not current user.
21  -U, --safe-updates Only allow UPDATE and DELETE that uses keys.
22  -U, --i-am-a-dummy Synonym for option --safe-updates, -U.
23  -v, --verbose Write more. (-v -v -v gives the table output format).
24
25...
26
27max-join-size 1000000
28secure-auth FALSE
29show-warnings FALSE
30plugin-dir                        (No default value)
31default-auth                      (No default value)
32binary-mode FALSE
33connect-expired-password FALSE

如果您需要对 MariaDB 的设置进行任何调整或修复任何错误,请记住使用以下命令重新加载服务:

1sudo systemctl restart mariadb

一旦完成,启用MariaDB:

1sudo systemctl enable mariadb

现在你已经测试了数据库连接,你可以继续安装你的ERPNext应用程序。

步骤 5 — 设置 ERP 下一篇 12

现在您的数据库后端已经准备好了,您可以继续设置您的 ERPNext Web 应用程序. 在本节中,您将学习如何安装和配置 ERPNext 12 所需的所有组件,然后安装应用程序本身。

首先,用 ERPNext 所需的所有系统包来准备服务器 12. 使用以下命令安装全系统依赖:

1sudo DEBIAN_FRONTEND=noninteractive apt install -y curl build-essential python3-testresources python3-setuptools python3-dev libffi-dev python3-pip libcurl4 dnsmasq fontconfig git htop libcrypto++-dev libfreetype6-dev liblcms2-dev libwebp-dev libxext6 libxrender1 libxslt1-dev libxslt1.1 libffi-dev ntpdate postfix python3-dev python-tk screen vim xfonts-75dpi xfonts-base zlib1g-dev apt-transport-https libsasl2-dev libldap2-dev libcups2-dev pv libjpeg8-dev libtiff5-dev tcl8.6-dev tk8.6-dev libdate-manip-perl logwatch

DEBIAN_FRONTEND=noninteractive变量已传入安装命令,以避免 Postfix 提示. 有关 Postfix 配置的详细信息,请阅读我们在 Ubuntu 20.04 上如何安装和配置 Postfix 的指南(https://andsky.com/tech/tutorials/how-to-install-and-configure-postfix-on-ubuntu-20-04)

接下来,更新pip3,这是Python的标准包管理器,然后安装三个额外的Python模块的最新版本:

1sudo -H python3 -m pip install --upgrade setuptools cryptography psutil

setuptools 简化了 Python 包的安装和升级, cryptography 将加密功能添加到您的堆栈,以及 psutil 与系统监控的辅助工具.现在你已经安装了所有必要的全球依赖,你现在将安装所有需要 ERPNext 12 的服务和库。

如何设置 Node.js 和 Yarn

ERPNext 12 可以与 Node.js 服务器环境的版本 8+ 一起工作. 事实上,在本文写作时,官方 ERPNext easy_install 脚本使用 Node 8. 但从安全角度来看,建议安装更新的版本,因为 Node 8 在 2020 年达到其终结(EOL)并且不会收到更多的安全补丁。 在本文写作时,Ubuntu 20.04 包含 Node.js 的版本 10.19。 虽然这个版本仍然被维护,但出于类似的原因(EOL 不到一年的时间)非常建议避免使用它。 对于本指南,Node.js 版本 12 LTS 将与相应的 n'pm 和 n'yarn' 包管理器一起安装。 请注意,Frappe 框架使用 `yarn' 来安装依赖

将 NodeSource 存储库添加到您的系统:

1curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh

现在你可以检查下载的脚本的内容:

1sudo nano nodesurce_setup.sh

一旦你对脚本的内容满意,你可以运行脚本:

1sudo bash nodesource_setup.sh

此脚本将自动更新apt列表,现在您可以在您的服务器上安装nodejs:

1sudo apt install nodejs

接下来,使用npm包管理器在全球范围内安装yarn:

1sudo npm install -g yarn

现在你已经安装了Node,你可以继续为你的平台配置wkhtmltopdf。

ERPNext 使用wkhtmltopdf开源工具将 HTML 内容转换为 PDF 使用 Qt WebKit 渲染引擎. 此功能主要用于打印发票、报价和其他报告。

要安裝「wkhtmltopdf」,請先切換到適當的目錄來下載包,在這種情況下 `/tmp':

1cd /tmp

下载适当的wkhtmltopdf版本和 Ubuntu 20.04 包从项目页面:

1wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb

现在使用dpkg工具安装包:

1sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb

接下来,将所有相关的执行程序复制到您的 /usr/bin/ 目录:

1sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

一旦文件处于位置,更改其权限以使其可执行:

1sudo chmod a+x /usr/bin/wk*

现在wkhtmltopdf已正确安装,我们将添加Redis到我们的数据库堆栈。

安装 Redis

ERPNext 12 使用 Redis 来提高 MariaDB 的性能,特别是 Redis 协助缓存

首先,从官方 Ubuntu 20.04 存储库中安装 Redis:

1sudo apt install redis-server

然后在 startup 上启用 Redis:

1sudo systemctl enable redis-server

现在你已将 Redis 添加到你的堆栈,让我们花一点时间来总结你迄今为止所取得的成就,到目前为止,你已经安装了 ERPNext 12 所需的所有主要组件,其中包括:

  • 一个 MariaDB 数据库后端
  • Node.js JavaScript 服务器环境
  • Yarn 包管理器
  • 一个 Redis 数据库缓存
  • 一个 wkhtmltopdf PDF 文档生成器

无论您是为开发或生产安装ERP系统,您现在都已经准备好了下一步,即安装Frappe全套框架和实际的ERPNext 12网络应用程序。

步骤 6 — 安装 Frappe Bench CLI

现在你已经安装了所有ERPNext的堆栈要求,你可以释放Frappe的命令行实用程序的灵活性。CLI旨在帮助用户安装、设置和管理基于Frappe框架的ERPNext等应用程序。

确保Frappe用户(在这种情况下sammy)在其目录中拥有适当的权利:

1sudo chown sammy -R /home/sammy

现在将frappe/bench存储库克隆到您的主目录. 请记住用您的系统用户名取代sammy:

1git clone https://github.com/frappe/bench /home/sammy/.bench --depth 1 --branch master

安装BENCH CLI:

1sudo pip3 install -e /home/sammy/.bench

本指南假定您正在安装ERPNext 12用于测试/生产场景,因此您正在使用分支机构,但如果您的意图是开发应用程序或自定义ERPNext模块,那么开发分支机构可能是更好的选择。

建立 Frappe 框架环境

在本节中,您将使用 CLI 创建一个 Frappe 环境

在Frappe的安装过程中,您可以超过Ubuntu的文件观看限制,默认设置为8192. 为了避免此问题,使用以下命令设置更高的限制:

1echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

tee命令将echo命令的内容附加到被称为的文件中,同时还将输出打印到您的控制台上。

接下来,初始化Frappe Framework 12. 用您的系统用户名替换Sammy:

1bench init /home/sammy/frappe-bench --frappe-path https://github.com/frappe/frappe --frappe-branch version-12 --python python3

在執行過程中,您可能會看到關於您的路徑的一個錯誤,以及幾個警告. 讓過程繼續到最後. 一旦完成,您將看到類似於以下的輸出,表示您的環境已成功建立:

1[secondary_label Output]
2...
3Done in 82.23s.
4INFO:bench.utils:setting up backups
5no crontab for sammy
6SUCCESS: Bench /home/sammy/frappe-bench initialized

<$>[注] **注:**如果遇到spawn ENOMEM错误,台式起始过程可能会停止。此错误是当您的系统失去内存时引起的。

让我们仔细看看创建环境的命令:

  • /home/sammy/frappe-bench 是 Frappe 框架、网站和相关应用程序将被安装的路径。 在本示例中,将创建一个名为 frappe-bench 的新目录,以容纳所有必要的文件
  • --frappe-path 指向 Frappe 存储库,在这种情况下是官方的 Github 存储库
  • --frappe-branch 是要安装的 Frappe 版本。 因为你要安装 ERPNext 12,选择的版本是 Frappe 12.
  • `--python' 是要使用的 Python 版本。

如需關於「bench」 CLI 命令的更多資訊,請參閱 Bench Commands Cheatsheet

Frappe 框架提供的灵活性远远超出了使用孤立的环境,您还可以创建不同的网站并安装应用程序。

步骤 7 — 安装 ERPNext 12 Web 应用程序

在本节中,您将设置基于 Frappe 的网站,然后在其上安装 ERPNext 12 应用程序。

更改到Frappe初始化的目录。

1cd /home/sammy/frappe-bench

在继续之前,您需要在Frappe虚拟环境中安装特定版本的Python库numpypandas

1./env/bin/pip install numpy==1.18.5 && ./env/bin/pip install pandas==0.24.2

在此时,安装可能会停留大约10到20分钟,同时显示此消息:

1[secondary_label Output]
2...
3Building wheel for pandas (setup.py) ... -

这与与pandas和Ubuntu 20.04相关的错误(https://github.com/pandas-dev/pandas/issues/34753)有关,在写作时,它仍然相当新的,然而,包将构建,一旦他们完成,你会看到这样的输出:

1[secondary_label Output]
2...
3Successfully built pandas
4Installing collected packages: pandas
5Successfully installed pandas-0.24.2

现在,您可以继续安装。下载ERPNext 12从其存储库使用CLI:

1bench get-app erpnext https://github.com/frappe/erpnext --branch version-12

接下来,创建新的网站,用您与该服务器的IP相关联的域代替your_domain:

1bench new-site your_domain --admin-password 'erpnext_admin_password' --mariadb-root-username sammy --mariadb-root-password 'mariadb_password'

让我们花一点时间来审查上面的命令中使用的选项:

  • bench new-site 基于 Frappe Framework 创建了一个新网站.
  • your_domain 是新网站的名称. 请确保您的域名的 DNS 具有指向您的服务器 IP 的 A 记录
  • erpnext_admin_password 是 ERPNext 的 Administrator 用户所需的密码。 请将此密码保存在安全的地方—您将很快需要它
  • mariadb_password 是您为 MariaDB 用户 sammy 在指南的开始时创建的密码。

接下来,在网站上安装ERPNext应用程序:

1bench --site your_domain install-app erpnext

一旦安装完成,你将有一个工作ERPNext 12应用程序. 现在让我们用一个命令来测试它:

1bench start

上面将启动一个实时监控控制台,向您显示有关 Web 服务器和其他服务的各种信息。打开 Web 浏览器并导航到localhost:8000 (对于本地安装) 或your_domain:8000 (如果您正在使用远程服务器)。

访问测试部署后,返回终端并按CTRL+C。这将停止ERPNext并离开监控控制台。

如果你的主要目标是创建模块或修改ERPNext 12,那么你可以在这一点上停下来. 不需要更多的组件用于开发目的. 但是,如果你需要的是一个不需要手动初始化的生产准备系统,那么你需要安装和配置一些额外的组件。

步骤8 —为生产设置ERPNext 12

虽然您的 ERPNext 12 应用程序已准备好,但整个系统尚未准备好生产,以确保 ERPNext 的可靠性和安全性,您需要启用一些额外的服务:

  • Fail2ban提供了一层额外的保护,防止恶意用户和机器人的暴力企图
  • Nginx主要作为网络代理,将所有流量从端口 8000 重定向到端口 80 (HTTP)或端口 443' (HTTPS)
  • Supervisor确保ERPNext的关键流程不断启动和运行,根据需要重新启动

到目前为止,您已经手动安装和配置了ERPNext 12,这使您能够定制过程以匹配任何特定使用情况,然而,对于剩余的生产设置,您可以利用台椅CLI的便利性,让它自动安装和配置这些剩余的服务。

确保您在 Frappe 工作目录中:

1cd /home/sammy/frappe-bench

现在使用以下命令来完成为生产设置ERPNext 12:

1sudo bench setup production sammy --yes

以上将安装和配置 Nginx、Supervisor 和 Fail2Ban,并将sammy设置为生产环境的所有者。

由「bench」命令创建的配置文件是:

  • 两个 Nginx 配置文件位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/frappe-bench.conf
  • 一个 Fail2Ban 代理监狱位于 /etc/fail2ban/jail.d/nginx-proxy.conf 和一个过滤器位于 /etc/fail2ban/filter.d/nginx-proxy.conf

这些默认配置将足以为本教程,但你应该感到自由的探索和调整这些文件,以满足你的需求。

1sudo supervisorctl stop all

然后,一旦您准备好了,您可以重新启动您的服务:

1sudo supervisorctl start all

现在你已经准备好测试你的安装。

测试您的 ERPNext 12 安装

首先,验证关键生产服务是否正在运行. 使用以下systemctl命令,然后管道到grep:

1systemctl list-unit-files | grep 'fail2ban\|nginx\|supervisor'

你会看到这样的输出:

1[secondary_label Output]
2fail2ban.service enabled
3nginx.service enabled
4supervisor.service enabled

在确认一切按预期运行后,您可以在您的服务器上实时测试 ERPNext 12 打开您最喜欢的浏览器并导航 your_domain,或者您正在托管您的 ERPNext 12 应用。

几秒钟后,您应该看到 ERPNext 12 登录屏幕. 使用 Administrator为您之前为密码创建的用户名(电子邮件)和erpnext_admin_password

ERPNext Login Screen

在下一个屏幕上,你会看到一个下滑菜单,在那里你可以选择应用程序的UI语言:

Language Selection

按照语言选择,ERPNext将提示您了解您的国家、时区和货币:

Select Your Region

一旦您完成了区域信息,您将能够创建您的第一个ERPNext用户,您提供的信息将作为用户的登录凭证。

First ERPNext User

在下一个屏幕上,您将被问及ERPNext叫什么 Domains. 如果您不确定您的域是什么,然后选择 Distribution并点击 Next按钮。

Select your Domains

接下来,您将需要提供公司名称和缩写。

Company Name

在最后一个屏幕上,ERPNext会问你公司在做什么,其银行名称,账户图的类型和财年期间。你将能够稍后输入额外的银行。

Financial Information

接下来,你会看到一个进度栏。

Setting Up ERPNext

一旦安装过程完成,ERPNext 12主仪表板将显示。

ERPNext 12 Dashboard

您现在已经完全安装并配置了 ERPNext 12 应用程序。

结论

现在您已经正确安装了您的 ERPNext 12 应用程序,您可能希望开始为您的业务需求部署系统。一个好的起点是点击 ERPNext 仪表板上的 Getting Started 按钮。

Getting Started

如果是这样的话,那么你可以 阅读有关ERPNext性能调节,这将引导你通过最佳实践以及如何纠正性能相关的问题。

Published At
Categories with 技术
comments powered by Disqus