1、OS:Ubuntu18.4
要求
Python 3.7+ (version 13) / Python 3.10+ (develop branch / v14+)
Node.js 14
Redis 6 (caching and realtime updates)
MariaDB 10.3.x / Postgres 9.5.x (to run database driven apps)
yarn 1.12+ (js dependency manager)
pip 20+ (py dependency manager)
wkhtmltopdf (version 0.12.5 with patched qt) (for pdf generation)
cron (bench's scheduled jobs: automated certificate renewal, scheduled backups)
NGINX (proxying multitenant sites in production)
2、安装
可以自行进行 国内源的更换,然后更新系统:
sudo apt-get update
sudo apt-get upgrade
sudo reboot
查看 python 版本
python -V
python3 -V // 查看 pyth 3的版本 我的是3.6 我会为了兼容性升级到3.10
pythone 升级
sudo add-apt-repository ppa:deadsnakes/ppa # 进行配置
sudo apt install python3.10 #安装
#设置优先级
# 执行目录 名字 实际目录 优先级
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
# 3.10 设置2的优先级
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
# 配置 3的选择模式,我选自动,也可以制定 手动
sudo update-alternatives --config python3
安装pip
pip 的安装方式有很多种,自行bing
sudo apt-get install python3-pip
这个安装不太好用
建议使用curl 安装 pip更高版本
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
安装pythone的依赖【便于你们复制哈哈哈】
sudo apt-get install --reinstall python3.10-dev
sudo apt-get install --reinstall python3.10-venv
sudo apt-get install --reinstall python3.10-distutils
sudo apt-get install --reinstall python3.10-lib2to3
sudo apt-get install --reinstall python3.10-gdbm
sudo apt-get install --reinstall python3.10-tk
如果遇到这个警告
WARNING: The scripts pip, pip3 and pip3.10 are installed in '/home/gyx/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
可以添加环境变量来解决,
vim /etc/profile
// 如果只修改当前用户的环境变量,则是`vim ~/.bashrc`
// 在文件的最后一行添加以下代码:
export PATH=$PATH:/usr/local/php/bin
// 规则和用法如第二条所说
如果遇到 No module named ‘apt_pkg’
增加链接指向来解决
@user:/usr/lib/python3/dist-packages$ ls -lt | grep apt_pkg
-rw-r--r-- 1 root root 346784 9月 4 2021 apt_pkg.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root 8900 9月 4 2021 apt_pkg.pyi
@user:/usr/lib/python3/dist-packages$ sudo ln -s apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so
如果遇到 AttributeError: module ‘collections’ has no attribute ‘MutableMapping’
是python3的多版本配置的问题,到/usr/bin 目录下:
sudo mv python3-config python3-config.bak
sudo ln -s python3.10-config python3-config
安装node.js
用二进制包更新Node.js是最不推荐的选项,但是如果这是您可以升级到最新Node.js版本的唯一方法,请遵循下面步骤。
进入Node的官方下载页面,在那里你可以找到所有可用的包。您可以在那里下载LTS版本或最新版本的源代码或预构建安装程序。
你可以从你的浏览器下载这个包,或者找到你需要的版本号,然后把它添加到wget命令中:
wget https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz
.接下来,安装用于提取二进制包的xz-utils:
sudo apt-get install xz-utils
使用以下命令解压并安装包:
sudo tar -C /usr/local --strip-components 1 -xJf node-v14.17.0-linux-x64.tar.xz
安装数据库(安装10.x以上的)
sudo apt-get install mariadb-server-10.3
sudo apt-get install mariadb-client-10.1
配置数据库
vim /etc/mysql/my.cnf
And add this configuration
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
安装数据库
sudo mysql_secure_installation
配置一下数据库服务的开启
sudo systemctl restart mariadb
sudo systemctl enable mariadb
安装 yarn
npm install -g yarn
安装 wkhtmltopdf
记住使用sudo
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
sudo apt-get install xvfb
sudo apt install wkhtmltopdf
sudo mv /usr/bin/wkhtmltopdf /usr/bin/wkhtmltopdf.sh
sudo mv /usr/bin/wkhtmltoimage /usr/bin/wkhtmltoimage.sh
echo 'exec xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf.sh "$@"' | sudo tee /usr/local/bin/wkhtmltopdf >/dev/null && sudo chmod a+x /usr/local/bin/wkhtmltopdf
echo 'exec xvfb-run -a -s "-screen 0 640x480x16" wkhtmltoimage.sh "$@"' | sudo tee /usr/local/bin/wkhtmltoimage >/dev/null && sudo chmod a+x /usr/local/bin/wkhtmltoimage
sudo apt install -y redis-server
sudo apt install -y nginx
sudo apt install -y python3-testresources
配置服务
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start redis-server
sudo systemctl enable redis-server
安装git
sudo apt install git
virtualenv用来创建独立的Python虚拟环境,可以将每个项目与其他项目独立开来,互不影响,解决了依赖包版本冲突的问题。
pip install virtualenv
利用 virtualenv [虚拟环境名称] 来创建虚拟Python环境,在虚拟环境里用pip安装的包都会安装到当前的虚拟环境中。
$ virtualenv 名字
如果系统里安装了不同的Python版本,可以使用--python来指定虚拟环境的python版本。
$ virtualenv --python /usr/local/webserver/python3.6/bin/python3.6 名字
默认情况下虚拟环境不会依赖系统环境的site-packages,如果想依赖系统环境的site-packages,可以使用--system-site-packages来设置。
$ virtualenv --system-site-packages cms
启动虚拟环境:activate
[...]$ source cms/bin/activate
(cms)[...]$
退出虚拟环境:deactivate
(cms)[...]$ deactivate
[...]$
virtualenvwrapper是virtualenv的扩展工具,可以方便的创建、删除、复制、切换不同的虚拟环境。
$ pip install virtualenvwrapper
virtualenvwrapper提供了如下命令来操作虚拟环境:
安装bench
pip3 install frappe-bench
bench --version
# output
5.2.1
创建文件夹
cd ~
bench init frappe-bench # 名字随意
这个不一定成功
这个才是正解。版本大家可以换一下 path路径自己可以换成自己想要git的路径
# 版本
bench init --frappe-branch version-13 frappe-bench --frappe-path=https://gitee.com/qinyanwan/frappe
后面出现一个文件夹 frapp-bench,
使用bench命令安装frappe框架,记得把frappe-bench(下方的version-13后面的名字)改成自己想要的名字,这一步时间比较长,别着急,代码库已经加了码云地址参数。如果网络超时失败,可重新运行该命令,重新运行之前需使用命令 rm -r myfrappe
删除之前生成的目录。
bench init --frappe-branch version-13 frappe-bench --frappe-path=https://gitee.com/phipsoft/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.
#删掉目录重来,还是会报,有时候报很多错,有时候报一个无法下载某个东东,但还是报成功
SUCCESS: Bench frappe-bench initialized
#如报错,sudo rm -r frappe-bench,重新装过,然后看运气会有成功的时候
进入bench目录,同样记得改名
cd frappe-bench
新建站点,名字自己取,安装时会提示输入数据库root账号的密码, 新站点数据库及erp系统管理员账号administator 密码,其中数据库root账号密码须与上述数据库安装时密码一致,其它密码自己取 --db-password xxx 也可以命令行参数中直接输入好密码,--mariadb-root-password yyyy --admin-password zzzz
bench new-site mysite
下载安装erpnext
bench get-app --branch version-13 erpnext https://gitee.com/phipsoft/erpnext
安装erpnext
bench install-app erpnext https://gitee.com/phipsoft/erpnext
设置为生产环境,即用supervisorctl管理所有进程,使用nginx做反向代理,USERNAME换成第3步新建的账号,大功告成。
sudo bench setup production USERNAME
安装完后可查看一下是否有活动的wokers
bench doctor
#正常情况下会显示如下:
-----Checking scheduler status-----
Scheduler disabled for erpnext
Scheduler inactive for erpnext
Workers online: 3
-----erpnext Jobs-----
以上完成后查看一下安装了哪些app
bench version
正常会显示以下三个app
ebclocal 0.0.1
erpnext 13.1.0
frappe 13.1.2
bench start
Congratulations, you have installed bench on to your system.