使用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的安装初始化,如遇到安装问题,请关注本社区可及时交流和讨论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】026基于微信小程序的原创音乐

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

MySQL触发器-插入-修改-删除和储存过程

1、商品表修改语句添加触发器,要求在修改商品售价时不允许上下浮动超过10%。 BEGINDECLARE old_price DECIMAL(10,2);DECLARE new_price DECIMAL(10,2);DECLARE price_change DECIMAL(10,2);-- 获取新旧价格SET old_price OLD.price;SET new_price NEW.price;-- …

Linux多进程和多线程(五)进程间通信-消息队列

多进程(五) 进程间通信 消息队列 ftok()函数创建消息队列 创建消息队列示例 msgctl 函数示例:在上⼀个示例的基础上,加上删除队列的代码 发送消息 示例: 接收消息示例 多进程(五) 进程间通信 消息队列 消息队列是一种进程间通信机制,它允许两个或多个…

LCD显示从电路IC 到 驱动编写调试

文章目录 LCD驱动电路IC简述Panel 模块驱动图示含义接口与连接 Panel内部驱动驱动原理框图TCON(Timing Controller):时序控制器。一、控制屏幕时序与信号驱动二、提升图像质量三、接口支持与兼容性四、市场应用广泛 Gate控制信号工作时序Source Driver IC原理框图 LCD驱动应该怎…

JAVA—图形化“登录,注册”界面

前言:学习了一段时间JAVA的swing组件,心血来潮写了一个登录,注册界面。 知道大伙喜欢美女,所以把用户登录界面背景设置成了beauty! 所用知识基本上都属于swing组件: javax.siwng.JFrame; //窗体类 javax.sw…

【第四套】华为 2024 年校招-硬件电源岗

1、 其他参数不变,当 LLC 谐振电路的 Lm 增⼤时,描述错误的是 A.⼯作频率范围变⼩ B.关断电流减⼩ C.关断损耗减⼩ D.谐振电感减⼩ 2、 五类双绞线带宽可达 A. 10MHZ B. 20 MHZ C. 1GHZ D. 100MHZ 3、 当⽇照条件达到⼀定程度时,太阳能电池由于⽇照的变化⽽引起较明…

MyBatis 插入数据库生成id问题

核心代码 Mapper配置文件 <!-- 批量插入标签并返回主键 --> <insert id"insertBatch" parameterType"list" useGeneratedKeys"true" keyProperty"tagId">INSERT INTO tag (label)VALUES<foreach collection"lis…

c++习题08-计算星期几

目录 一&#xff0c;问题 二&#xff0c;思路 三&#xff0c;代码 一&#xff0c;问题 二&#xff0c;思路 首先&#xff0c;需要注意到的是3^2000这个数值很大&#xff0c;已经远远超过了long long 数据类型能够表示的范围&#xff0c;如果想要使用指定的数据类型来保存…

14-18 2024 年影响企业 GenAI 的关键技术趋势

现在&#xff0c;大多数 .com 公司已于 2023 年更名为 .ai&#xff0c;那么价值万亿美元的问题是&#xff1a;接下来会发生什么&#xff1f;哪些关键障碍、工具、技术和方法将重塑格局 企业 AI 的不同之处在于&#xff0c;它专注于可衡量、可管理的输出&#xff0c;企业可以控…

Docker容器基础:Docker的安装与基本使用

Docker容器基础&#xff1a;Docker的安装与基本使用 前言 Docker是一种开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。本文将介绍Docker的安装…

前端Web开发HTML5+CSS3+移动web视频教程 Day4 CSS 第2天

P44 - P 四个知识点&#xff1a; 复合选择器 CSS特性 背景属性 显示模式 复合选择器 复合选择器仍然是选择器&#xff0c;只要是选择器&#xff0c;作用就是找标签。复合选择器就是把基础选择器进行组合使用。组合了之后就可以在大量的标签里面更快更精准地找标签了。找…

redis实现简单分布式锁

1.redisTemplate实现简单分布式锁 AutowiredRedisTemplate redisTemplate;/*** redis分布式锁演示案例&#xff0c;此处使用redisTemplate* param stockId 此处以扣减库存为例子&#xff0c;stockId代表要扣减库存的商品id,库存数据是提前存在redis的&#xff0c;并和数据库进…

Qt中线程的使用

目录 1 .QThread重要信号和函数 1.1 常用共用成员函数 1.2信号和槽函数 1.3静态函数 1.4 任务处理函数 2.关于QThread的依附问题&#xff1a; 3.关于connect连接 4.QThread的使用 5.线程池QThreadPool 5.1. 线程池的原理 5.2&#xff0e;QRunable类 5.3. QThreadPoo…

Java8新特性常见用法

Java8新特性 示例类Stream API 使用示例forEach:遍历Stream:创建流map:转换元素filter:过滤元素collect(收集元素) 和 Collectors(分组、连接)sorted 和 comparing(搭配排序)toMap:转换Map元素collectingAndThen:过滤掉相同数据toUpperCase:转大写distinct:去重c…

安装维修制氮设备的注意指南

制氮设备在许多工业领域都发挥着重要作用&#xff0c;无论是确保生产过程中的氮气供应&#xff0c;还是维持设备的稳定运行&#xff0c;正确的安装和维修都是关键。以下是一些重要的注意事项&#xff0c;帮助您顺利完成制氮设备的安装与维修工作。 一、安装注意事项 (一)选址与…

独孤思维:你自己都不相信的副业,怎么能赚钱

要明白&#xff0c;你做副业的目的是什么&#xff1f; 如果你打心眼里&#xff0c;看不上这个项目&#xff0c;或者心不甘情不愿的被动推进项目的实操。 那么我建议你直接放弃。 不要不情愿地去做。 不要当成任务去完成。 如果抱着这份心态去做副业。 你的副业&#xff0…

VUE自定义新增、复制、删除dom元素

功能需求&#xff0c;能灵活新增或删除一个dom元素&#xff0c;在此dom元素中还存在能灵活新增、删除的dom元素。实现后功能图如下&#xff1a; 点击新增策略&#xff0c;能新增整个策略dom 实现思路&#xff1a;定义一个数量和一个数组&#xff0c;然后使用循环遍历展示内容&a…

一种特殊的二叉树 哈夫曼树(Huffman Tree)

哈夫曼树(Huffman Tree)是一种特殊的二叉树,它在信息编码领域有着广泛的应用,特别是在数据压缩技术中。下面我将通过图文结合的方式,详细介绍哈夫曼树的概念、构建方法以及应用场景。 哈夫曼树的概念 哈夫曼树是一种特殊的二叉树,由David Huffman于1952年提出。它主要用…

将iStoreOS部署到VMware ESXi变成路由器

正文共&#xff1a;888 字 19 图&#xff0c;预估阅读时间&#xff1a;1 分钟 前面把iStoreOS部署到了VMware workstation上&#xff08;将iStoreOS部署到VMware Workstation&#xff09;。如果想把iStoreOS直接部署到ESXi上&#xff0c;你会发现转换镜像不能直接生成OVF或者OV…

React Navigation 和 Expo Router

React Navigation 是 React Native 社区最常用的导航库&#xff0c;其具有高度可定制性且性能良好的特性。它提供了一系列导航器&#xff08;如堆栈导航器、标签导航器、抽屉导航器等&#xff09;&#xff0c;可以满足绝大多数的页面导航需求。 Expo Router 是 Expo 官方最新发…