使用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…

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…

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

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

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

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

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

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

Qt中线程的使用

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

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

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

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

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

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

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

css+js实现导航栏色块跟随滑动+点击后增加样式

这篇文章,我给大家分享一个导航菜单的效果。用cssJS实现,效果如图: 本例实现效果:当鼠标移动到其他菜单项时,会有个背景色块跟随鼠标横向平滑移动。当鼠标点击后,被点击的菜单名称文字字体会加粗。 现在&…

《数字图像处理与机器视觉》案例四 基于分水岭算法的粘连物体的分割与计数

一、引言 分水岭算法(Watershed Algorithm),是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影…

SpringBoot 集成Swagger在线接口文档 接口注解

介绍 Swagger接口文档是一种自动生成、描述、调用和可视化的RESTful风格Web服务接口文档的工具。它通过一系列的规范和自动化工具&#xff0c;极大地简化了后端开发人员与前端开发人员之间的协作。 依赖 <!--swagger--> <dependency><groupId>io.springfo…

「媒体邀约」天津媒体资源?媒体邀约宣传报道

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传加速季&#xff0c;100万补贴享不停&#xff0c;一手媒体资源&#xff0c;全国100城线下落地执行。详情请联系胡老师。 天津拥有丰富的媒体资源&#xff0c;利用这些资源进行有效…

ICMP协议详解及尝试用ping和tracert捕抓ICMP报文

一、ICMP协议 1.1、定义 ICMP&#xff08;Internet Control Message Protocol&#xff0c;互联网控制消息协议&#xff09;是一个支持IP层数据完整性的协议&#xff0c;主要用于在IP主机、路由器之间传递控制消息。这些控制消息用于报告IP数据报在传输过程中的错误&#xff0c…

C++ 语法

一、头文件与源文件 头文件用于声明函数,类似于java中service层的接口; 源文件用于实现头文件函数,相当于java中serviceImpl层的实现类; 定义接口 实现接口 使用接口 二、指针概述 定义与使用 定义一个指针p用于存a变量的内存地址,即指针就是地址; 解引用可以获取或修改…

40岁以上的中年人很难找到工作

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 你们有没有发现&#xff0c;90%的40岁以上的中年人&#xff0c;为了多挣钱&#xff0c;几乎除了吃饭和睡觉之外&#xff0c;都在拼命加班劳作&#xff0c;只要一停下来&#xff0c;心里就有一种内疚感&#xff0c;…

【Elasticsearch】Elasticsearch动态映射与静态映射详解

文章目录 &#x1f4d1;前言一、Elasticsearch 映射概述1.1 什么是映射&#xff1f;1.2 映射的分类 二、动态映射2.1 动态映射的定义2.2 动态映射的优点2.3 动态映射的缺点2.4 动态映射的应用场景2.5 动态映射的配置示例 三、静态映射3.1 静态映射的定义3.2 静态映射的优点3.3 …

机器学习简介--NLP(二)

机器学习简介 机器学习简介机器学习例子机器学习分类有监督学习有监督学习的应用 无监督学习 机器学习常见概念数据集k折交叉验证过拟合欠拟合评价指标 机器学习简介 机器学习例子 问题&#xff1a; 2&#xff0c;4&#xff0c;6&#xff0c;8&#xff0c;&#xff1f;&#…