网络编程与渗透技术笔记

规则之树RuleApi搭建教程

红帝
1年前发布

RuleApi是一款Java语言开发的API程序,用于快速构筑自己的社区,文章博客,资源论坛等后端API。它起源于国产开源程序Typecho数据库,并支持与Typecho网站对接,但目前已经支持独立运行。
目前快捷安装是通过Linux下一键脚本实现环境和程序的安装,但RuleApi作为Springboot框架开发的程序,理论上可以在所有支持java环境的操作系统中运行。如果你使用的是CentOS系统,则可以继续阅读此文档完成安装,如果是其它操作系统,请阅读手动安装的文章。

请勿将本程序用于诈骗、色情、赌博、木马、病毒等违法行为,如有违反该条例,我们将配合公安机关追究法律责任!目前将响应相关法律政策,逐步加入API封禁机制,违法违规站点将直接永久禁用API,届时将无法使用,无法安装。

请认真看完所有的叙述,不要只看一半教程就开始操作,出错了又来说有Bug!
教程开始

第一步:前期准备部分

服务器配置要求
最低配置:1核CPU 700M运行内存
推荐配置:2核CPU 2G运行内存
系统要求:CentOS7.X&Ubuntu,建议可以安装好宝塔面板(方便管理)
前置要求
1.Typecho(1.0 or 1.1 or 1.2):可选择不安装。Typecho是一款国内有名的个人博客开源程序,拥有丰富的模板和插件生态。
2.Redis(5.0-7.0):推荐6.0,Redis是现在最受欢迎的NoSQL数据库之一。
3.Mysql(5.5-5.7):推荐5.6
4.准备一个域名用于访问RuleApi
Typecho
Typecho是一款php语言开发的国产开源程序,RuleApi起源于Typecho,并完美支持Typecho数据库。如果你需要额外的网页访问端,则可以先安装Typecho。如果你不需要,则直接跳过这里,进入下面的步骤。

请不要做如下操作
请不要在服务器自己安装Java环境和tomcat!!!!!!,这将直接导致API安装后无法运行,并且造成后续的一系列问题,相当于五分钟的事情你非要画蛇添足变成一两个小时搞不定!!!!

第二步:执行安装脚本
首先,执行如下命令,进入服务器opt目录

cd /opt

对于Centos
执行下方RuleApi安装脚本,根据提示完成安装。

wget https://www.ruletree.club/api/ruleapi.sh && sh ruleapi.sh install

如果上述脚本执行出现网络错误,可选择备用节点

对于Ubuntu(测试状态)
执行下方RuleApi安装脚本,根据提示完成安装。

curl -O https://www.ruletree.club/api/ubuntu/ruleapi.sh && chmod +x ruleapi.sh && ./ruleapi.sh install

对于Debian(测试状态)
执行下方RuleApi安装脚本,根据提示完成安装。

curl -O https://www.ruletree.club/api/debian/ruleapi.sh && chmod +x ruleapi.sh && ./ruleapi.sh install

命令和填写范例如下:
请输入运行端口(输入8080或者其它端口,千万别80或者443):这里可以不填,或者填写不合其它应用冲突的端口
请输入数据库名:如果安装了Typecho,就填写和Typecho一致的数据库信息
请输入数据库用户名:如果安装了Typecho,就填写和Typecho一致的数据库信息
请输入数据库密码:如果安装了Typecho,就填写和Typecho一致的数据库信息
请输入redis密码(一般是空):
请输入系统管理密码(建议英文加数字):系统管理里面也叫做访问Key

第四步:外网访问
安装完成RuleApi后,需要外网访问才可以使用。所以,如果安装了宝塔面板,请新创建一个纯静态网站(不需要ftp,不需要数据库,只要纯静态并且分配单独的域名,一般是二级域名),配置SSL证书(主要提升安全性和后续方便),随后将如下代码放入这个新建网站的伪静态配置中。下方的代码实现了反向代理和跨域,同时8080请替换为你上个步骤设置的API端口,127.0.0.1这条请不要变更。

location ^~ / {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
  add_header 'Access-Control-Allow-Credentials' 'true';
  add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token';
  if ( $request_method = 'OPTIONS' ) { 
    return 200;
  }
  proxy_pass http://127.0.0.1:8080;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header REMOTE-HOST $remote_addr;
}

访问界面如下,随后请点击“安装及更新”按钮,输入你上个步骤设置的系统管理密钥,即可完成安装。如果你未安装Typecho,将会弹出提示框询问你是否需要独立安装。
screenshot-20230102-204919.png

到此,RuleApi安装完成,你使用的域名即为API接口地址。
第五步:API后续管理
注意,项目启动之后,运行日志将输出到/opt目录下out.txt文件,如果启动后出现异常或者无法访问,可以打开这个文件查看具体的原因。/opt/application.properties为主要的配置文件,如果出现安装脚本配置错误,项目无法正常启动,就可以在这个文件进行修改。
管理命令

启动RuleAPi

sh /opt/ruleapi.sh start

停止RuleAPi

sh /opt/ruleapi.sh stop

重启RuleAPi

sh /opt/ruleapi.sh restart

删除RuleAPi

sh /opt/ruleapi.sh uninstall

查看帮助信息

sh /opt/ruleapi.sh help 

更新和升级
通过如下指令可更新到最新正式版

sh /opt/ruleapi.sh update

通过如下指令可更新到内测版本(功能多,但可能存在未知问题)

sh /opt/ruleapi.sh updateBeta

开机自启和宕机自启
目前脚本已经添加了monitor监听方法,执行后将检测RuleAPI是否正常运行,如果未运行状态则执行启动命令。具体指令如下:

sh /opt/ruleapi.sh monitor

所以,只需要让这个命令几分钟执行一次,监听项目是否运行正常,未运行就开始运行,就可以实现开机自启和宕机自启,以宝塔面板为例,直接在计划任务中增加如下的任务即可,间隔可以3分钟到10分钟,这样开启或者宕机后几分钟内就会自行启动。
定时任务
1669351442.png

监控运行状态
1669351476.png
如何更新脚本本身?
这个一键脚本我是会一直维护更新的,如果你本地的版本已经落后或者存在问题,可以通过下方的链接下载最新的sh文件,然后上传到服务器的opt目录,这样就可以保持脚本版本的最新

旧版提示
直接安装最新版本的可无视下方内容,而通过旧版升级的请根据下方的提示进行修改。
1.对于2022/03/03之前安装RuleApi的用户`,如果使用的是本地上传接口,请将/opt/file:/opt/RuleApi.jar!/BOOT-INF/classes!下的static文件,移动到/opt/file/static中,如果没有就自己创建。2022/03/03之后安装的用户请无视。

2.对于从RuleApi1.3.0以下版本升级的用户,请修改opt目录下application.properties文件,找到如下代码:

logging.level.com.RuleApi.dao=DEBUG

改为

logging.level.com.RuleApi.dao=INFO
© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
取消
易航博客
SSL