Ubuntu 上的 Erpnext 安装 22.04 Linux – 分步指南

步骤 1:更新 Ubuntu 22.04 服务器

如果您在一段时间后安装一些新软件包之前在我们的 Linux 上运行系统更新命令,这将是一个很好的做法。它不仅会为您的系统软件包安装最新的可用更新,甚至还会刷新 APT 索引缓存。

sudo apt update && sudo apt upgrade

步骤 2:为 EPRNext 创建专用用户

与其使用我们当前的 sudo 用户来安装 EPRNext,不如创建一个具有 sudo 权限的单独用户。不用担心,我们稍后会从中删除 sudo 权限,以使我们的系统更加安全。

创建用户:

sudo useradd -m erpnext -s /bin/bash
sudo usermod -aG sudo erpnext

分配一些密码以确保帐户安全:

sudo passwd erpnext

使用ERPNext用户登录并运行系统更新:

sudo su - erpnext
sudo apt update
Create-a-dedicated-user-for-EPRNext

步骤 3:安装所需的依赖项

为了在 Ubuntu 上安装 ERPNext,我们需要安装几个依赖项,这样我们以后就不会遇到任何常见的软件包相关问题。以下是您需要在终端中运行的命令:

sudo apt install python3-minimal build-essential python3-setuptools python3-pip python3-dev libffi-dev libssl-dev ca-certificates curl gnupg xvfb libfontconfig wkhtmltopdf libmysqlclient-dev software-properties-common python3.10-venv supervisor

步骤 4:设置 MariaDB 数据库服务器

MariaDB 是一个开源的 SQL 数据库服务器,我们可以使用 Ubuntu 的默认系统存储库直接安装它。我们需要它来存储 ERPNext 生成的数据。

sudo apt install mariadb-server mariadb-client

通过运行并遵循给定命令提供的基于文本的向导来保护安装:

sudo mysql_secure_installation

以下是上述命令将要回答的几个问题……

切换到unix_socket身份验证 [Y/n] y
更改 root 密码?[Y/n]:Y
删除匿名用户?[是/否]y
禁止 root 远程登录?[是/否]y
删除测试数据库并访问它?[是/否]y
现在重新加载权限表?[是/否] y

编辑 MYSQL 默认配置文件

sudo nano /etc/mysql/my.cnf

滚动到文件末尾,并按原样添加以下代码块:

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set = utf8mb4

使用 Ctrl+X 保存文件,然后键入 Y 并按 Enter 键。

第 5 步:安装 Redis Server for ERPNext

对于缓存和任务队列管理,还可以在 Ubuntu 上为您的 ERPNext 安装 Redis 服务器。

 sudo apt install redis-server

第 6 步:安装 Node.js 和 Yarn

ERPNext 使用 Node.js 作为其前端。因此,要获取 Nodejs 的最新 LTS 版本,请使用 Ubuntu 系统上的命令手动添加其存储库。

添加 Node GPG 密钥:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

添加 Node APT 仓库:

在这里,我们正在安装 Node LTS 18 版本,如果需要,您可以选择 16 或 20,只需将 – NODE_MAJOR= 版本号更改为您需要的版本号即可。

NODE_MAJOR=18
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

运行系统更新:

sudo apt update

添加 repo 后,我们可以安装 Nodejs:

sudo apt install nodejs

使用 Node 包管理器 NPM 并安装 YARN:

sudo npm install -g yarn

第 7 步:获取 Frappe Bench

现在,我们将安装 Frappe Bench,这是一个用于管理 ERPNext 安装的命令行工具:

pip3 install --user frappe-bench

将 Bench 添加到您的路径中,为此编辑 Bashrc 文件:

nano ~/.bashrc

向下滚动并在文件末尾添加以下行,如屏幕截图所示:

PATH=$PATH:~/.local/bin/

保存并关闭文件 按Ctrl + X,Y,然后按Enter键。

Get-Frappe-Bench

现在,运行:

source ~/.bashrc

初始化 Frappe Bench

我们现在可以从终端中的任何位置访问工作台,因此请对其进行初始化。在这里,我们将使用版本 14,这是在撰写本文时的最新版本,您可以在执行本教程时进行相应的选择。只需将 14 替换为您要使用的版本即可。

bench init --frappe-branch version-14 frappe-bench

将目录切换到 Frappe Bench 目录

cd frappe-bench

更改用户目录权限

这将授予工作台用户对主目录的执行权限。

chmod -R o+rx /home/[your-user]

例如,我们在本教程的开头创建了“erpnext”作为我们的用户,因此我们使用它。如果您使用的是其他命令,请将 [your-user] 替换为上述命令中的 [your-user]。

创建一个要用于ERP的站点next:

假设我们有一个域名 – local.example.com,并希望使用它来访问我们的ERPnext网站。因此,使用它创建一个网站,下面是一个示例:

 bench new-site [your-site-name]

示例

bench new-site local.example.com

当您运行上述命令时,它将要求您输入 MYSQL root 密码以创建数据库。另外,这里为您的ERPNext网站管理员帐户设置密码,我们稍后需要该密码才能访问其仪表板。

Create-a-site-that-you-want-to-use-for-ERPnext

 

步骤 8:在 Ubuntu 上安装 ERPNext 22.04 LTS

让我们下载ERPNext应用程序以安装在我们的系统上,以及您可能还需要的其他一些重要应用程序,以便在生产中使用ERPNext。

要获取 ERPNext 的版本 14,请执行以下操作:

bench get-app --branch version-14 erpnext

—————————————————-(可选)额外信息————————————————————–

收到此错误的人: supervisorctl restart frappe: frappe: ERROR(没有这样的组)

他们可以运行以下命令:

以下命令将在 ~/frappe-bench/config 目录下创建 supervisor.conf 文件。

cd ~/frappe-bench
bench setup supervisor

现在创建一个必需的符号链接。

sudo ln -s ~/frappe-bench/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf

重新启动所有 Frappe 服务,只需重新启动 Supervisor

sudo service supervisor restart

———————————————————-到此结束————————————————————

同样,那些希望HRMS支付应用程序在其ERPnext实例中启用额外功能的人也可以获得它们:

bench get-app payments
bench get-app hrms
Add-paymnets-to-Erpnext-1024x669-1

现在,使用 bench 命令安装我们下载的应用程序,即 – erpnext、hrm 和 payment。其命令是:

注意:将 [your-site-name] 替换为您在本文的第 7 步中创建的 [your-site-name]。例如,这里我们使用 local.example.com。

bench --site [your-site-name] install-app erpnext
bench --site [your-site-name] install-app hrms
bench --site [your-site-name] install-app payments

同样,您也可以安装ERPnext或Frappe的其他应用程序。

installing-apps-for-frapper-erpnext

第 9 步:启动 Bench 测试 ERPnext 网站

我们已经在 Ubuntu 上成功安装并创建了 ERPNext 网站。让我们检查一下它是否有效。在终端运行中:

bench start

上面的命令将启动开发服务器来测试您的网站。您将看到运行您的 ERPNext 网站的本地 IP 地址。默认情况下,它将位于端口号 8000 上,但是,如果它不可用或被其他应用程序占用,则它可能会有所不同。

Start-Bench-to-test-ERPnext-website

打开 Web 浏览器并指向 IP 地址,如开发服务器的终端输出所示:

如果您在访问网站时遇到 404 错误,请查看下一步来解决它。因此,我们得到了:

404-error-erpnext-website-bench-1024x385-1

错误:在浏览器中找不到 404 在工作台启动上

那么,如何解决这个错误。首先,在进程仍处于活动状态的终端中使用 Ctrl+C 停止运行 Bench 服务器。

之后,我们必须切换到Sites目录并创建一个文件,让我们看看如何?

cd ~/frappe-bench/sites

创建currentsite.txt文件:

nano currentsite.txt

在其中添加您当前用于 ERPNext 的网站名称。若要保存文件,请按 Ctrl+X,然后按 Y,然后按 Enter 键。例如,我们创建了一个名为 – local.example.com 的网站,所以我们只是添加了它。

Add-your-ERPnext-website-ubuntu-22.04

检查文件现在是否可用:

ls
currentsite-configuration

现在,再次在终端中运行bench start,然后打开浏览器并指向本地IP地址和端口。这一次,您将看到登录界面,如给定的屏幕截图所示。

一旦你有了登录界面,你就可以使用用户名-管理员,而它的密码是你在创建ERPNext网站时在步骤7中设置的密码

admin-login-ERPNext-Dashboard-1024x610-1

之后,设置程序还会要求您设置仪表板的语言以及其他常见信息。

Set-ErpNext-language-1024x616-1

除了管理员之外,在此步骤中,您还可以再创建一个用户来访问 ERPNext 仪表板和其他设置。

Create-a-user-account

通过提供所需的详细信息来设置组织。

Setup-your-Organization

最后,在您的 Ubuntu 上运行的 ERPNext 仪表板 22.04 将出现在您的眼前.

Dashboard-ERPNExt-Ubuntu-22.04-1024x620-1

现在,一旦您根据您的要求配置了 ERPNext,让我们关闭 Bench 的开发服务器,使我们的 EPRNext 上线用于生产用途。

转到“工作台启动”进程仍处于活动状态的终端,然后按键盘上的 Ctrl+X 键。

第 10 步:为生产环境设置 ERPNext

因此,在上一步中,我们已经看到我们使用本地服务器 IP 地址访问浏览器中的 ErpNext,但具有特定的端口号。但是,在生产环境中,您肯定希望在不添加任何特定端口号的情况下使用某些域。让我们看看如何做到这一点。

首先在您的 Temrinal 中

  • 启用调度程序
bench --site [your-site-name] enable-scheduler
  • 禁用维护模式
bench --site [your-site-name] set-maintenance-mode off
  • 设置主管:

尽管我们已经在本文的第 8 步中讨论了如何设置 Supervisor,但如果您没有按照该步骤操作,那么这里再次是该命令:

cd ~/frapper-bench
bench setup supervisor
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf
  • 安装 Nginx 并配置 Bench

需要 Nginx 作为代理服务器,使用 HTTP 端口 80 而不是 8000 来访问 ERPNext Dashboard。

sudo apt install nginx

使用 Bench 自动为您的网站配置端口 80。

bench setup nginx

将 frappe 生成的 Nginx 配置文件复制到 Nginx 主目录:

sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf
  • 禁用默认测试页
sudo unlink /etc/nginx/sites-enabled/default
sudo unlink /etc/nginx/sites-available/default
  • 重新启动 Nginx 以应用更改
sudo systemctl restart nginx

(可选) 如果您收到返回的错误,即:

Job for nginx.service failed because the control process exited with error code.See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.

由于我们在设置 Nginx 以访问 ERPNext 时遇到了错误,这就是我们在这里讨论它的原因。如果这也是您的情况,那么首先编辑 Ngnix 配置文件:

sudo nano /etc/nginx/nginx.conf

现在,http {} 部分之间的任意位置添加以下行:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

要获得一个想法,请参阅给定的屏幕截图:

nginx.service-failed-EPRnext-production-1024x768-1

使用 Ctlr+X 保存文件。,然后按 Y 键。现在再次尝试重新启动 Nginx,这次您将不会遇到错误:

sudo systemctl restart nginx

现在,使用您的服务器 IP 地址或域来访问 ERPNext 仪表板。您将在不使用任何其他端口(例如 8000)的情况下拥有它。

http://your-domain.com 或 http://sever-ip-address

注意:在访问ERPNext时,如果您遇到如下错误:

Sorry!
We will be back soon.

Don’t panic. It’s not you, it’s us.
Most likely, our engineers are updating the code, and it should take a minute for the new code to load into memory.
Sorry-we-will-be-back-erpnext-1024x641-1

要解决此问题,请重新启动 Supervisor 服务:

sudo systemctl restart supervisor.service

现在,检查它是否工作正常:

systemctl status supervisor --no-page -l

之后,刷新您访问ERPNext仪表板的浏览器页面。

Installing-ERPNExt-Dashboard-on-Ubuntu-22.04-1024x656-1

附加信息:

如果您想将 ERPNext 与创建的一些本地域一起使用,以便在您的本地 PC 中使用,请在您的 /etc/hosts 文件中将其指向 127.0.0.1。为了方便起见,您只需运行给定的命令即可实现此目的:

bench --site [your-site-name] add-to-hosts

例如,我们有一个本地创建的域,它也是我们ERPnext站点的名称,在本教程中,它是:local.example.com。因此,要仅在我们的本地网络或PC中使用它来访问ERPnext的仪表板,我们可以使用给定的命令:

bench --site local.example.com add-to-hosts

如何更新 Bench:

稍后要更新工作台及其其他组件,请使用给定的命令。它拉取 bench-repo 和所有应用程序的更改,应用补丁,构建 JS 和 CSS,然后迁移。

bench update
bench-update-command-1024x669-1

那些以后想要从他们的 ERPNext 用户中删除 sudo 权限的人可以运行给定的命令:

sudo usermod -G "" erpnext

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun288612.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2024年3月13日 下午6:44
下一篇 2024年3月13日 下午6:49

相关推荐