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/