Linux
Kali 安装
Kali-WIFI密码(字典)
Armbian安装OMV(NAS)
NPS 内网穿透
CloudFlare
CloudFlare-免端口
CloudFlare-KV存储
API 使用
API-抓包信息使用
Linux-系统配置
Linux-更换源
Linux-一键更换源
Linux-权限
Linux-分区管理
Linux-网卡配置
Linux 端口转发
Linux 交换内存
Linux 进程优先级
Linux 共享打印机
Linux-自定义服务(支持Docker开机自启)
Linux-硬/软链接/挂载
Linux-系统时钟
Linux-清理命令记录
Linux-一键DD脚本
Linux-安装根证书
Linux-TheFuck(命令纠正)
Linux 服务器
Linux-面试鸭
Linux-Mall-Cook(商店可视化搭建)
Linux-Scratch
Linux-CasaOS(家庭云操作系统)
Linux-TiddlyWiki(非线性网页笔记)
Linux-拖拽式H5
Linux-鲁班H5
Linux-SSL证书续订
Linux-acme(SSL证书脚本)
SSL证书转换
SSL-httpsok
SSL-其它工具
Linux-LoveCards(表白墙)
Linux-游戏导航
Linux 常用命令
Linux-scp
Linux-打包/解压/压缩
Linux-SSH
Linux-portknocking(端口敲击)
Linux-获取当前公网IP
Linux-自动挂载盘
Linux-代理
Linux-nmap(局域网扫描)
Linux-jq(JSON处理)
Linux-DDNS(自制脚本)
Linux-shell传递参数
Linux-if(判断)
Linux-curl/wget
Linux-which(查看命令所在路径)
Linux-Maven
Linux-ncdu(清理日志)
Linux-共享
Linux-screen(终端切换)
Linux-Macchanger(MAC修改)
Linux-iptables(包过滤防火墙系统)
Linux-祸害人脚本
Linux-模拟网络延迟环境
Linux-Git
Linux-apt(安装软件)
Linux-crontab(定时任务)
Linux-nano/vi/vim 编辑器
Linux 环境安装
Linux 安装 Node.js
Node.js-创建通用执行
Linux 安装 Java
Linux 安装 Go
域名注册
MariaDB-相关操作
未测试开源项目
SQL 学习
SQL-常用指令
Ansible(自动化运维)
Zabbix(运维监控)
网络设备概述
备份概述
雷池WAF
Linux-新旧服务器同步rpm软件包
本文档使用 MrDoc 发布
-
+
首页
Linux-Scratch
Scratch 在线版 [Scratch 管理员手册](https://support.websoft9.com/docs/scratch/zh/) [Scratch-www](https://github.com/LLK/scratch-www) | [Scratch-gui](https://github.com/LLK/scratch-gui) ## [Teaching](https://github.com/open-scratch/teaching-open) 版 ### 下载 Teaching 源码 `git clone https://ghproxy.com/https://github.com/open-scratch/teaching-open.git` ### 安装环境 #### Nginx 参考文档: Docker——服务器搭建——[Docker-Nginx](https://nas.918178.xyz:10086/project-1/doc-240/) #### Redis 参考文档: Docker——服务器搭建——[Docker-Redis](https://nas.918178.xyz:10086/project-1/doc-242/) #### 安装 JAVA8 因用的是 群晖7.x 系统,官方已不再对 JAVA8 提供支持,所以我们需要手动安装 在[官网](https://www.oracle.com/java/technologies/downloads/#java8)下载对应版本的 JAVA8(一般linux x64),并上传到服务器中 ```bash tar -zxvf jdk-8u321-linux-x64.tar.gz #解压 rm -f jdk-8u321-linux-x64.tar.gz #随手删除压缩包 vim /etc/profile #配置环境变量 export JAVA_HOME=/volume1/nas/jdk1.8.0_321 #jdk安装目录,其他默认 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH} source /etc/profile #配置立即生效 javac #验证是否配置成功 ```  #### 安装 mvn 下载对应版本的 [mvn](https://mirrors.cnnic.cn/apache/maven/maven-3/3.8.5/binaries/),并上传到服务器 ```bash tar -zxvf apache-maven-3.8.5-bin.tar.gz #解压 rm -f apache-maven-3.8.5-bin.tar.gz #随手删除压缩包 vim /etc/profile #配置环境变量 export MAVEN_HOME=/volume1/nas/apache-maven-3.8.5 #nvm安装目录,其他不变 export PATH=$MAVEN_HOME/bin:$PATH source /etc/profile #配置立即生效 mvn -v #验证是否安装成功 ``` ##### 修改 mvn源 修改 `.../conf/settings.xml`,替换为 阿里源,比官方的要快很多 找到文件中原有的给注释,添加以下,注意 `<mirrors>` 标签如果没禁用需要删除 ```xml <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>*,!jeecg,!jeecg-snapshots,!getui-nexus</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors> ``` ### 数据库配置 设置 MariaDB 数据库表名忽略大小写 ``` mysql -uroot -p #登录mysql SHOW GLOBAL VARIABLES LIKE 'lower_case_table_names'; #查看是否启用忽略大小写,未启用 0,启用 1 ``` ```bash vi usr/local/mariadb10/etc/mysql/my.cnf #群晖是在这个位置 [mysqld] #在这个下面添加,没有就新建一个 lower_case_table_names=1 #设置为1 ``` 然后重启 MariaDB 服务,可以直接在套件中心停用再启用 ``` mysql -uroot -p #登录mysql create database teachingopen; #创建数据库 teachingopen use teachingopen; #选中 teachingopen 数据库 source /volume1/nas/teaching-open/api/db/teachingopen2.6.sql; #导入本地数据库 ``` ### 修改配置 修改 `.../api/jeecg-boot-module-system/src/main/resources/application.yml` 可以切换测试环境和线上环境,默认为线上 即使用 `application-prod.yml` ```bash domain: 您的站点域名 # 数据库连接配置 datasource: master: #这个地址中的 teachingopen 需要和数据库名称一致 url: jdbc:mysql://127.0.0.1:3306/teachingopen?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false username: teachingopen password: teachingopen #Redis连接配置 redis: database: 1 host: 127.0.0.1 #无密码就留空 password: '' port: 6379 #七牛配置,我使用的是本地,故跳过 #修改本地存储 jeecg: uploadType: local path : #文件上传根目录设置,需要提前新建好文件夹 upload: /volume1/nas/teaching-open/upFiles # 文件访问地址 staticDomain: /api/sys/common/static ``` ### 编译后端 在 `.../api` 下执行 ```bash mvn clean package #编译后端 ``` 编译完成后可以在 `.../api/jeecg-boot-module-system/target/teaching-open-xxx.jar`(xxx为版本号) 找到 #### 测试后端 把 `.../api/jeecg-boot-module-system/src/main/resources/application.yml` 复制到和 编译后生成的 .jar 文件同目录下 ```bash java -jar teaching-open-xxx.jar #测试运行 nohup java -jar teaching-open-xxx.jar & #后台运行 ```  正常运行后可以查看到这些信息 ### 修改前端配置 修改 `.../web/public/index.html` ```js # 使用七牛作为存储 window._CONFIG['qn_base'] = "//qn.open.teaching.vip/" //七牛域名 window._CONFIG['qn_area'] = 'z0' //七牛存储区域 z0华东 z1华北 z2华南 na0北美 as0东南亚 window._CONFIG['brandName'] = "Teaching" //品牌名 # 我比较喜欢使用本地的 window._CONFIG['defaultUploadType'] = 'local' window._CONFIG['qn_base'] = '/api/sys/common/static/' ``` ### 安装依赖 ```bash #以下两种方法二选一,推荐 yarn # 使用 npm 安装依赖 npm get registry #查看 npm 镜像源 npm install -g cnpm --registry=http://registry.npm.taobao.org #更换 npm 镜像源为淘宝的 npm install #安装依赖 # 使用 yarn 安装依赖 npm install --global yarn #通过 npm 安装 yarn,其他安装查看 https://yarn.bootcss.com/docs/install yarn config get registry #查看 yarn 镜像源 yarn config set registry https://registry.npm.taobao.org/ #更换 yarn 镜像源为淘宝的 yarn install #安装依赖 ``` > 安装依赖出错,make >  > 删除 `.../node_modules/node-gyp` 这个文件夹,一般在你执行路径下 > `yarn global add node-gyp` 单独安装 node-gyp 依赖,然后重新执行安装依赖即可 ### 编译 ```bash #二选一即可,推荐 yarn npm run build #使用 npm 编译 yarn run build #使用 yarn 编译 ``` ### 部署 将编译后的 `dist` 文件夹上传至 Nginx服务器 网站根目录 编辑Nginx的配置文件 `default.conf` ```js #所有的注释都需要删除 server { listen 4444; #端口 server_name localhost; #访问域名,推荐保持不变 location / { #通过主页访问 root /usr/share/nginx/html; #网站根目录,一般无需更改 index index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.html?s=$1 last; break; } gzip on; gzip_min_length 1k; gzip_comp_level 9; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary on; gzip_disable "MSIE [1-6]\."; } location ^~ /api { #通过api路径访问的 expires 12h; if ($request_uri ~* "(php|jsp|cgi|asp|aspx)") { expires 0; } proxy_pass https://nas.918178.xyz:6688/api/; #全部代理到api的地址下,注意改成你实际的(127.0.0.1访问无效原因未知) # proxy_set_header Host 127.0.0.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; add_header X-Cache $upstream_cache_status; add_header Cache-Control no-cache; } } ``` 然后 `docker exec -it nginx service nginx reload`,应用修改 访问测试吧 测试帐号 - 管理员,admin,123456 - 老师,teacher,123456 - 学生,student,123456 > 登录时二维码加载不出来 > 使用官方推荐的办法,通过反向代理到实际api地址,后端刚开启的时候是有效的,时间长了就无效了 > 直接测试代理的api网址会发现是无法访问到的(代理无效,原因没找到) > 这里有个`邪教办法`,直接修改 index.html >  > 我们把原有自动获取的api地址直接替换为我们实际的api地址 > 这时候登录的二维码就可以正常显示了 ## [Scratch_lite](https://gitee.com/scratch-cn/lite) 版 环境准备: - NodeJS,运行服务器 - MySQL(Mariadb),数据库,需要开启远程访问,默认端口为 3306 - Git,下载源码 1. 下载源码 `git clone https://gitee.com/scratch-cn/lite.git` 2. 创建并导入数据库(使用的是群晖,Mariadb) 数据库为源码根目录的 `comecode.opensrc.sql` ```bash mysql -uroot -p #登录mysql create database scratch; #创建名为 scratch 的数据库 use scratch; #选中 scratch 数据库 set names utf8; #设置数据库导入编码 source /volume1/nas/lite/comecode.opensrc.sql; #导入本地数据库 ``` 3. 修改配置以连接 MySQL 编辑 源码/server/lib/`database.js`  4. 运行 在源码目录下直接运行 ```bash npm run start #直接运行 nohup npm run start & #后台运行 ``` > 如果报错端口占用 > 修改 源码/`app.js` >  5. 访问 常规使用:`http://[IP]:[端口]` 管理后台:`http://[IP]:[端口]/admin` ,需要主页先登录管理员才能进 管理员账户:`comecode`,密码:`111111` 注意,如果直接使用https的反向代理,会出现角色无法加载的问题
造物者W
2022年4月25日 21:27
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码