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.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Docker 安装 ERPNext 可以让您更方便地管理和部署 ERPNext 应用。以下是使用 Docker 安装 ERPNext 的步骤: 1. 安装 Docker 和 Docker Compose。具体安装方法可以参考 Docker 官方文档(https://docs.docker.com/get-docker/)。 2. 创建一个新的文件夹,例如 `erpnext`,并在该文件夹中创建一个名为 `docker-compose.yml` 的文件。 3. 在 `docker-compose.yml` 文件中输入以下内容: ``` version: '3' services: erpnext: image: frappe/erpnext-worker:stable ports: - '80:80' environment: - "ERPNEXT_VERSION=version-13" - "MYSQL_ROOT_PASSWORD=<your_password>" - "MYSQL_DATABASE=<your_database_name>" - "MARIADB_HOST=db" - "REDIS_CACHE_URL=redis-cache:6379/0" - "REDIS_QUEUE_URL=redis-queue:6379/0" - "REDIS_SOCKETIO_URL=redis-socketio:6379/0" volumes: - ./sites/common/site_config.json:/home/frappe/frappe-bench/sites/common/site_config.json - ./sites/<your_site_name>:/home/frappe/frappe-bench/sites/<your_site_name> depends_on: - db - redis-cache - redis-queue - redis-socketio db: image: mariadb:10.3 environment: - "MYSQL_ROOT_PASSWORD=<your_password>" - "MYSQL_DATABASE=<your_database_name>" redis-cache: image: redis:latest redis-queue: image: redis:latest redis-socketio: image: redis:latest ``` 其中 `<your_password>` 和 `<your_database_name>` 应该替换为您自己的密码和数据库名,`<your_site_name>` 应该替换为您自己的站点名。 4. 在 `erpnext` 文件夹中创建一个名为 `sites` 的文件夹。 5. 在 `sites` 文件夹中创建一个名为 `<your_site_name>` 的文件夹,其中 `<your_site_name>` 应该替换为您自己的站点名。 6. 在 `<your_site_name>` 文件夹中创建一个名为 `site_config.json` 的文件,并输入以下内容: ``` { "db_name": "<your_database_name>", "db_password": "<your_password>", "encryption_key": "<your_encryption_key>" } ``` 其中 `<your_database_name>` 和 `<your_password>` 应该替换为您自己的数据库名和密码,`<your_encryption_key>` 应该替换为一个随机的字符串,用于加密数据。 7. 在 `erpnext` 文件夹中打开命令行终端,输入以下命令来启动 ERPNext: ``` docker-compose up -d ``` 8. 等待一段时间后,您就可以通过浏览器访问 `http://localhost` 来访问 ERPNext 了。 以上是使用 Docker 安装 ERPNext 的步骤。需要注意的是,如果您遇到了任何问题,您可以参考官方文档或者在社区论坛上寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值