使用Ubuntu 22.04安装Frappe-Bench【二】
系列文章目录
第一章 使用VMware创建Ubuntu 22.04【一】
文章目录
- 系列文章目录
- 前言
- 什么是Frappe-Bench?
- 使用安装ERPNext能实现什么效果? 官网给了一个说明
- 一、使用Ubuntu 22.04安装Frappe-Bench
- 一、安装要求
- 二、安装命令
- 三、 可能出现问题
- 总结
前言
什么是Frappe-Bench?
Frappe-Bench是一个开源的应用程序集成框架,用于开发和管理Web应用程序。它是Frappe框架的一部分,其中包含许多有用的工具和库,可以帮助开发人员快速构建和部署Web应用程序。Frappe-Bench的目标是简化应用程序开发的过程,并提供一种灵活的方式来管理和扩展应用程序。它提供了一个命令行界面,可以轻松地创建和管理应用程序,包括数据库管理、安装和管理依赖项等。总之,Frappe-Bench是一个强大的工具,用于创建、管理和扩展Web应用程序。
使用安装ERPNext能实现什么效果? 官网给了一个说明
官网跳转


提示:以下是本篇文章正文内容,下面提供安装Frappe基础环境
一、使用Ubuntu 22.04安装Frappe-Bench
一、安装要求
系统环境:Ubuntu 22.04
硬件: 2核4G (最低配)
安装要求:
版本14基础架构::
Node.js 14 or 16
MariaDB 10.6.6+版本15基础架构:
Node.js 18
MariaDB 10.6.6+Farppe 需要用到的版本:
Python 3.10 or Python 3.11
Redis 6 (缓存)
yarn 1.12+ (js 依赖管理)
pip 20+ (py 依赖管理)
wkhtmltopdf (version 0.12.5 with patched qt) (创建PDF)
cron (定时任务)
NGINX (接口代理转发)
二、安装命令
从桌面找到控制台(Terminal)打开后输入下方命令
1、新建管理员账号并切换
su
--输入管理员密码# 忘记密码,通过下方命令重置
sudo passwd#利用管理员新建一个ERP系统用户
adduser fra#我这里新建了个 fra的账号
user fra
passwd fra#将用户添加到sudo组 相当于赋予普通用户ROOT权限,不过运行其他命令前需要加sudo
usermod -aG sudo fra#切换管理员账户
su - fra
2、更新apt安装源,享受更快的下载速度和更稳定的软件包更新。
#进入目录 备份sources.list文件
cd /etc/apt
sudo cp -a sources.list sources.list.backup#浏览器打开下方链接,选择对应系统版本
#使用清华的源替换掉自带的信息
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/#使用gedit打开sources.list,粘贴上面的内容
sudo nano sources.list#保存和退出
ctrl + s 保存信息
ctrl + x 退出界面
3、设置DNS解析,防止系统出现无法解析软件源的域名
#编辑配置文件
sudo nano /etc/resolv.conf#加入解析地址
nameserver 8.8.8.8
nameserver 8.8.4.4#保存和退出
ctrl + s 保存信息
ctrl + x 退出界面
4、更新和升级服务器的一些依赖
sudo apt update -y && sudo apt upgrade -y && shutdown -r now#解读
apt update 更新本地包列表
apt upgrade -y 智能地处理与新版本包的依赖关系
shutdown -r now 重启机器#下方一条命令可忽略运行
sudo apt-get dis-upgrade -y 解决依赖性问题,尝试解决和移除。会造成文件依赖的破坏风险
5、Install ssh 如要远程连接的话,选择安装
sudo apt install openssh-server 安装过程中需要输入Y和回车即可
ip addr show 记录服务器IP可通过第三方软件进行远程连接
6、如要Vim的话,选择安装
sudo apt -y install vim 使用笔记本方便编辑记录
7、安装 curl 和node.js18
#下载curl 使用curl命令指定下载链接到本地存储库
sudo snap install curl
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -#安装node到系统
sudo apt-get install nodejs -y#Yarn NPM的包管理工具
sudo npm install -g yarn#查看版本node版本是否是18+
npm -v && node -v && yarn -v
8、安装对应软件
sudo apt install -y python3.10-dev python3-setuptools python3-pip python3-distutils virtualenv python3.10-venv software-properties-common mariadb-server mariadb-client redis-server xvfb libfontconfig wkhtmltopdf libmysqlclient-dev nginx cron wget ansible pkg-config libcairo2-dev libjpeg-dev libgif-dev librsvg2-dev ttf-wqy-zenhei ttf-wqy-microhei ca-certificates locales tzdata supervisor
9、配置MariaDB
#打开配置文件
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#保存和退出
ctrl + s 保存信息
ctrl + x 退出界面#配置数据库
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf[server]
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
bind-address = 127.0.0.1
query_cache_size = 16M
log_error = /var/log/mysql/error.log[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci#保存和退出
ctrl + s 保存信息
ctrl + x 退出界面#重启服务
sudo service mysql restart#运行命令打开配置信息
sudo mysql_secure_installation#配置过程
Enter current password for root (enter for none): # 输入(mysql)密码,初次安装默认没有,直接回车
Switch to unix_socket authentication [Y/n] n # 是否切换到unix套接字身份验证[Y/n]
Change the root password? [Y/n] y #是否设置root用户密码
New password: # 新密码
Re-enter new password: # 再次输入密码
Remove anonymous users? [Y/n] y # 是否删除匿名用户,建议删除
Disallow root login remotely? [Y/n] n # 是否禁止root远程登录,建议不开启
Remove test database and access to it? [Y/n] n # 是否删除test数据库,可以保留
Reload privilege tables now? [Y/n] y # 是否重新加载权限表,也可以直接回车
Thanks for using MariaDB! # 看到这句话证明设置成功
10、安装配置Python中pip 切换国内源
#先查看pip版本如果大于20+,则不需要运行升级命令
pip --version# 升级 pip 到最新的版本 -版本大于20+ 可忽略
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip#配置清华软件源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# root用户也更新一下pip源
sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
11、安装Frappe-Bench
#安装frappe-bench
sudo -H pip3 install frappe-bench#查看版本并确定是否安装成功
bench --version
12、初始化Frappe-Bench
#网络可能会超时 --默认源是github
bench init frappe-bench#或者使用国内源下载 --修改源为gitee
bench init --frappe-branch version-15 frappe-bench --frappe-path=https://gitee.com/mirrors/frappe --verbose #进入目录启动
cd frappe-bench/
bench start
三、 可能出现问题
1、在主机中无法正常复制内容到虚拟机
出现这种无法正常复制的问题一般是虚拟机中组件安装异常,需要手工卸载并安装
#卸载
sudo apt autoremove open-vm-tools#重新安装
sudo apt install open-vm-tools -y
sudo apt install open-vm-tools-desktop -y#查看是否安装成功
vmware-user
2、使用sudo apt update运行异常,“Temporary failure resolving ‘security.ubuntu.com’” 表示你的系统无法解析安全软件源的域名。
#编辑配置文件
sudo nano /etc/resolv.conf#加入解析地址
nameserver 8.8.8.8
nameserver 8.8.4.4
3、镜像源下载数据缓慢,切换数据源
#unbantu镜像源参考
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/#pip源参考
#国内几个站点如下:
https://pypi.douban.com/simple/ 豆瓣
http://mirrors.aliyun.com/pypi/simple/ 阿里
http://pypi.hustunique.com/simple/ 华中理工大学
http://pypi.sdutlinux.org/simple/ 山东理工大学
http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
https://pypi.tuna.tsinghua.edu.cn/simple/ 清华
总结
以上就是今天要介绍的内容,本文简单介绍了Frappe-Bench的安装初始化,如遇到安装问题,请关注本社区可及时交流和讨论
相关文章:
使用Ubuntu 22.04安装Frappe-Bench【二】
系列文章目录 第一章 使用VMware创建Ubuntu 22.04【一】 文章目录 系列文章目录前言什么是Frappe-Bench?使用安装ERPNext能实现什么效果? 官网给了一个说明 一、使用Ubuntu 22.04安装Frappe-Bench一、安装要求二、安装命令三、 可能出现问题 总结 前言 …...
MySQL增删改查
1.创建数据库: 使用CREATE DATABASE语句 CREATE DATABASE school;show databases; 列出MySQL数据库管理系统的数据库列表 2.切换数据库: 使用USE语句选择要操作的数据库 USE school;select database (); 当前所在库mysql> select…...
Java跳出循环的四种方式
1、continue,break,return continue:跳出当前层循环的当前语句,执行当前层循环的下一条语句。 continue标签 break:跳出当前层循环。 break标签:多层循环时,跳到具体某层循环。 return:结束所有循环…...
直播预告|飞思实验室暑期公益培训7月10日正式开启,报名从速!
01 培训背景 很荣幸地向大家宣布:卓翼飞思实验室将于7月10日正式开启为期两个月的暑期公益培训!本次培训为线上直播,由中南大学计算机学院特聘副教授,RflySim平台总研发负责人戴训华副教授主讲。 培训将基于“RflySim—智能无人…...
3-2 梯度与反向传播
3-2 梯度与反向传播 主目录点这里 梯度的含义 可以看到红色区域的变化率较大,梯度较大;绿色区域的变化率较小,梯度较小。 在二维情况下,梯度向量的方向指向函数增长最快的方向,而其大小表示增长的速率。 梯度的计算 …...
【qt】如何获取本机的IP地址?
需要用到这个类QHostInfo和pro里面添加network模块 用这个类的静态函数forName()来获取该主机名的信息 返回的就是这个类 这个QHostInfo类就包括主机的IP地址信息 用静态函数addresses()来获取 返回的是一个QHostAddress的容器 QList<QHostAddress>addrList hostIn…...
芯片的PPA-笔记
写在前面:这个仅记录自己对芯片PPA的一些思考,不一定正确,还请各位网友思辨的看待,欢迎大家谈谈自己的想法。 1 此次笔记的起因 记录的原因:自己在整理这段时间的功耗总结,又看到工艺对功耗的影响&#x…...
2024阿里巴巴全球数学竞赛决赛中的数列题解析(分析与方程方向第4题)
早点关注我,精彩不错过! 上周给大家聊了一道有LLM背景的阿里数赛题,详情请戳: 2023阿里巴巴全球数学竞赛决赛中的LLM背景题解析(应用与计算数学部分第2题) 看起来大家还比较喜欢看这种具体问题求解和思路分…...
学java的第3天 后端商城小程序工作
1.数据库的大坑 特殊字段名 ’我的图片表中有一个字段是描述我写成desc了,正好是mysql中的关键字 就不能使用了 2.后端编写 2.1可以把请求分开 在商品浏览页中 只显示商品的大致信息 当用户再点击其他按钮时在发出请求 2.2把请求合并 把数据整合到一起 利用ass…...
DevOps实战:使用GitLab+Jenkins+Kubernetes(k8s)建立CI_CD解决方案
一.系统环境 本文主要基于Kubernetes1.21.9和Linux操作系统CentOS7.4。 服务器版本docker软件版本Kubernetes(k8s)集群版本CPU架构CentOS Linux release 7.4.1708 (Core)Docker version 20.10.12v1.21.9x86_64CI/CD解决方案架构图:CI/CD解决方案架构图描述:程序员写好代码之…...
Apache Seata配置管理原理解析
本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 Apache Seata配置管理原理解析 说到Seata中的配置管理,大家可能会想到Seata中适配…...
深入理解C# log4Net日志框架:功能、使用方法与性能优势
文章目录 1、log4Net的主要特性2、log4Net框架详解配置日志级别 3、log4Net的使用示例4、性能优化与对比5、总结与展望 在软件开发过程中,日志记录是一个不可或缺的功能。它可以帮助开发者追踪错误、监控应用程序性能,以及进行调试。在C#生态系统中&…...
BDD 100K dataset 的标签数据结构(json文件)
最近在筛选自己需要的labels,所以要弄清楚这个数据集的数据结构才行: 1.整个json文件以列表形式储存 2.每张图片以一个字典形式储存 3.存储图片的字典内的以‘name’为key的键值对对应的‘value’是我需要的图片名称信息 4.存储图片的字典内的以‘label…...
AcWing 1550:完全二叉搜索树
【题目来源】https://www.acwing.com/problem/content/1552/【题目描述】二叉搜索树 (BST) 递归定义为具有以下属性的二叉树: (1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值 (2)若它的右…...
使用kali Linux启动盘轻松破解Windows电脑密码
破解分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。谢谢!! 效果展示: 使用kali Linux可以轻松破解Windows用户及密码 准备阶段: (…...
Vue2中跨组件共享公共属性的方法、优缺点与实现
一、vuex(最常用) 优缺点 优点:集中管理状态,组件间解耦,易于调试和测试。缺点:学习成本较高,对于小项目可能过于复杂。 适用场景 大型、复杂的单页面应用(SPA)。需要全局…...
2024亚太杯数学建模竞赛(B题)的全面解析
你是否在寻找数学建模比赛的突破点?数学建模进阶思路! 作为经验丰富的数学建模团队,我们将为你带来2024亚太杯数学建模竞赛(B题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过程和解…...
【PWN · ret2syscall | GoPwn】[2024CISCN · 华中赛区]go_note
一道GoPwn,此外便是ret2syscall的利用。然而过程有不小的曲折,参考 返璞归真 师傅的wp,堪堪完成了复现。复现过程中,师傅也灰常热情回答我菜菜的疑问,感谢!2024全国大学生信息安全竞赛(ciscn&am…...
关于学习方法的优化
这是一种新的学习方法,一种新的学习形式,可以通过歌唱的方式,运用,把自己每天要进行的内容进行一个复习,进行一个重复,这样可以实现随时随地进行一个学习,这样可以帮助快速走出来! 您…...
万界星空科技MES系统中的排版排产功能
在当今高度竞争的市场环境中,企业对于生产管理的效率和质量要求日益提高。作为智能制造的重要组成部分,制造执行系统(MES)以其强大的功能,在提升企业生产能力方面发挥着不可替代的作用。万界星空科技作为行业领先的智能…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架
1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...
简单介绍C++中 string与wstring
在C中,string和wstring是两种用于处理不同字符编码的字符串类型,分别基于char和wchar_t字符类型。以下是它们的详细说明和对比: 1. 基础定义 string 类型:std::string 字符类型:char(通常为8位)…...
