在阿里云上部署ERPNext

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 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月前
|
机器学习/深度学习 自然语言处理 Ubuntu
OpenVoice一键部署
OpenVoice一键部署
384 0
|
6月前
|
存储 Kubernetes 物联网
K3S完美部署
K3S完美部署
466 3
|
弹性计算 数据库 数据安全/隐私保护
通过ACR快速部署网站应用实践
本场景介绍如何在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
|
11月前
|
Kubernetes 网络协议 网络虚拟化
003_部署loadbalance
003_部署loadbalance
100 0
|
11月前
|
Kubernetes Cloud Native Docker
在 K8S 中部署一个应用 下
在 K8S 中部署一个应用 下
|
Python Perl
K3s部署
使用k3s部署python flask项目
K3s部署
|
NoSQL 网络协议 Oracle
umpServer部署及应用
umpServer部署及应用
343 0
VuePressBlog部署
VuePressBlog部署
404 0
VuePressBlog部署