在阿里云上部署ERPNext

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: ERPNext是一款开源ERP软件,由Rushabh Mehta于2010年创建,它包含了会计、库存、制造、CRM、销售、采购、项目管理,及人事管理等多个功能模块。本文主要介绍如何在阿里云上部署ERPNext。

快速体验

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

1.官网注册Demo账号
2.官网下载虚拟机镜像
3.官网提供的快速安装脚本

手动安装

安装环境

  • 硬件配置: 推荐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
目录
相关文章
|
5天前
|
Java 关系型数据库 MySQL
保姆级教程——将springboot项目部署到阿里云服务器包含环境配置(小白包会)
本文档详细介绍了将SpringBoot项目部署到阿里云服务器的步骤。首先,通过Xshell连接服务器,使用公网IP地址。接着,下载JDK的Linux版本,使用XFTP上传并解压,配置环境变量。然后,安装MySQL 5.7,包括下载YUM源、安装、启动服务以及修改root密码和开启远程访问。最后,将SpringBoot项目打包成jar,上传至服务器,使用`java -jar`命令运行,通过`nohup`确保服务持续运行。配置安全组以允许远程访问。
|
9天前
|
弹性计算 运维 数据安全/隐私保护
【雾锁王国开服】阿里云一键部署雾锁王国联机服务器详细教程
阿里云提供雾锁王国服务器搭建教程,借助计算巢服务,用户可在3分钟内创建Enshrouded游戏服务器。8核32G服务器1个月109元,3个月327元;4核16G10M带宽1个月30元,3个月90元。需先注册并实名认证阿里云账号,然后通过傻瓜式一键部署入口进行购买和设置,包括地域、购买时长、服务器参数等。部署完成后,分享服务器信息给游戏伙伴,即可开始游戏。详细教程和更多配置信息可在阿里云ECS产品页查看。
28 0
|
16天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
233 0
|
16天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在使用阿里云函数计算部署网站时,网站打开不稳定如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
188 1
|
16天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之阿里函数计算中。将本地电脑上的项目文件部署到阿里云函数计算(FC)上并实现对外提供API和WebUI如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
36 1
|
16天前
|
运维 NoSQL Java
Serverless 应用引擎产品使用之在函数计算上部署Java服务并访问阿里云MongoDB如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
16 0
|
16天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中使用Docker进行部署函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
28 0
|
16天前
|
运维 IDE Serverless
Serverless 应用引擎产品使用之阿里函数计算中,阿里云容器镜像服务(Container Registry)中创建自定义镜像,然后将其部署到FC上如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
29 0
|
16天前
|
运维 Serverless Go
Serverless 应用引擎产品使用之在阿里云函数计算中c++模板,将编译好的C++程序放进去部署如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
12 1
|
26天前
|
关系型数据库 MySQL Java
阿里云服务器搭建部署JavaWeb环境
以下是内容的摘要: 本文介绍了在阿里云上部署云服务器并配置Tomcat、JDK和MySQL的步骤。首先,需要注册阿里云账号并进行实名认证,然后选择合适的服务器配置并购买。接着,通过XShell和Xftp连接并上传Tomcat和JDK安装包到服务器,解压并配置环境变量。确保8080端口开放,并启动Tomcat。对于MySQL的安装,包括下载安装包、设置开机启动、修改密码、授权远程登录以及将本地数据库迁移至云服务器。最后,文章总结了整个过程并预告了后续关于项目部署的内容。