erpnext---实战安装

1、OS:Ubuntu18.4

要求 

Pre-requisites

  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)

Linux

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

安装 redis-server

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

virtualenvwrapper是virtualenv的扩展工具,可以方便的创建、删除、复制、切换不同的虚拟环境。

$ pip install virtualenvwrapper

virtualenvwrapper提供了如下命令来操作虚拟环境:

  • 创建虚拟环境:mkvirtualenv [虚拟环境名称]
  • 列出虚拟环境:lsvirtualenv
  • 切换虚拟环境:workon [虚拟环境名称]
  • 查看当前环境安装了哪些包:lssitepackages
  • 进入当前环境的目录:cdvirtualenv [子目录名]
  • 进入当前环境的site-packages目录:cdsitepackages [子目录名]
  • 控制当前环境是否使用global site-packages:toggleglobalsitepackages
  • 复制虚拟环境:cpvirtualenv [source] [dest]
  • 退出虚拟环境:deactivate
  • 删除虚拟环境:rmvirtualenv [虚拟环境名称]

 安装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,

  1. 使用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,重新装过,然后看运气会有成功的时候
    
  2. 进入bench目录,同样记得改名

    cd frappe-bench
    
  3. 新建站点,名字自己取,安装时会提示输入数据库root账号的密码, 新站点数据库及erp系统管理员账号administator 密码,其中数据库root账号密码须与上述数据库安装时密码一致,其它密码自己取 --db-password xxx 也可以命令行参数中直接输入好密码,--mariadb-root-password yyyy --admin-password zzzz

    bench new-site mysite
    
  4. 下载安装erpnext

    bench get-app --branch version-13 erpnext https://gitee.com/phipsoft/erpnext
    
  5. 安装erpnext

    bench install-app erpnext https://gitee.com/phipsoft/erpnext
    
  6. 设置为生产环境,即用supervisorctl管理所有进程,使用nginx做反向代理,USERNAME换成第3步新建的账号,大功告成。

    sudo bench setup production USERNAME
    
  7. 安装完后可查看一下是否有活动的wokers

    bench doctor
    
    #正常情况下会显示如下:
    -----Checking scheduler status-----
    Scheduler disabled for erpnext
    Scheduler inactive for erpnext
    Workers online: 3
    -----erpnext Jobs-----
    
  8. 以上完成后查看一下安装了哪些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.

你可能感兴趣的:(erpnext,linux,ubuntu,运维)