磊语

安装ERPNext 14的一些记录

ERPNext,接触这个Open Source的ERP的原因在于不太喜欢Odoo,基本上打着免费游戏的旗号,装备全部都是靠买。坑有一些大。但是ERPNext的安装,一直感觉不是很友好。后来看到DigitalOcean有预设的,便想着在上面用预设的,结果要求居高

最后我还是成功了,这里我来分享下我成功的过程吧。

之后也会更新各种自己遇到的问题.

这里的是推荐使用Ubuntu 22.04 lts,内存大于等于2G. 我是使用Racknerd 3C3G的机子,性能是够的

我是在VPS上面安装的,先是用Root账户的登录。

sudo apt-get update -y
sudo apt-get upgrade -y

这里我们需要增加一个用户 frappe,你也可以修改为自己喜欢的用户名,并且中间需要提供用户密码

 adduser frappe
 usermod -aG sudo frappe 

然后退出Root,使用frappe登陆

su frappe
cd /home/frappe/

中间需要提供一下你的Mysql的密码,和管理员的默认密码。每一个密码输入两次。

下一步,就是安装git

sudo apt-get install git

紧接着就是安装python

sudo apt-get install python3-dev python3.10-dev python3-setuptools python3-pip python3-distutils

接下来安装 Python Virtual Environment

sudo apt-get install python3.10-venv

这时候,你可以用python3 -V 查看你的Python 是否是安装好了。

安装Software Properties Common

sudo apt-get install software-properties-common
sudo apt install cron

安装 MariaDB,这里会需要设置数据库的密码

sudo apt install mariadb-server mariadb-client

下面对MariaDB进行设置

sudo mysql_secure_installation
Enter current password for root(enter for none): 直接就回车

Switch to unix_socket authentication [Y/n]: Y

Change the root password? [Y/n]: Y
It will ask you to set new MySQL root password at this step. This can be different from the SSH root user password.

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n]: N
This is set as N because we might want to access the database from a remote server for using business analytics software like Metabase / PowerBI / Tableau, etc.

Remove test database and access to it? [Y/n]: Y

Reload privilege tables now? [Y/n]: Y

下面需要对my.cnf 文件进行编辑 然后重启Mysql 我这里使用Nano来编辑,你也可以用vim,选自己顺手的。

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

编辑好之后,退出并保存。然后重启。

sudo service mysql restart

下面就是安装 Redis

sudo apt-get install redis-server

下面就是Erpnext需要的PDF组件 wkhtmltopdf,和libmysqlclient

sudo apt-get install xvfb libfontconfig wkhtmltopdf
sudo apt-get install libmysqlclient-dev

安装 CURL和Node

sudo apt-get install curl 
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm install 16.15.0  

安装 NPM

sudo apt-get install npm

安装 Yarn

sudo npm install -g yarn

安装 frappe-bench

sudo pip3 install frappe-bench

初始化 Frappe Vench

bench init --frappe-branch version-14 frappe-bench

之后我们需要转换到 Frappe-bench的目录下面,并且确保下frappe目录下的权限

cd frappe-bench/
chmod -R o+rx /home/frappe

创建新的网站

bench new-site site1.local

下载你需要的程序,其中hrms 和 ecommerce_integrations 非必须

bench get-app payments
bench get-app --branch version-14 erpnext
bench get-app hrms
bench get-app ecommerce_integrations --branch main

初始化 the frappe bench 和安装 ErpNext

hrms 和 ecommerce_integrations 非必须,如果上一步没有下载,这里也就可以忽略

bench --site site1.local install-app erpnext
bench --site site1.local install-app hrms
bench --site site1.local install-app ecommerce_integrations

转换成应用模式

bench --site site1.local enable-scheduler
bench --site site1.local set-maintenance-mode off
sudo bench setup production frappe
bench setup nginx
sudo supervisorctl restart all
sudo bench setup production [frappe-user]

其他的各种问题:

WARN: bench is installed in editable mode!

This is not the recommended mode of installation for production. Instead, install the package from PyPI with: pip install frappe-bench

可以尝试,运行sudo supervisorctl status 看一下状态,如果没有任何回馈,就运行 bench start 如果可以运行的话,重新运行

sudo bench setup production [用户名]

2.出现提示

1.出现login page 第一次安装好,login page 没有显示。
Q:尝试使用 ctrl+shift+r,可以找到登陆界面

环境是Python 3.8,可能会有这个问题提示 TASK [bench : python3 bench init for production]

解决方案如下:

sudo pip3 uninstall setuptools
sudo pip3 install setuptools==59.6.0
sudo pip3 install -e /home/frappe/.bench/
Exit mobile version