一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
GO-OAM是基于Go语言开发的Web版运维资源管理系统,算是简版的CMDB,将各种难记的账号、密码、主机、文档、应用等资源管理起来,以项目方式整合。
使用GPL-2.0开源协议
GO-OAM是基于Go语言开发的Web版运维资源管理系统,算是简版的CMDB,将各种难记的账号、密码、主机、文档、应用等资源管理起来,以项目方式整合。
通过自定义账号类型账号可以增加动态属性,默认初始了微信/支付宝商户账号、微信公众号、小程序、数据库账号等类型。
后端:golang, beego
前端:jquery, easyui,tui-editor
数据库:mysql 或 sqlite
1、可选择下载编译好的安装包或自己在编译打包(需要go语言开发环境)
项目根目录下提供了一个打包脚本: build.bat, 脚本默认目标平台是linux. 如要打包windows加参数w,即: build.bat w
如果熟悉beego也可自定义打包命令,各平台打包命令如下(命令参数请参考beego):
linux环境:
bee pack -exp=screenshot:logs:.vscode:.git:README.md:tests -a=oam -be GOOS=linux -be GOARCH=amd64
编译后文件在源码要目录下:oam.tar.gz
windows环境:
bee pack -f=zip -exp=screenshot:logs:.vscode:.git:README.md:tests -a=oam -be GOOS=windows -be GOARCH=amd64
编译后文件在源码根目录下: oam.zip
2、解压安装包,创建数据库
数据库文件在data目录下,oam.db为sqlite文件, oam_mysql.sql为mysql脚本
3、修改配置
配置文件conf/app.conf主要配置项说明:
httpport = 8848 # 端口号
runmode = dev # 当前使用环境,对应下面的[dev/prod]章节不同
...
dbtype=mysql # 使用的数据库类型:mysql 或sqllite
dbname = "oam" # 数据库名称(sqlite是文件名)
...
#下面是不同环境的配置变量,主要是数据库信息,其他可以不动
[dev]
debug = "true"
dbuser = "user"
dbpasswd = "123"
dbaddr = "10.18.203.94"
store_path=
[prod]
debug = "false"
dbuser = "user"
dbpasswd = "123"
dbaddr = "10.18.203.32"
store_path=
4、Linux下启动
需要给oam文件执行权限: chmod +x oam
启动命令: ./oam
后台运行: nohup ./oam >>nohup.out 2>&1 &
启动后浏览器打开http://localhost:8848, 默认登录用户:root 密码:2022@00
5、密钥问题
系统有两种密钥RSA和AES, RSA密钥文件放在conf目录,pri.pem为私钥文件,pub.pem为公钥文件,安全起见应自己生成密钥文件然后替换
AES密钥会在系统运行第一次自动生成
密钥生成后不修改,否则会导致已加密的数据解密失败
6、sqlite3使用问题
使用sqlite数据库时,由于使用的是go-sqlite3驱动,该驱动使用了gcc需要开启CGO_ENABLED才能编译成功,如下:
go env -w CGO_ENABLED=1
访问一飞开源:https://code.exmay.com/