前言
在两年前,我开源了一个基于RBAC的管理后台(https://www.cnblogs.com/skychen1218/p/13053878.html),其文章主要讲述了如何设计一个初级的RBAC系统。然而,我把部署的步骤给漏了,其中也有不少的新手同行问我要部署流程。
正好,今天我向阿里云申请了一台免费的ECS 计算型c7的机子,也以此来写一篇文章把之前漏的部署步骤给补充起来。
源码地址:https://github.com/SkyChenSky/Sikiro.RBAC

技术栈
我开源的这套RBAC系统使用.Net 5和Mongodb结合开发的,将会部署到Centos 7上运行。
登录ECS
我通过申请免费的ECS,重置密码后,利用我自己常用的工具Termius登录Centos 7系统。


登录服务器后,就开始部署Mongodb和应用站点了,Mongodb我是以docker的方式安装的,所以首先的安装docke-ce
安装Docker-ce
1.升级系统软件
?yum upgrade -y
?
2.安装必要的一些系统工具
?sudo yum install -y yum-utils device-mapper-persistent-data lvm2
?
3.添加软件源信息
?yum-config-manager --add-repo https://
??mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
?
4.更新并安装 docker-ce
?yum makecache fast
?
?yum install docker-ce -y
?
5.启动服务
?systemctl daemon-reload
?
?systemctl restart docker
??
?

安装Mongodb
用Docker安装Mongodb
执行以下指令:
?docker run -d??-p 27017:27017? --name mongodb mongo:4.2?--auth
?
创建Mongodb管理员账号
添加账号
?docker exec -it 4abc1e6e12bd mongo admin
?
创建管理员用户
?use admin??
?
?db.createUser({ user: 'admin', pwd: '#oYP9D5pPz0DmZ7N', roles: [ { role: "root", db: "admin" } ] });
?
身份认证后,修改账户角色
?db.auth("admin","#oYP9D5pPz0DmZ7N");
?
?db.grantRolesToUser("admin", [ { role:"root", db: "admin"} ])
?
切换到业务库,并添加用户
?use rbac;
?
?db.createUser({ user: 'admin', pwd: '#oYP9D5pPz0DmZ7N', roles: [ { role: "readWrite", db: "rbac" } ] });
?
?db.grantRolesToUser("admin", [ { role:"readWrite", db: "rbac"} ])
?
?db.auth("admin","#oYP9D5pPz0DmZ7N");
?

添加基础业务数据
使用Robo 3T 工具,登录刚刚创建好的Mongodb,打开该页面(https://github.com/SkyChenSky/Sikiro.RBAC),把Administrator和Menu的数据通过Robo 3T添加到Mongodb里。

安装FTP服务器
?yum install -y vsftpd
?
修改配置
?vim /etc/vsftpd/vsftpd.conf
?
把已有的配置修改
?anonymous_enable=NO
?
?listen=YES
?
?#listen_ipv6=YES
?
允许root登录
vim /etc/vsftpd/user_list
vim /etc/vsftpd/ftpusers
注意把root注释掉:
#root
启动
?systemctl start vsftpd
?
?systemctl enable vsftpd
?
开放入站端口
FTP是使用21和20端口,5000是接下来RBAC系统使用的端口,我们一起添加到安全组

使用filezilla传输文件
输入ECS的账号和密码,选择【只是使用明文FTP】,点击连接,接下来就可以用FTP传输文件了。

开始部署Sikiro.RBAC应用
部署完成Mongodb后就完成了80%了,剩下就把站点编译后把对应的文件发布到Linux服务器。
执行以下命令:
?dotnet Sikiro.Web.Admin.dll --server.urls "http://172.18.52.19:5000
172.18.52.19是我自己ECS的内网地址,大家按照自己需要绑定即可。

登录RBAC系统
登录在之前添加Mongodb数据时已经设置好的默认账号 chengong/123456

文章到这里我们就部署成功了。