如何在CentOS 8上安装ERPNext

企业资源计划 是面向中小企业的完全健壮的ERP框架。 它涵盖了广泛的功能,包括会计,CRM,库存,销售,采购,制造,项目,人力资源和薪资,网站,电子商务等,所有这些功能使其具有深远的适应性和可扩展性。

ERPNext是使用Python开发的,并且依赖于Frappe框架。 它使用Node.js作为前端,Nginx作为Web服务器,Redis用于缓存,MariaDB用于数据库。

根据GNU通用公共许可证v3,ERPNext是开源的。

在本文中,我们将向您展示 如何在CentOS 8上安装ERPNext 在我们优化的ERPNext托管服务器之一上。

先决条件:

确保您的服务器满足以下要求。

  • 2GB RAM或更高
  • 2个或更多CPU内核
  • 新的CentOS 8安装
  • 完全根访问

准备和更新系统并安装依赖项

通过SSH登录到服务器:

ssh [email protected]_ip

在开始安装ERPNext之前,最好将系统软件包更新为最新版本。

sudo yum update -y

安装额外的软件包存储库:

sudo yum install -y epel-release

我们可以在两个环境(开发和生产)上设置ERPNext。 对于开发环境,将会有 no Nginx installed 并且您需要手动启动ERPNext。 对于生产环境, Nginx is installed 该过程将由 supervisor。 您将在本教程的后面部分进一步了解主管。

在生产环境下安装时,我们需要确保我们 uninstall Apache 首先,因为安装程序脚本将设置Nginx。 也建议 uninstall MariaDB 以避免在生产和开发的安装过程中发生冲突。 对于开发环境,可以安全地保留Apache的安装和运行状态,因为不会安装Nginx。

停止并卸载Apache (required for production set up only)

sudo systemctl stop httpd
sudo yum remove -y httpd httpd-tools apr apr-util

停止并卸载MariaDB (recommended for both development and production setup)

sudo systemctl stop mariadb
sudo yum remove -y mariadb mariadb-server
sudo rm -rf /var/lib/mysql /etc/my.cnf

安装所需的软件包以及MariaDB,Nginx,NodeJS和Redis:

sudo yum install -y gcc make git mariadb mariadb-server nginx supervisor python3 python3-devel python2 python2-devel redis nodejs

安装纱线包管理器:

sudo npm install -g yarn

禁用SELinux

为了避免设置复杂的SELinux规则集,我们需要将其禁用。 在CentOS 7上禁用SELinux是一件容易的事。 您可以使用以下命令执行此操作:

echo 0 > /selinux/enforce

或者,您可以使用以下命令:

setenforce 0

现在,再次检查状态并确保将其禁用。

请注意,这只会暂时禁用SELinux。 如果要永久禁用它,则需要执行以下步骤:

打开 /etc/sysconfig/selinux 文件,以便使用您选择的文本编辑器进行编辑。 我们将使用 vim 在下面的示例中。

vim /etc/sysconfig/selinux

打开文件后,更改以下行:

SELINUX=enforcing

SELINUX=disabled

然后保存并关闭文件。

安装ERPNext

创建ERPNext用户

一旦安装了所需的软件包,就可以开始安装ERPNext。

我们需要一个专用于ERPNext实例的用户,并且该用户具有sudo访问权限:

sudo useradd -m erp -G wheel

默认的sudo设置要求我们在发出命令时输入密码。 您可以通过以下方法避免这种情况:

sudo sed -i 's/^#s*(%wheels+ALL=(ALL)s+NOPASSWD:s+ALL)/1/' /etc/sudoers

我们需要设置其他内核参数:

echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" | sudo tee -a /etc/rc.d/rc.local
sudo chmod 755 /etc/rc.d/rc.local

我们需要重新启动,以便内核设置生​​效。

为ERP配置MariaDB(MySQL fork)

与其他ERP应用程序不同,ERPNext支持MariaDB,以存储数据的持久性部分。 以前我们为CentOS 8安装了MariaDB的最新可用版本,现在我们需要为ERPNext配置它。

为MariaDB的ERPNext创建一个配置文件:

cat <<EOF >/etc/my.cnf.d/erpnext.cnf

[mysqld]

innodb文件格式=梭子鱼innodb文件每表= 1 innodb大前缀= 1字符集客户端握手=否字符集服务器= utf8mb4整理服务器= utf8mb4_unicode_ci

[mysql]

默认字符集= utf8mb4 EOF

启用并启动MariaDB服务:

sudo systemctl enable mariadb
sudo systemctl start mariadb

启动MariaDB安全安装脚本(确保您记住MariaDB根密码)。 另外,如果出现以下问题,请始终使用强密码:

sudo mysql_secure_installation

安装ERPNext

我们将在已创建的新用户erp下安装ERPNext。

更改为ERPNext用户,并将工作目录更改为其主目录:

su - erp

使用pip3安装frappe-bench并初始化版本12:

pip3 install --user frappe-bench
bench init frappe-bench --frappe-branch version-12

初始化完成后,您将收到以下消息:

SUCCESS: Bench frappe-bench initialized

使用初始化的frappe-bench,我们可以为我们的ERPNext实例创建新的frappe站点。

我们需要启动frappe开发服务器:

cd frappe-bench
sed -i '/web:/ s/$/ --noreload/' Procfile
bench start >/tmp/bench_log &

我们需要使用我们的域名/子域名创建一个新站点:

bench new-site erp.rosehosting.com

我们将提示您输入先前输入的MySQL密码。 输入MySQL root密码。

现在,我们准备通过基准下载并安装ERPNext。

首先下载带有基准的最新ERPNext版本:

bench get-app erpnext --branch version-12

下载后安装:

bench install-app erpnext

现在我们准备开始并使用ERPNext

启动ERPNext

在开发环境设置中,需要手动启动ERPNext应用程序。 ERPNext应用程序在端口8000上侦听。

发展

su - erp
cd frappe-bench
bench start >/tmp/bench_log &

您现在可以在以下位置访问您的设置:

http://[domain]:8000
Login: Administrator
Password: The one that you input during installation

生产

在某些时候,我们希望ERPNext处于生产模式。

为此,我们需要为supervisor和nginx创建生产文件:

su - erp
cd frappe-bench
bench setup supervisor
bench setup nginx

将新创建的配置文件的链接添加到它们各自的服务:

sudo ln -s `pwd`/config/supervisor.conf /etc/supervisord.d/frappe-bench.ini
sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf

通过编辑将Nginx进程所有者更改为erp /etc/nginx/conf/nginx.conf 并将用户指令更改为:

user erp erp;

Supervisor是一个过程控制系统,使您可以监视和控制运行Linux的系统上的过程。 主管运行时,它将在启动时自动启动应用程序并处理进程故障。 安装程序脚本会自动为您的ERPNext应用程序配置主管。 您可以在此处了解有关主管的更多信息。

现在,您可以启用并启动超级用户和Nginx:

sudo systemctl enable supervisord
sudo systemctl start supervisord
sudo systemctl enable nginx
sudo systemctl start nginx

您现在可以登录到生产网站 without using port 8000 因为Nginx Web服务器已经被配置为端口8000的反向代理。

登录后,您现在应该能够完成ERPNext应用程序的初始设置。

当然,您不必 在CentOS 8上安装ERPNext 如果您有我们的ERPNext VPS。 您可以简单地要求我们的支持团队为您在CentOS 8上安装ERPNext。 它们是24/7可用的,将能够帮助您进行安装。

聚苯乙烯。 如果您喜欢阅读有关如何在CentOS 8上安装ERPNext的博客文章,请随时使用下面的快捷方式在社交网络上共享它,或者直接发表评论。 谢谢。

Sidebar