0成本搭建私人云盘服务Nextcloud

⚠你是不是也受够了百度云盘几kb的下载速度 ,并且担心隐私安全 。那么不如用家里闲置的电脑🖥 自己搭建一个云盘服务器☁既安全又不花一分钱,妈妈再也不用担心我的隐私发生泄露了。✌再也不用有手机内存焦虑了。

😀小白都能看得懂的搭建步骤,用家里闲置电脑搭建云盘服务器;

一、环境搭建

  • 系统:Window11
  • 内存:4G+
  • 磁盘:500G+(最好不要是系统盘)

很多人家里都是 Windows11 ,但是今天要用到的服务 Nextcloud 是需要运行在Linux上的,没关系,今天就教大家如何在 Windows11 借助 Linux子系统 搭建服务;

开启 Linux子系统 & Hyper-V 步骤

  • 打开【控制面板】->【程序】->【启用或关闭Windows功能】
  • 勾选【Hyper-V】【适用于Linux的Windows子系统】、
  • 重启电脑

安装Linux子系统(wsl2)

  • 打开【Microsoft store】
  • 搜索 Windows Subsystem for Linux
  • 下载安装 Windows Subsystem for Linux
  • 下载安装 Ubuntu 20.03.6 LTS
  • 等待成功安装后,在开始->所有程序 中就能看到对应的Linux子系统了,初次运行需要输入用户名密码

为Linux子系统设置桥接网络(为了能在局域网中使用别的设备访问)

  • 桥接网络需要安装的为wsl2,默认情况下新安装的一般都为wsl2,可通过在cmd或PowerShell中输入命令wsl -l -v 来检查当前wsl的版本;
    • 若当前版本为wsl1,则需要先更新wsl
    • 输入指令更新wsl --update
    • 输入指令检查版本wsl --version
    • 命令行会输出如下内容
js 复制代码
WSL version: 0.70.0.0
Kernel version: 5.15.68.1
WSLg version: 1.0.45
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.675
  • 使用 wsl --set-version <distro name> 2 命令将<distro name>替换为要更新的 Linux 发行版的名称。 例如,wsl --set-version Ubuntu-20.04 2 会将 Ubuntu 20.04 发行版设置为使用 WSL 2。
  • 关闭wslwsl --shutdown

在 Hyper-V 管理器中创建虚拟交换机

  • 在Windows 11 搜索栏搜索【Hyper-V 管理器】,点击进入
  • 运行 Hyper-V 管理器
    • 在左侧选择您的电脑
    • 在右侧选择虚拟交换机管理器
    • 在管理器中选择"新建虚拟网络交换机"
    • 在右侧选择"外部"
    • 然后单击"创建虚拟交换机"
    • 在"名称:"下输入独特的名称,例如"WSL_external"
    • 确保选择确切的物理适配器(WiFi、LAN 等),并且由于这很可能是您唯一的适配器,因此选中"允许管理操作系统共享此网络适配器"下的复选框
    • 申请、是、确定

创建 WSL 配置文件

  • 在 PowerShell 提示符下,继续(如果出现错误,则需要以管理员方式打开)
js 复制代码
cd ~
New-Item .wslconfig
.\.wslconfig
  • 选择文本编辑器以打开文件
  • 如果你忘记了你的虚拟交换机的名称,请在PowerShell中运行以下命令:
js 复制代码
Get-VMSwitch -SwitchType External | Select Name, SwitchType, NetAdapterInterfaceDescription, AllowManagementOS
  • 现在像这样添加到您的文件文本中:.wslconfig
js 复制代码
[wsl2]
networkingMode=bridged
vmSwitch=WSL_external

启动wsl

  • 执行wsl即可启动,若系统安装了多个发行版,则需要指定发行版的名称,如wsl -d Ubuntu
  • 检查网络,在终端中输入ifconfig检查IP地址是否和Windows在同一网网段中
  • 新开一个cmd窗口,输入ping xx.xx.xx.xx其中xx.xx.xx.xx为上述命令显示的ip地址,例如192.168.1.6,检查是否能够正常连接
  • 关闭Linux子系统并重新启动,它应该保持相同的ip地址
js 复制代码
exit
wsl --shutdown
wsl
ifconfig

设置Windows开机自启动Linux子系统服务

  • 在Windows中设置开机启动,开始-运行,输入shell:startup
    • 在打开的文件夹中新建vsb文件,如wsl.vbs,输入以下内容
ini 复制代码
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d xxx -u root /etc/init.wsl start", vbhide
#注意,xxx需要替换为你安装的wsl发行版名称,如Ubuntu-20.04
  • 保存,重启电脑,不出意外Linux子系统已经启动起来了

二、安装Docker

  • 打开命令行终端,输入 wsl 进入Linux
  • 输入sudo apt-get update 更新apt
  • 允许apt通过HTTPS使用存储库
js 复制代码
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  • 添加Docker的官方GPG密钥
js 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  • 安装docker
js 复制代码
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Docker 安装 nextcloud容器

拉取nextcloud
js 复制代码
sudo docker pull nextcloud
Docker 运行 nextcloud
js 复制代码
sudo docker run --restart=always --name nextcloud -p 9001:80 -v /home/workSpace/nextcloud/data:/var/www/html/data -d nextcloud
  • --restart=always:设置 nextcloud 容器 开机自启动
  • --name:设置容器名称为nextcloud
  • -p 9001:80 :端口映射,将宿主机9001端口映射到容器中的80端口
  • -v /mnt/f/workSpace/nextcloud/data:/var/www/html/data 将容器中项目的data目录映射到本地Windows11 F磁盘的/nextcloud/data目录下方便配置
  • -d nextcloud,拉取的镜像名,不指定版本默认拉取最新
查看运行中的容器
js 复制代码
sudo docker ps

输出下面结果,表示已经正常运行了

三、配置nextcloud

  • 打开浏览器,输入 http://localhost:9001/,进入配置页面
  • 输入自己的管理员:用户名、密码
  • 数据目录不要改,使用默认
  • 配置数据库:如果没有特殊需要,选择默认的SQLite,最小型数据库,不需要安装其它的数据路配置
  • 点击【安装】等待一小会儿就可以进入系统使用了
  • 推荐的应用【点击跳过】
  • 到此就完成了nextcloud的常规配置
  • 打开wsl终端,输入 ifconfig 查看IP地址,之后就可以在局域网内使用这个ip地址+端口号9001进行访问了,例如:http://192.168.31.117:9001/
    • 如果ifconfig报错,则执行下面的命令
    • apt-get install net-tools 安装网络工具

可能会遇到的问题

局域网环境下,内网ip访问nextcloud,提示域名受限制
解决办法,设置nextcloud添加信任域名(白名单)

所有用于访问 Nextcloud 服务器的 URL 都必须在您的 config.php 文件中的trusted_domains 设置下列入白名单。 仅当用户将浏览器指向trusted_domains 设置中列出的URL 时,才允许用户登录Nextcloud。

  • 打开wsl 执行docker exec -it nextcloud bash 进入docker系统内
  • 执行vim config/config.php,如果报错执行下面的指令安装 vim
    • apt-get install vim -y
  • 打开config.php后,在 trusted_domains => array 节点下添加局域网ip地址,例如
添加成功之后,我们再次在局域网(内网)内通过浏览器访问nextcloud。

🎉🎉🎉到此完整的配置NextCloud的工作就完成了,可以在自己的电脑、手机安装上客户端,并通过输入自己的局域网连接地址进行访问了;

相关推荐
Hello.Reader44 分钟前
深入理解 Rust 的 `Rc<T>`:实现多所有权的智能指针
开发语言·后端·rust
yoona10201 小时前
Rust编程语言入门教程(八)所有权 Stack vs Heap
开发语言·后端·rust·区块链·学习方法
考虑考虑2 小时前
MyCat2使用
java·后端·java ee
后端码匠2 小时前
Spring Boot3+Vue2极速整合:10分钟搭建DeepSeek AI对话系统
人工智能·spring boot·后端
可乐张2 小时前
AutoGen 技术博客系列 (九):从 v0.2 到 v0.4 的迁移指南
后端·llm
可乐张2 小时前
AutoGen 技术博客系列 (八):深入剖析 Swarm—— 智能体协作的新范式
后端·llm
计算机-秋大田3 小时前
基于Spring Boot的农产品智慧物流系统设计与实现(LW+源码+讲解)
java·开发语言·spring boot·后端·spring·课程设计
计算机毕设指导63 小时前
基于SpringBoot的城乡商城协作系统【附源码】
java·spring boot·后端·mysql·spring·tomcat·maven
华子w9089258593 小时前
基于数据可视化+SpringBoot+安卓端的数字化施工项目计划与管理平台设计和实现
java·spring boot·后端
橘猫云计算机设计3 小时前
基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·django