参考了安装文档/ERPNEXT v15安装指南.md · 笑熬浆糊/ERPNext相关文档 - Gitee.com
感谢大侠笑熬浆糊和《ERPNEXT 落地实施交流》群(群号756185211),帮助少走了很多弯路。
本人的Ubuntu server 22.04 LTS系统是全新安装的。
如果当前登录的是root用户,就请新建一个用于安装ERP的sudo用户。由于本人安装系统是创建了非root用户,所以这一步跳过。
adduser [frappe-user] usermod -aG sudo [frappe-user]
更新系统并重启系统,使用root用户。
apt update && apt upgrade -y && shutdown -r now
使用步骤1所建好的sudo用户,下载node.js
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
安装操作系统所需的各种依赖包
sudo apt install -y python3.10-dev python3-setuptools python3-pip python3-distutils python3.10-venv software-properties-common mariadb-server mariadb-client redis-server nodejs xvfb libfontconfig libmysqlclient-dev nginx git ansible pkg-config libcairo2-dev libjpeg-dev libgif-dev librsvg2-dev
将Python的pip源改成国内源,有助于后面安装frappe时提高速度和成功率。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ pip config set install.trusted-host mirrors.aliyun.com
接下来开始配置MariaDB,用nano编辑my.cnf文件。
sudo nano /etc/mysql/my.cnf
将光标移动到最后空白行,复制以下文本内容,粘贴后注意格式和换行要同下方,ctrl + X返回命令行,保存my.cnf。
[mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set = utf8mb4
重启sql
sudo service mysql restart
开始mysql的安全配置
sudo mysql_secure_installation
第一个输入数据库密码对话框出来的时候,直接敲回车代表没有密码,剩下的按照下面选择:
# 注:运行结果用 ··· 代替 Enter current password for root (enter for none): # 输入root(mysql)的密码,初次安装默认没有,直接回车 ... Switch to unix_socket authentication [Y/n] n # 是否切换到unix套接字身份验证[Y/n] ... Change the 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 # 是否禁止root远程登录,建议不开启 ... Remove test database and access to it? [Y/n] n # 是否删除test数据库,可以保留 ... Reload privilege tables now? [Y/n] y # 是否重新加载权限表,也可以直接回车 ... Thanks for using MariaDB! # 看到这句话证明设置成功
安装yarn
sudo npm install -g yarn #yarn config get registry查看源, 如果官方源请设置为以下国内源 本人尝试了多次,即使设置了国内的源,使用#yyarn config get registry,查看也确实是国内的,但是后续下载还是从国外的默认源下载,所以,最后没有修改registry。
查看版本,对照一下,这一步不做也行.
node -v && npm -v && python3 -V && pip3 -V && yarn -v
安装bench,即erpnext系统的命令行管理工具,类似windows系统的程序管理器。
sudo -H pip3 install frappe-bench
使用bench命令安装frappe框架。frappe-bench是安装frappe框架的目录名称。
bench init --frappe-branch version-15 frappe-bench --frappe-path=https://gitee.com/mirrors/frappe --verbose
再将安装的系统用户分配一下执行权限。
chmod -R o+rx /home/[frappe-user]/
进入bench目录
cd frappe-bench
新建站点,名字自己取,取代这里和后续命令行中的{sitename},安装时会提示输入数据库root账号的密码,新站点系统管理员账号administator(后续网页登录frappe时会用到) 密码,其中数据库root账号密码须与上述数据库安装时密码一致
bench new-site {sitename}
设置为生产环境,即用supervisorctl管理所有进程,使用nginx做反向代理。如果安装只是为了做开发,可以跳过这一步。
sudo bench setup production {frappe-user}
下载app
bench get-app --branch version-15 https://gitee.com/qinyanwan/payments bench get-app --branch version-15 erpnext https://gitee.com/mirrors/erpnext bench get-app https://gitee.com/qinyanwan/print_designer
通过修改redis的配置文件/etc/redis/redis.conf,修改redis-server的端口为11000,
建议先备份
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
用vi编辑redis.conf文件
sudo vi /etc/redis/redis.conf
找到 port 6379,如下图所示,改为11000
保存退出,再重启redis服务
sudo service redis restart
如果使用默认的6379,安装erpnext的时会出错,如下图所示
安装app,安装erpnext
bench --site {sitename} install-app payments bench --site {sitename} install-app erpnext bench --site {sitename} install-app print_designer
安装完后大概率erpnext还没运行起来,使用bench doctor 显示 workers online:0 可以通过重新运行了一边步骤16? sudo bench setup production {frappe-user},运行erpnext,这是网页就可以访问了,同样的,如果没开启生产环境,这一步也可以略过。
bench doctor
查看所需的app是否安装正确,可以用这个命令
bench version
最后解决可能存在PDF打印中文显示乱码所需要的工具
wget https://gitee.com/qinyanwan/erpnext/releases/download/v13.29.0/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
如果安装提示有缺少依赖的错误,执行下面命令。
sudo apt -f install
现在,我们可以检查wkhtmltopdf 库是否正确安装并确认是否为所需版本:
wkhtmltopdf –version
显示wkhtmltopdf 0.12.6 (with patched qt)即是正确版本
如导出PDF乱码,需要另外安装字体
sudo apt-get install ttf-wqy-zenhei -y sudo apt-get install ttf-wqy-microhei -y
其他
汉化、本地化请登录?则霖信息技术(深圳)有限公司 - 则霖信息技术(深圳)有限公司?按需安装相关APP。