如何在Ubuntu 18.04 LTS上安装ERPNext

如何在Ubuntu 18.04 LTS上安装ERPNext

ERPNext是一款免费,开源,现代且易于使用的商业管理软件,被全球数千家公司使用。它是一个非常简单的ERP平台,支持零售,贸易,服务,制造,人力资源,非营利组织和其他领域。它是在Frappe框架之上用Python编写的功能强大且功能齐全的ERP系统。它使用Node.js作为前端,MariaDB使用它来存储数据。 ERPNext提供基于Web的界面来执行日常任务。 ERPNext提供具有办公套件集成的嵌入式报告系统。

在本教程中,我们将学习如何在Ubuntu 18.04 LTS服务器上安装和配置ERPNext。

要求

  • 运行Ubuntu 18.04的服务器。
  • 具有sudo权限的非root用户设置到您的服务器。

入门

首先,您需要使用最新版本更新系统。您可以通过运行以下命令来执行此操作:

sudo apt-get update -y
sudo apt-get upgrade -y

系统更新后,您需要为ERPNext创建用户。

您可以使用以下命令执行此操作:

sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext

接下来,使用以下命令为ERPNext用户授予sudo权限:

sudo usermod -aG sudo erpnext

接下来,使用以下命令登录ERPNext用户和设置环境变量:

su - erpnext
nano .bashrc

添加以下行:

P新高=$P新高:~/.local/bin/  

完成后保存并关闭文件。然后,重新启动系统以应用所有更改。

安装必需的包

首先,使用erpnext用户登录系统,并将ERPNext所需的一些依赖项安装到您的系统中。

sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y

接下来,使用以下命令安装Nginx和MariaDB服务器:

sudo apt-get install nginx mariadb-server -y

安装完成后,您需要在50-server.cnf文件中进行一些更改。您可以使用以下命令执行此操作:

sudo 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    (mysql)  default-character-set = utf8mb4  

保存并关闭文件。然后,重新启动MariaDB服务以应用所有更改:

sudo systemctl restart mariadb

您现在可以使用以下命令检查MariaDB服务器的状态:

sudo systemctl status mariadb

您应该看到以下输出:

? mariadb.service - MariaDB 10.1.38 database server     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)     Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago       Docs: man:mysqld(8)             https://mariadb.com/kb/en/library/systemd/    Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)    Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)    Process: 4505 ExecStartPre=/bin/sh -c ( ! -e /usr/bin/galera_recovery ) && VAR= ||   VAR=`/usr/bin/galera_recovery`; ( $? -eq 0 )   && systemctl set-    Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)    Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)   Main PID: 4607 (mysqld)     Status: "Taking your SQL requests now..."      Tasks: 31 (limit: 1111)     CGroup: /system.slice/mariadb.service             ??4607 /usr/sbin/mysqld    Aug 16 06:26:47 ubuntu1804 systemd(1): Starting MariaDB 10.1.38 database server...  Aug 16 06:26:48 ubuntu1804 mysqld(4607): 2019-02-16  6:26:48 140715015396480 (Note) /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting  Aug 16 06:26:48 ubuntu1804 systemd(1): Started MariaDB 10.1.38 database server.  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4642): Upgrading MySQL tables if necessary.  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): /usr/bin/mysql_upgrade: the '--basedir' option is always ignored  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): Looking for 'mysql' as: /usr/bin/mysql  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4677): Checking for insecure root accounts.  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4681): Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables  

安装Redis和Node.js

接下来,您需要将Redis和Node.js安装到您的系统中。您可以通过运行以下命令来安装它们:

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install gcc g++ make -y
sudo apt-get install nodejs redis-server -y
sudo npm install -g yarn

配置MariaDB

默认情况下,MariaDB安装不安全,因此您需要先保护它。您可以使用以下命令保护它:

sudo mysql_secure_installation

回答所有问题,如下所示:

    Enter current password for root (enter for none):      Set root password? (Y/n): N      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受到保护,请使用以下命令登录MariaDB shell:

sudo mysql -u root -p

提示时输入您的root密码。然后,使用以下命令为ERPNext创建数据库和用户:

MariaDB ((none))> create database erpnextdb;
MariaDB ((none))> create user (email protected) identified by 'password';

接下来,使用以下命令向ERPNext授予所有权限:

MariaDB ((none))> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB ((none))> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY '(email protected)' WITH GRANT OPTION;

接下来,使用以下命令刷新权限并退出MariaDB shell:

MariaDB ((none))> FLUSH PRIVILEGES;
MariaDB ((none))> EXIT;

安装ERPNext

首先,为ERPNext创建一个目录,并使用以下命令提供适当的权限:

sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/

接下来,将目录更改为erpnext并使用以下命令安装erpnext:

cd /opt/erpnext
git clone https://github.com/frappe/bench bench-repo

输出:

Cloning into 'bench-repo'...  remote: Enumerating objects: 19, done.  remote: Counting objects: 100% (19/19), done.  remote: Compressing objects: 100% (14/14), done.  remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125  Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done.  Resolving deltas: 100% (3924/3924), done.  

接下来,使用pip命令安装工作台:

sudo pip install -e bench-repo

接下来,使用frappe框架初始化bench目录:

bench init erpnext

输出:

Building frappe assets...    ? Built js/print_format_v3.min.js  ? Built js/dialog.min.js  ? Built js/web_form.min.js  ? Built js/social.min.js  ? Built js/modules.min.js  ? Built js/form.min.js  ? Built js/list.min.js  ? Built js/frappe-vue.min.js  ? Built js/chat.js  ? Built js/desk.min.js  ? Built js/control.min.js  ? Built css/frappe-rtl.css  ? Built css/module.min.css  ? Built css/report.min.css  ? Built css/form.min.css  ? Built css/list.min.css  ? Built frappe/css/email.css  ? Built css/web_form.css  ? Built css/frappe-web.css  ? Built css/desk.min.css  ? Built js/frappe-web.min.js  ? Built js/report.min.js  ?  Done in 31.313s  Done in 34.43s.  INFO:bench.utils:setting up backups  no crontab for erpnext  INFO:bench.utils:setting up auto update  no crontab for erpnext  Bench erpnext initialized  

接下来,使用以下命令将目录更改为erpnext并为node1.example.com域创建新站点:

bench new-site node1.example.com

系统将要求您提供MySQL root密码,如下所示:

MySQL root password:

提供root密码,然后按Enter键。您应该看到以下输出:

Installing frappe...  Updating DocTypes for frappe        : (========================================)  Updating country info               : (========================================)  Set Administrator password:   Re-enter Administrator password:   *** Scheduler is disabled ***  

接下来,使用以下命令为erpnext提供适当的权限:

sudo chown -R erpnext:erpnext /opt/erpnext/erpnext

最后,使用以下命令启动服务器:

bench start

您应该看到以下输出:

06:34:02 web.1            |  * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)  06:34:02 web.1            |  * Restarting with inotify reloader  06:34:03 watch.1          | yarn run v1.13.0  06:34:03 watch.1          | $node rollup/watch.js  06:34:03 web.1            |  * Debugger is active!  06:34:04 web.1            |  * Debugger PIN: 159-307-235  06:34:13 watch.1          |   06:34:13 watch.1          | Rollup Watcher Started  06:34:13 watch.1          |   06:34:13 watch.1          | Watching...  06:34:15 watch.1          | Rebuilding frappe-web.css  

访问ERPNext

现在已安装ERPNext并在端口8000上进行侦听。打开Web浏览器并键入URL http://node1.example.come:8000。您将被重定向到以下页面:

ERP下载登录

现在,提供管理员用户名和您在安装过程中提供的密码。然后,单击“登录”按钮。您应该看到以下页面:

选择语言

接下来,选择您的语言并单击“下一步”按钮。您应该看到以下页面:

设置公司名称

接下来,选择您所在的国家/地区并单击“下一步”按您应该看到以下页面:

添加第一个用户

接下来,提供您的全名和电子邮件地址。然后,单击“完成设置”按钮。您应该看到以下页面:

ERPNext仪表板

恭喜您已在Ubuntu 18.04服务器中成功安装并配置了ERPNext。您现在可以在生产环境中轻松设置ERPNext。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载
你可能还喜欢