在阿里云上部署ERPNext

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: ERPNext是一款开源ERP软件,由Rushabh Mehta于2010年创建,它包含了会计、库存、制造、CRM、销售、采购、项目管理,及人事管理等多个功能模块。本文主要介绍如何在阿里云上部署ERPNext。

快速体验

如果想快速体验ERPNext的界面及功能,有如下的方式,如果想自行安装,请继续往下看 @__手动安装__ 的部分:

1.官网下载虚拟机镜像
2.官网提供的快速安装脚本

手动安装

安装环境

  • 硬件配置: 推荐2CPU,4G内存以上(比较吃资源)
  • 操作系统: 本文采用Ubuntu 18.04 x64 作为服务器操作系统

系统依赖

安装git

sudo apt-get update
sudo apt-get install git
检查一下
git --version

安装python开发包

ERPNext基于Frappe开发,而Frappe对于Python最低版本的要求为2.7(系统默认会带), 而往上3.5以上的版本也支持:
Python 2.7.x:
sudo apt-get install python-dev
Python 3.x:
sudo apt-get install python3-dev
安装 setuptools 和 pip:
Python 2.7.x:
sudo apt-get install python-setuptools python-pip
Python 3.x:
sudo apt-get install python3-setuptools python3-pip
可以通过别名alias来让Python指向3.x:
alias python=python3
alias pip=pip3

安装MariaDB

安装Maria DB 10.3 stable版:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.ubuntu-tw.org/mirror/mariadb/repo/10.3/ubuntu xenial main'
sudo apt-get update
sudo apt-get install mariadb-server-10.3

安装客户端库 libmysqlclient-dev:
sudo apt-get install libmysqlclient-dev

编辑配置文件my.cnf:
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

重启mysql服务让配置文件修改生效:
sudo service mysql restart

安装Redis Server

sudo apt-get install redis-server

这里可能会有坑,需要编辑redis不使用ipv6

nano /etc/redis/redis.conf

- bind 127.0.0.1 ::1
+ bind 127.0.0.1
安装Nodejs 10.x

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

安装yarn

sudo npm install -g yarn

应用依赖

安装bench

bench是Frappe这个框架里面,站点(Sites)和应用(Apps)的容器和管理器,通过bench的命令行可以方便的管理基于Frappe的站点和应用

官方不推荐用root权限来执行bench命令,因此可以考虑专门创建一个系统账户

adduser {frappe-name-you-like}
usermod -aG sudo {frappe-name-you-like}

切换用户或者注销重新远程登录
sudo su {frappe-name-you-like}

安装bench
git clone https://github.com/frappe/bench
pip install -e ./bench

惯例测试一下
bench --version

初始化frappe

通过bench初始化frappe:
bench init --frappe-branch version-12 --python /usr/bin/python3 frappe-bench

切换到frappe环境目录
cd ~/frappe-bench

安装ERPNext

前面都是铺路,折腾了这么久,这里才正式开始安装ERPNext...

通过bench新建站点:
bench new-site site1.local
通过bench获取ERPNext应用:
bench get-app --branch version-12 erpnext
安装ERPNext应用:
./env/bin/pip3 install -e apps/erpnext/
将应用安装到前面新建的站点:
bench --site site1.local install-app erpnext

运行

如果一切顺利,这里就可以开始跑起来了:
bench start

这里也可能有坑,尝试运行一下 bench setup redis

采用Nginx作为Web容器

可以采用nginx来作为web容器:
安装nginx
sudo apt-get install nginx
生成nginx配置
bench setup nginx
移除原有配置
rm -f /etc/nginx/sites-enabled/*
创建软连接
sudo ln -s ./config/nginx.conf /etc/nginx/sites-enabled/frappe.conf
重启 nginx
sudo service nginx restart

引用

The Hitchhiker's Guide to Installing Frappe on Linux

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
关系型数据库 MySQL Java
Sakai-21部署
记录了两种部署方式: ① 二进制部署 ② 源文件部署
Sakai-21部署
|
1月前
|
人工智能 弹性计算 机器人
如何在阿里云一键部署FlowiseAI
FlowiseAI 是一款开源低代码开发工具,专为构建定制化的语言学习模型(LLM)应用设计。用户可通过拖放界面轻松创建和管理AI驱动的应用,如聊天机器人和数据分析工具。它基于LangChain框架,支持多种AI模型和数据库集成,实现高度定制化的流程自动化。在阿里云上,可以通过一键部署链接快速部署FlowiseAI,并通过简单的几步配置开始使用。详细操作步骤包括创建ECS实例、获取登录信息等。更多细节可见FlowiseAI官网。
|
5月前
|
敏捷开发 弹性计算 负载均衡
阿里云云效产品使用问题之如何将应用部署到部署组的某一台特定服务器上
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
机器学习/深度学习 自然语言处理 Ubuntu
OpenVoice一键部署
OpenVoice一键部署
408 0
|
6月前
|
存储 Kubernetes 物联网
K3S完美部署
K3S完美部署
490 3
|
11月前
|
Kubernetes 网络协议 网络虚拟化
003_部署loadbalance
003_部署loadbalance
102 0
|
11月前
|
Kubernetes Cloud Native Docker
在 K8S 中部署一个应用 下
在 K8S 中部署一个应用 下
|
11月前
|
Kubernetes 调度 Docker
在 K8S 中部署一个应用 上
在 K8S 中部署一个应用 上
|
Python Perl
K3s部署
使用k3s部署python flask项目
K3s部署
|
NoSQL 网络协议 Oracle
umpServer部署及应用
umpServer部署及应用
343 0