最近在梳理公司团队的各项业务流程,需要一个工具来支持各项业务的执行及反馈。创业阶段没有什么预算资金,主要的打算是在开源系统中寻找,看了几个国内的系统,不是有各种限制就是完整度欠佳,随界面漂亮但无法安心用起来。深入测试了曝光度最高的Odoo,搭建了测试环境,联合各部门测试的时候发现无法应用,主要表现在操作不习惯,系统响应速度偏慢,个性化的需求不能满足。还有打着开源旗号的Odoo并不是全部开源,社区版开源但是无法满足实际需求,功能更全面的企业版又是收费的。好处就是文档齐全,国内集成商也多,在资金充足的情况下可以考虑。在查找资料时无意发现了ERPNext,完全开源,尤其是其强大到有些变态的权限系统,是一直在寻找在其他系统上一直布置如何实现的。
受制于国内网络限制,官方提供的一键安装方式在国内无法实现,只能采用手动安装的方式。载体选择了ubuntu20.4,在安装过程中经历一些波折,期间也发现了一些值得借鉴的参考文章,见结尾部分。
安装操作系统
我在虚拟机安装了最新版的ubuntu20.4 服务器版系统,我这里用的预设用户名为erpnext,密码erpnext
更换国内镜像源
受制于的国内网络现状,系统安装完成后将操作系统的软件源仓库替换为国内的镜像源,阿里、网易、华为什么的都可以,我用的清华的源,方法:
1、修改前要有好习惯,先做备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、修改仓库设置
sudo nano /etc/apt/sources.list
这里用了nano,用vi、vim或其他的也可以
3、替换为清华的源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
4、更新、重启
sudo apt update
sudo apt upgrade
sudo reboot
安装node.js
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
根据提示输入密码
安装依赖软件包
sudo apt install -y nodejs mariadb-server redis-server python3-pip nginx python3-testresources
配置数据库
1、打开数据库配置
sudo nano /etc/mysql/my.cnf
同上这里用了nano,用vi、vim或其他的也可以
2、添加如下配置信息
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
3、重启数据库用于加载新的配置
sudo service mysql restart
4、初始化数据库
执行下面的指令开始配置数据库,这是mysql的安全配置,数据库安装后默认没有密码,直接敲回车代表即可,
sudo mysql_secure_installation
按照提示完成设置
Set root password? [Y/n] Y #是否设置root密码
New password: #输入数据库密码
Re-enter new password: #重复输入数据库密码
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
配置数据表
输入下面的指令
sudo mysql -u root -p
输入上一步设置的密码,依次执行以下指令
USE mysql;
UPDATE user SET plugin=' ' WHERE user ='root';
FLUSH PRIVILEGES;
exit;
配置pip为国内镜像源
1、配置当前用户配置文件
mkdir ~/.pip
nano ~/.pip/pip.conf
进入编辑模式,我设置了中国科技大学的镜像源
[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple[install]
trusted-host= pypi.mirrors.ustc.edu.cn
2、配置root用户的配置文件
sudo mkdir /root/.pip
sudo cp ~/.pip/pip.conf /root/.pip
安装yarn
sudo npm install -g yarn
配置Yarn的源,我用了淘宝的源
yarn config set registry https://registry.npm.taobao.org
检验环境安装情况
通过查看版本来查看安装是否正确,也可不做
node -v && npm -v && python3 -V && pip3 -V && yarn -v
安装bench,即erpnext系统的命令行管理工具
sudo pip3 install frappe-bench
安装git
sudo apt install git
sudo pip3 install GitPython
NPM Python设置
#安装python2,npm需要
sudo apt install python2.7
#设置环境变量
sudo npm config set python /usr/bin/python2.7
安装frappe框架
bench init --frappe-branch version-13 --frappe-path=https://gitee.com/qinyanwan/frappe
版本后的frappe-bench可以改为任意名字,这里用了码云的镜像,github连接不稳
进入bench目录
cd frappe-bench(上一步指定的名字)
创建新站点
bench new-site newsite(站点名称)
下载ERPNext
bench get-app --branch version-13 https://gitee.com/qinyanwan/erpnext
安装ERPNext
bench install-app erpnext
设置为生产环境
sudo bench setup production 站点名(我上安装系统是设置的用户名,根据需要改成自己的)
启动应用
bench start
启动后即可通过http://IP:8000访问应用
supervisor报错
收到/var/run/supervisor.sock no such file
错误提示
# 配置服务
systemctl enable supervisor.service # 在此之前需要配置好服务
systemctl start supervisor.service
文章评论