安装过程参考下面链接的前面安装部分 1-10
Ubuntu 20.04 live server版安装(详细版) - 运维密码 - 博客园 (cnblogs.com)https://www.cnblogs.com/mefj/p/14964416.html
安装好ubuntu20.04 后,使用putty,xshell等远程登录到ubuntu,然后使用安装过程中设置的用户名和密码。
sudo passwd root
ubuntu20 默认不允许root 用户通过ssh登录,由于这个安装过程,root 用户只需要使用一次,所以跳过了这一步,直接使用安装用户,然后sudo su 切换到root 用户。
vim /etc/ssh/sshd_config
按i,移动光标到以下内容修改:w
#Port 22
改为
Port 22
#PermitRootLogin prohibit-password
改为
PermitRootLogin yes
修改好按 ESC, shift+:,输入wq回车
重启服务
/etc/init.d/ssh restart
apt update && apt upgrade -y && shutdown -r now
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
#有时候运行完没反应,直接跳回命令输入,这时候要再运行到出现以下提示
## Installing the NodeSource Node.js 12.x repo...
apt install -y nodejs mariadb-server-10.3 redis-server python3-pip nginx python3-testresources
#最新的10.5版本的Mariadb数据库安装后会报错,需要更改默认的数据库引擎。建议10.3版本。——来自Jason Zhang的文档,所以我这里又在Mariadb后面加上了个版本号
nano /etc/mysql/my.cnf
将光标移动到最后空白行,复制以下文本内容,ctrl + O,回车确认,ctrl + X返回命令行
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
service mysql restart
mysql_secure_installation
第一个输入数据库密码对话框出来的时候,直接敲回车代表没有密码,剩下的按照下面选择:
Enter current password for root (enter for none):
#这里直接回车
Set root password? [Y/n] Y
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
mysql -u root -p
输入上面新设置的数据库root账号密码,进入数据库命令行,并执行下面的语句
USE mysql;
UPDATE user SET plugin=' ' WHERE user ='root';
FLUSH PRIVILEGES;
exit;
sudo npm install -g yarn
#保险起见,还需要将刚刚的yarn,node,npm添加运行权限。 sudo chmod +x /usr/bin/node。 默认有运行权限。——Jason Zhang
node -v && npm -v && python3 -V && pip3 -V && yarn -v
sudo pip3 install frappe-bench
安装过程可能出现 卸载Jinja2 失败,可以不管它
记得把frappe-bench(下方的version-13后面的名字)改成自己想要的名字,这一步时间比较长,别着急,代码库已经加了码云地址参数。如果过程中出现错误,CTRL+C 结束,不要回滚,可重新运行该命令,重新运行之前需使用命令 `rm -r frappe-bench` 删除之前生成的目录,使用ls,确保删除成功。
bench init --frappe-branch version-13 frappe-bench --frappe-path=https://gitee.com/mirrors/frappe
#下面这段是警告说pip有新版本,可忽略
WARNING: You are using pip version 21.0.1; however, version 21.1 is available.
You should consider upgrading via the '/home/frappe/frappe-bench/env/bin/python -m pip install --upgrade pip' command.
cd frappe-bench
名字自己取,安装时会提示输入数据库root账号的密码, 新站点数据库及erp系统管理员账号administator 密码,其中数据库root账号密码须与上述数据库安装时密码一致,其它密码自己取 --db-password xxx 也可以命令行参数中直接输入好密码,--mariadb-root-password yyyy --admin-password zzzz
bench new-site mysite
#新建的站点名为mysite
bench get-app --branch version-13 https://gitee.com/mirrors/erpnext
bench install-app erpnext
即用supervisorctl管理所有进程,使用nginx做反向代理,USERNAME换成“新建的账号“,大功告成
sudo bench setup production USERNAME
提示这个 Do you want to continue? [y/N]: y 请输入 Y,回车
#重要:设置成生产环境后,不用执行bench start进行启动!
bench doctor
#正常情况下会显示如下:
-----Checking scheduler status-----
Scheduler disabled for erpnext
Scheduler inactive for erpnext
Workers online: 3
-----erpnext Jobs-----
但是我安装过程中,因为步骤20出现一些错误,所以这个命令输入后提示以下错误
我重新运行了步骤20,如下图,会提示一些应用已经安装是否覆盖,我都选择了Y。
再次运行 bench doctor ,就正常了
bench version
正常会显示以下两个app
erpnext 13.x.x
frappe 13.x.x
sudo ufw allow 80
sudo ufw status verbose
#打开后显示如下:
root@erpnext:~# ufw allow 80
Rule added
Rule added (v6)
root@erpnext:~# sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
22 ALLOW IN Anywhere
80 ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
22 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
bench get-app https://gitee.com/yuzelin/erpnext_chinese.git
bench install-app erpnext_chinese
用浏览器(推荐 Chrome或Firefox)输入IP或域名,登录系统,用户名administrator,密码是第17步admin-password密码。
curl -s https://install.zerotier.com | sudo bash
sudo zerotier-cli join 你的network ID