在本教程中,我们将向您展示怎样在 Ubuntu 22.04 LTS 上安装 ERPNext。 对于那些不知道的人,ERPNext 是一种开源企业资源规划 (ERP) 软件,它使用 Frappé 框架构建,该框架是用 Python 编写的。 它是一个基于 Web 的应用程序,可用于管理各种业务操作,包括财务会计、库存管理和客户关系管理。 ERPNext 旨在易于使用和高度可定制,使其成为各种规模企业的热门选择。
本文假定您至少具有 Linux 的基本知识,知道怎样使用 shell,最重要的是,您将站点托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到获取 root 权限的命令。 我将向您展示在 Ubuntu 22.04 (Jammy Jellyfish) 上逐步安装 ERPNext。 您可以按照 Ubuntu 22.04 和任何其他基于 Debian 的发行版(如 Linux Mint、Elementary OS、Pop!_OS 等)的相同说明进行操作。
先决条件
- 运行以下操作系统之一的服务器:Ubuntu 22.04、20.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
- 建议您使用全新的操作系统安装,以防止出现任何潜在问题。
- 通过 SSH 访问服务器(如果您在桌面上,则只需打开终端)。
- 一种
non-root sudo user
或访问root user
. 我们建议充当non-root sudo user
,但是,如果您在充当根用户时不小心,可能会损害您的系统。
在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 ERPNext
步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt
终端中的命令。
sudo apt update sudo apt upgrade sudo apt install python3-dev libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make python3.10-venv -y
步骤 2. 安装 Node.js。
默认情况下,Node.js 在 Ubuntu 22.04 基础存储库中不可用。 现在运行以下命令将 NodeSource 存储库添加到您的 Ubuntu 系统:
wget -qO- https://deb.nodesource.com/setup_16.x | sudo -E bash
将 NodeSource 存储库添加到系统后,使用 Apt 包管理器安装 Node.js 和 Redis:
sudo apt install nodejs redis-server -y
确认已安装最新的 LTS 版本并运行命令:
node -v
此外,您可以使用以下命令检查 NPM 的版本:
npm -v
安装完这两个包后,通过运行以下命令安装 Yarn 包:
npm install -g yarn
有关安装 Node.js 的其他资源,请阅读以下帖子:
- 怎样在 Ubuntu Linux 上安装 Node.js √
步骤 3. 安装 MariaDB。
默认情况下,MariaDB 在 Ubuntu 22.04 基础存储库上可用。 现在运行以下命令将最新版本的 MariaDB 安装到您的 Ubuntu 系统:
sudo apt install mariadb-server mariadb-client
安装成功后,启用MariaDB(系统开机自动启动),启动,使用以下命令验证状态:
sudo systemctl enable mariadb sudo systemctl start mariadb sudo systemctl status mariadb
确认安装并检查已安装的 MariaDB 构建版本:
mariadb --version
默认情况下,MariaDB 未加固。 您可以使用以下方法保护 MariaDB mysql_secure_installation
脚本。 您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和对安全 MariaDB 的访问:
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
您现在可以使用新密码连接到 MariaDB 服务器:
mysql -u root -p
接下来,您需要将 MariaDB InnoDB 文件格式更改为 Barracuda。 您可以通过编辑文件来完成 /etc/mysql/mariadb.conf.d/50-server.cnf
:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
添加以下行:
[mysqld] innodb-file-format=barracuda innodb-file-per-table=1 innodb-large-prefix=1 character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
Save 和 close 该文件,然后重新启动 MariaDB 服务以实施更改:
sudo systemctl restart mariadb
有关安装 MariaDB 的其他资源,请阅读以下帖子:
- 怎样在 Ubuntu Linux 上安装 MariaDB √
步骤 4. 在 Ubuntu 22.04 上安装 ERPNext。
在安装之前,现在我们创建一个新用户来使用以下命令运行 ERPNext:
useradd -m -s /bin/bash erpnext
接下来,使用以下命令设置 ERPNext 的密码:
passwd erpnext usermod -aG sudo erpnext
之后,登录到 ERPNext 用户并使用以下命令设置环境变量:
su - erpnext nano ~/.bashrc
添加以下行:
PATH=$PATH:~/.local/bin/
Save 该文件,然后使用以下命令激活环境变量:
source ~/.bashrc
接下来,使用以下命令为 ERPNext 创建一个目录:
sudo mkdir /opt/bench
接下来,将所有权设置为 erpnext 用户:
sudo chown -R erpnext:erpnext /opt/bench
接下来,将目录更改为 /opt/bench
并从 GitHub 克隆 bench 存储库:
cd /opt/bench git clone https://github.com/frappe/bench bench-repo
接下来,使用 pip3 命令安装 bench repo:
pip3 install -e bench-repo
安装后,使用以下命令使用 frappe 框架初始化 bench 目录:
bench init erpnext
接下来,将目录更改为 erpnext 并使用以下命令创建一个新的 ERPNext 站点:
cd /opt/bench/erpnext bench new-site your-domain.com
您将被要求提供您的 MariaDB root 密码和管理员密码,如下所示:
MySQL root password: Installing frappe... Updating DocTypes for frappe : [========================================] 100% Updating country info : [========================================] 100% Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled *** Current Site set to your-domain.com
步骤 5. 配置 ERPNext。
现在我们管理 ERPNext 进程并将 Nginx 配置为反向代理:
su - erpnext sudo apt-get install supervisor nginx -y
接下来,使用以下命令安装 frappe-bench:
sudo pip3 install frappe-bench
接下来,将目录更改为 /opt/bench/erpnext
并使用以下命令为生产环境设置 ERPNext:
cd /opt/bench/erpnext sudo /home/erpnext/.local/bin/bench setup production erpnext
输出:
PLAY RECAP ************************************************************************************************************************************ localhost : ok=8 changed=4 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 $ sudo systemctl restart supervisor Port configuration list: Site your-domain.com assigned port: 80 $ /usr/bin/supervisorctl reread No config updates to processes $ /usr/bin/supervisorctl update $ sudo /usr/sbin/nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful $ sudo systemctl reload nginx
步骤 6. 配置防火墙。
现在我们使用 ERPNext 设置一个简单的防火墙 (UFW),以允许在默认 Web 端口 80 上进行公共访问:
sudo ufw allow OpenSSH sudo ufw allow 'Nginx Full' sudo ufw enable
步骤 7. 访问 ERPNext Web 界面。
成功安装后,打开 Web 浏览器并使用 URL 访问 ERPNext Web UI https://your-domain.com
. 您将被重定向到以下页面:
恭喜! 您已成功安装 ERPNext。 感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 ERPNext。 如需更多帮助或有用信息,我们建议您查看 ERPNext官方网站.