在阿里云上部署ERPNext-阿里云开发者社区

开发者社区> 开发与运维> 正文

在阿里云上部署ERPNext

简介: 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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章