如何在Debian 9上安装ERPNext
ERPNext是一个免费且开源的ERP软件,在Frappe框架之上用Python编写,包括会计,库存,制造,客户关系管理,销售,采购,项目管理,人力资源管理系统等。 ERPNext是一个简单,功能强大且易于使用的ERP系统。 它带有漂亮的网页界面,可用于管理中心位置的日常任务。
在本教程中,我们将学习如何在Debian 9服务器上安装ERPNext软件。
先决条件
- 运行Debian 9的服务器。
- 具有sudo权限的非root用户。
入门
在开始之前,建议您将软件包存储库更新为最新版本。 您可以通过运行以下命令来执行此操作:
sudo apt-get update -y
sudo apt-get upgrade -y
接下来,重新启动系统以应用所有更改。
安装依赖关系
ERPNext需要Python版本2.7才能正常工作。 您可以通过运行以下命令来安装Python和其他必需的软件包:
sudo apt-get install python-minimal git build-essential python-setuptools python-dev libffi-dev libssl-dev -y
您还需要安装Python的pip工具来安装Python依赖项。 您可以通过运行以下命令来完成此操作:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
接下来,使用pip命令安装ansible:
sudo pip install ansible
安装Node.js,Redis和Nginx
默认情况下,最新版本的Node.js在Debian 9中不可用。因此,您需要添加Node.js 8.x的Nodesource存储库。 您可以通过运行以下命令来执行此操作:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
接下来,通过运行以下命令来安装Node.js,Nginx和Redis:
sudo apt-get install nodejs redis-server nginx -y
一旦安装了所有软件包,请启动Nginx和Redis服务,并使用以下命令启动它们以便启动:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start redis-server
sudo systemctl enable redis-server
安装和配置MariaDB
默认情况下,最新版本的MariaDB在Debian 9存储库中不可用。 所以你需要为此添加MariaDB存储库。
首先,使用以下命令下载并添加签名密钥到您的系统:
sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
接下来,使用以下命令添加MariaDB存储库:
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.2/debian stretch main'
最后,使用以下命令安装MariaDB服务器:
sudo apt-get update -y
sudo apt-get install mariadb-server libmysqlclient-dev -y
接下来,您需要将Barracuda存储引擎添加到MariaDB配置文件中,以创建ERPNext数据库。 你可以通过编辑my.cnf文件来做到这一点:
sudo nano /etc/mysql/my.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 mysql
sudo systemctl enable mysql
接下来,通过运行mysql_secure_installation脚本来保护MariaDB:
sudo mysql_secure_installation
此脚本将设置root密码,删除匿名用户,禁止远程root登录,并删除测试数据库并访问安全MariaDB,如下所示:
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
安装PDF转换器
您还需要安装wkhtmltopdf以使用QT Webkit渲染引擎将HTML转换为PDF。 首先,使用以下命令安装所需的依赖项:
sudo apt-get install libxext6 xfonts-75dpi xfonts-base libxrender1 -y
接下来,使用以下命令下载最新版本的wkhtmltopdf:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
接下来,将下载的文件提取到/ opt目录:
sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
接下来,使用以下命令为wkhtmltopdf创建一个软链接:
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
安装工作台
接下来,您需要安装Bench以将ERPNext应用程序安装并管理到您的系统。 Bench也用于创建和管理Nginx和管理器配置。
在安装Bench之前,您需要为Bench添加用户。
首先,使用以下命令创建一个Bench用户:
sudo adduser bench
接下来,为替补用户提供sudo权限。
sudo usermod -aG sudo bench
接下来,使用Bench用户登录并使用以下命令克隆Bench存储库:
su - bench
git clone https://github.com/frappe/bench bench-repo
最后,使用pip命令安装Bench:
sudo pip install -e bench-repo
安装ERPNext
接下来,初始化安装了frappe框架的工作台目录。
bench init erpnext
接下来,将目录更改为erpnext并使用以下命令创建一个新的Frappe站点:
cd erpnext
bench new-site test.example.com
上述命令将要求提供MySQL root密码并要求您为管理员帐户设置新密码。 管理员密码稍后需要登录到管理员仪表板。
接下来,使用以下命令从Git存储库下载ERPNext安装文件:
bench get-app erpnext https://github.com/frappe/erpnext
接下来,在您新创建的网站上安装ERPNext。
bench --site test.example.com install-app erpnext
最后,使用以下命令启动Bench应用程序:
bench start
应用程序成功启动后,您应该看到以下输出:
13:40:10 system | redis_socketio.1 started (pid=2618) 13:40:10 system | worker_long.1 started (pid=2625) 13:40:10 system | watch.1 started (pid=2619) 13:40:10 system | redis_queue.1 started (pid=2626) 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.939 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:10 system | web.1 started (pid=2629) 13:40:11 system | schedule.1 started (pid=2634) 13:40:10 redis_socketio.1 | _._ 13:40:10 redis_socketio.1 | _.-``__ ''-._ 13:40:10 redis_socketio.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:10 redis_socketio.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:10 redis_socketio.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:10 redis_socketio.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 12000 13:40:10 redis_socketio.1 | | `-._ `._ / _.-' | PID: 2630 13:40:10 redis_socketio.1 | `-._ `-._ `-./ _.-' _.-' 13:40:10 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_socketio.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:10 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_socketio.1 | | `-._`-._ _.-'_.-' | 13:40:10 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_socketio.1 | `-._ `-.__.-' _.-' 13:40:10 redis_socketio.1 | `-._ _.-' 13:40:10 redis_socketio.1 | `-.__.-' 13:40:10 redis_socketio.1 | 13:40:11 system | worker_default.1 started (pid=2639) 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.973 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # Server started, Redis version 3.0.6 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.976 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:10 redis_queue.1 | _._ 13:40:10 redis_queue.1 | _.-``__ ''-._ 13:40:10 redis_queue.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:10 redis_queue.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:10 redis_queue.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:10 redis_queue.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 11000 13:40:10 redis_queue.1 | | `-._ `._ / _.-' | PID: 2635 13:40:10 redis_queue.1 | `-._ `-._ `-./ _.-' _.-' 13:40:10 redis_queue.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_queue.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:10 redis_queue.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_queue.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_queue.1 | | `-._`-._ _.-'_.-' | 13:40:10 redis_queue.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_queue.1 | `-._ `-.__.-' _.-' 13:40:10 redis_queue.1 | `-._ _.-' 13:40:10 redis_queue.1 | `-.__.-' 13:40:10 redis_queue.1 | 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.998 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.999 # Server started, Redis version 3.0.6 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.000 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:11 redis_socketio.1 | 2630:M 24 Feb 13:40:11.000 * The server is now ready to accept connections on port 12000 13:40:11 system | socketio.1 started (pid=2637) 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.029 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.029 * The server is now ready to accept connections on port 11000 13:40:11 system | redis_cache.1 started (pid=2652) 13:40:11 system | worker_short.1 started (pid=2651) 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.100 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:11 redis_cache.1 | _._ 13:40:11 redis_cache.1 | _.-``__ ''-._ 13:40:11 redis_cache.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:11 redis_cache.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:11 redis_cache.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:11 redis_cache.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 13000 13:40:11 redis_cache.1 | | `-._ `._ / _.-' | PID: 2660 13:40:11 redis_cache.1 | `-._ `-._ `-./ _.-' _.-' 13:40:11 redis_cache.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:11 redis_cache.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:11 redis_cache.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:11 redis_cache.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:11 redis_cache.1 | | `-._`-._ _.-'_.-' | 13:40:11 redis_cache.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:11 redis_cache.1 | `-._ `-.__.-' _.-' 13:40:11 redis_cache.1 | `-._ _.-' 13:40:11 redis_cache.1 | `-.__.-' 13:40:11 redis_cache.1 | 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # Server started, Redis version 3.0.6 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.116 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.116 * The server is now ready to accept connections on port 13000 13:40:16 socketio.1 | listening on *: 9000 13:40:34 worker_long.1 | 13:40:34 RQ worker u'rq:worker:Node1.2632.long' started, version 0.10.0 13:40:34 worker_long.1 | 13:40:34 *** Listening on long... 13:40:34 worker_long.1 | 13:40:34 Cleaning registries for queue: long 13:40:34 worker_default.1 | 13:40:34 RQ worker u'rq:worker:Node1.2646.default' started, version 0.10.0 13:40:34 worker_default.1 | 13:40:34 *** Listening on default... 13:40:34 worker_default.1 | 13:40:34 Cleaning registries for queue: default 13:40:34 worker_short.1 | 13:40:34 RQ worker u'rq:worker:Node1.2661.short' started, version 0.10.0 13:40:34 worker_short.1 | 13:40:34 *** Listening on short... 13:40:34 worker_short.1 | 13:40:34 Cleaning registries for queue: short 13:40:34 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
访问ERPNext Web界面
ERPNext现在已安装并在端口8000上运行。 现在是访问ERPNext Web Interface的时候了。
打开你的网页浏览器并输入URL http://test.exaple.com:8000 ,你将被重定向到以下页面:
在这里,提供您的管理员帐户凭证并单击登录按钮,您应该看到以下页面:
在这里,选择英文语言并点击下一步按钮,你应该看到以下页面:
在这里,选择你的国家,时区和货币,然后点击下一步按钮,你会看到以下页面:
在这里,提供您的姓名,电子邮件和密码,然后点击下一步按钮,您应该看到以下页面:
在这里,根据需要选择你的域名,然后点击下一步按钮,你会看到以下页面:
在这里,提供您的公司名称和缩写,然后点击下一步按钮,您应该看到以下页面:
在这里,提供您的组织详细信息并单击完整设置按钮,您应该看到以下页面:
在这里,设定你想为你的公司实现的目标,然后点击创建按钮,你会看到以下页面:
在这里,点击Next按钮继续,你应该看到以下页面:
在这里,添加您想要添加的客户,然后点击创建按钮,您应该看到以下页面:
在这里,点击Next按钮继续,你应该看到以下页面:
在这里,添加你想要添加的供应商,然后点击创建按钮,你会看到以下页面:
在这里,点击Next按钮继续,你应该看到以下页面:
在这里,添加您想要购买或出售的产品和服务,然后点击创建按钮,您应该看到以下页面:
在这里,点击Next按钮继续,你应该看到以下页面:
在这里,将用户添加到您的组织中,然后单击创建按钮,您应该会看到ERPNext仪表板的下一页:
结论
恭喜! 您已经在Debian 9服务器上成功安装并配置了ERPNext。 您现在可以轻松使用该应用程序来管理您的公司。 欲了解更多信息,请参阅Doc 。的官方ERPNext文档页面。