Pandownload 下线了,我花了 30 分钟自己搭建了一个网盘!

本文详细介绍如何在30分钟内使用NextCloud自建网盘,包括购买服务器、安装配置NextCloud及相关组件的过程。

点击“开发者技术前线”,选择“星标????”

在看|星标|留言,  真爱

来自:码匠笔记

最近大家都听说了:百度网盘Pandownload 开发者被抓了! 舆论一边倒, Pandownload 下线大家心里都很苦,不过我们还是的重新站起来,于是我研究了一下花了 30 分钟自己搭建了一个网盘,下面是部分截图,有自建网盘需求的朋友可以看看我下面整理的一个搭建全过程。

默认页面

图片预览

视频预览

分享功能,直接复制链接就可以公开分享

多平台支持,下载好以后链接自己的网址就可以访问

功能非常全面,而且是不是和某盘非常像?其他的功能你安装好自己摸索吧,激动的心颤抖的手,想不想自己搭建一个?

一、购买机器设备

比较了几个云服务平台,最终还是选择了 UCloud,目前海外做活动 150 就可以购买一年,购买海外主要是不需要备案,如果想发布到公网,还需要购买一个域名。如下是购买和领取优惠券的方案

1.1 注册链接
https://urlify.cn/ae6bui
1.2 领券链接
https://urlify.cn/buMzi2
购买完服务器,直接选择了经典的系统 CentOS 8,如果你使用的不是 CentOS 8 ,安装过程可能和我有差异。

二、选择项目

市场上面有很多开源的系统,但是最后选择了 NextCloud,主要是他是开源项目,免费;丰富的扩展:预览、分享、子账号能力、手机端和PC端;数据存储在自己的服务器简单又安全。唯一可能有一些成本的地方是 NextCloud 基于 PHP 开发,不多他的官方文档非常完备,只要是开发人员无限 Next 也是可以搞定的,下面开始我的表演。
官网链接 https://nextcloud.com

三、支付安装NextCloud

NextCloud 有三种安装方案,分别是 Archive File、Web Installer和Appliances,这么极客的我肯定是选择了第一种哦。

3.1 安装 DNF

可以用原装的 yum,但是用 dnf 更方便一些,接着往下看你就知道他的方便了

yum install dnf
dnf update -y

3.2 安装 Apache

dnf install -y httpd

启动 Apache

systemctl enable httpd.service
systemctl start httpd.service

3.3 安装 PHP

不同的 Linux 版本需要的 remi 不一样,如果 8 不行把下面的链接改成 7 即可。或者直接百度一下安装方式,这个步骤主要是安装 PHP 和一些依赖

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf install yum-utils
dnf module reset php
dnf module install php:remi-7.4
dnf install -y php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-opcache php-json php-zip php-dom

3.4.安装数据库

这里我选择安装 Mariadb

dnf install -y mariadb mariadb-server

启动数据库

systemctl enable mariadb.service
systemctl start mariadb.service

安装完成以后是没有设置密码的,运行下面的命令可以非常方便的配置

mysql_secure_installation

3.5 安装 NextCloud

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip
unzip nextcloud-*.zip

解压后,拷贝项目目录到 Apache 目录

cp -R nextcloud/ /var/www/html/

创建数据存放目录,用于存放日志、文件等

mkdir /var/www/html/nextcloud/data

设置权限并重启

chown -R apache:apache /var/www/html/nextcloud
systemctl restart httpd.service

如果你是 SELinux 需要运行如下命令

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.htaccess'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
restorecon -R '/var/www/html/nextcloud/'
setsebool -P httpd_can_network_connect on

访问部署好的服务,进行接下来的配置

http://youdomain/nextcloud

四、验证登录

如果上面的步骤都没有问题直接进入如下页面

我们输入用户名密码点击继续,这个是系统管理员,同时填写好我们刚才配置的数据库

点击安装完成,这时候他会一直 loading,等一下就好,接下来的步骤基本都是点点按钮就可以解决,这就搞定了,是不是很简单?

迫不及待的输入用户名密码试试哦,马上进入了如下页面,是不是整个人都兴奋了

所有的文件会存储在下面的目录,如果你想存放云,当然也可以,不过本文就不叙述了。

/var/www/html/nextcloud/data/admin/files


这样,一个网盘就大功告成了,觉得不错,点个赞

END

好文点个在看吧!

<think>根据用户的问题,我们需要在提供的Java代码中找到样机下线任务审核查询接口的定义。接口路径为:`/serviceboxadmin/v1/reviewTask/queryOfflineTask` 在Java代码中,我们通过以下步骤查找: 1. 首先,确定控制器类。从代码中可以看到,该类是`OperateReviewTaskController`,并且使用了`@RestSchema`注解,`@RequestMapping`注解的值为`/serviceboxadmin/v1/reviewTask`。 2. 然后,在控制器类中查找处理该路径的方法。我们要找的是处理`queryOfflineTask`的方法,即路径为`/queryOfflineTask`,对应的方法上应该有`@PostMapping`注解,且注解值为`/queryOfflineTask`。 在提供的代码中,我们找到以下方法: ```java /** * 分页查询下线删除审核任务 * isOffline:0下线,1删除 * * @param reviewOfflineTaskReq reviewOfflineTaskReq * @return ServiceBoxResponse */ @PostMapping("/queryOfflineTask") public PageResponse queryOfflineTask(@RequestBody @Valid ReviewOfflineTaskPage reviewOfflineTaskReq) { log.info( InterfaceLogUtils.getLogMsg("event:{}"), InterfaceLogUtils.getEnterLogParams( InterfaceConstants.V1_REVIEWTASK_QUERYOFFLINETASK, AiOpsConstants.QUERY_EVENT)); PageResponse res = operateReviewTaskService.queryOfflineTask(reviewOfflineTaskReq); log.info( InterfaceLogUtils.getLogMsg(), InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_QUERYOFFLINETASK, res)); return res; } ``` 因此,该接口的具体位置在`OperateReviewTaskController`类中的`queryOfflineTask`方法。 **总结**:样机下线任务审核查询接口的定义在`OperateReviewTaskController`类的`queryOfflineTask`方法中,映射路径为`/queryOfflineTask`,完整的接口路径是:`/serviceboxadmin/v1/reviewTask/queryOfflineTask`。 §§相关问题§§ 1. 如何理解Spring MVC中的控制器映射注解? 2. 如何在大型代码库中快速定位接口定义? 3. RESTful API设计的最佳实践有哪些? </think>### 样机下线任务审核查询接口定位分析 在给定的Java代码中,样机下线任务审核查询接口的定义位于**`OperateReviewTaskController`**类中,具体位置如下: ```java{52-60} @RestSchema(schemaId = "reviewTask") @RequestMapping(value = "/serviceboxadmin/v1/reviewTask") @RequiredArgsConstructor(onConstructor = @__(@Autowired)) @Slf4j public class OperateReviewTaskController { // ...其他代码... /** * 分页查询下线删除审核任务 * isOffline:0下线,1删除 * * @param reviewOfflineTaskReq reviewOfflineTaskReq * @return ServiceBoxResponse */ @PostMapping("/queryOfflineTask") // ← 接口定义位置 public PageResponse queryOfflineTask(@RequestBody @Valid ReviewOfflineTaskPage reviewOfflineTaskReq) { log.info("event:{}", InterfaceLogUtils.getEnterLogParams( InterfaceConstants.V1_REVIEWTASK_QUERYOFFLINETASK, AiOpsConstants.QUERY_EVENT)); PageResponse res = operateReviewTaskService.queryOfflineTask(reviewOfflineTaskReq); log.info(InterfaceLogUtils.getLogMsg(), InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_QUERYOFFLINETASK, res)); return res; } // ...其他方法... } ``` #### 关键特性说明: 1. **接口路径** 完整访问路径为: `POST /serviceboxadmin/v1/reviewTask/queryOfflineTask` 2. **参数结构** 接收`ReviewOfflineTaskPage`类型的请求体参数: ```java @RequestBody @Valid ReviewOfflineTaskPage reviewOfflineTaskReq ``` 3. **处理逻辑** 通过`operateReviewTaskService.queryOfflineTask()`实现核心查询逻辑 ```java operateReviewTaskService.queryOfflineTask(reviewOfflineTaskReq); ``` 4. **日志监控** 使用`InterfaceLogUtils`记录接口调用日志: - 入口日志:`V1_REVIEWTASK_QUERYOFFLINETASK` - 返回日志:记录操作结果 #### 接口功能说明: 该接口主要用于查询样机下线任务的审核状态,支持: 1. **任务类型筛选** 通过`isOffline`参数区分下线(`0`)和删除(`1`)任务 2. **分页查询** 返回`PageResponse`类型的分页结果 3. **审核流程管理** 查询处于不同审核阶段(待审核/已通过/已拒绝)的任务 > **技术要点**:接口使用`@Valid`注解实现请求参数的自动校验,遵循JSR-380验证规范[^1],确保输入数据的合法性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值