树莓派搭建NextCloud:给数据一个安全的家

前言

NAS有很多方案,常见的有 NextcloudSeafileiStoreOSSynologyownCloudOpenMediaVault ,以下是他们的特点:

1. Nextcloud

  • 优势
    • 功能全面:支持文件同步、共享、在线文档编辑、视频会议、日历、联系人等功能,可通过插件进一步扩展。
    • 开源免费:无需支付软件费用,用户完全掌控数据。
    • 灵活性强:可部署在各种硬件平台上(如树莓派、PC、服务器等)。
    • 安全性高:支持端到端加密、多因子认证,保障数据隐私。
  • 不足
    • 功能丰富导致性能要求较高,适合有一定技术背景的用户。

2. Seafile

  • 优势
    • 高性能:采用文件分块机制,上传和同步速度快,特别适合大文件处理。
    • 轻量化:系统资源占用少,运行效率高。
    • 安全性强:提供端到端加密。
  • 不足
    • 功能较少:扩展能力有限,缺乏丰富的插件支持。
    • 社区支持不如 Nextcloud 活跃。

3. iStoreOS

  • 优势
    • 轻量化:适合低功耗硬件,运行效率高。
    • 易于部署:配置简单,入门门槛低。
    • 适配家庭环境:支持文件共享、下载管理等基础功能。
  • 不足
    • 功能有限:缺乏扩展能力和高级功能,无法满足多样化需求。
    • 社区支持较少:遇到问题可能难以找到解决方案。

4. Synology DSM

  • 优势
    • 完整解决方案:软硬件深度集成,提供高度优化的用户体验。
    • 功能丰富:支持文件同步、备份、媒体服务器、虚拟机等多种功能。
    • 用户友好:界面直观,操作简单,无需技术背景。
  • 不足
    • 成本高:需购买专用硬件,初始投入较大。
    • 自定义能力有限:无法深度控制和定制系统。

5. ownCloud

  • 优势
    • 与 Nextcloud 类似,提供文件同步、共享和扩展能力。
    • 成熟稳定:作为早期开源私有云方案,用户基础广泛。
    • 提供企业版:适合企业用户,支持更多功能和专业服务。
  • 不足
    • 插件数量和功能拓展不及 Nextcloud。
    • 社区热度逐渐被 Nextcloud 超越。

6. OpenMediaVault

  • 优势
    • 简单易用:通过 Web 界面轻松管理 NAS 功能。
    • 模块化设计:支持插件扩展文件共享、FTP、媒体流和备份功能。
    • 适配低功耗设备:适合树莓派等硬件。
  • 不足
    • 功能较基础:更倾向于作为 NAS 解决方案,而非完整的云存储平台。
    • 缺乏在线编辑、协作等高级功能。

本文选择Nextcloud作为NAS方案,以下是树莓派5安装Nextcloud详细教程,涵盖硬件选购、软件安装和配置等内容。


硬件选购

  • 树莓派5
  • TF卡 64G
  • 西数红盘 4T
  • 读卡器

软件设置

1. 系统更新

安装系统,选择这个
在这里插入图片描述

在树莓派启动后,首先更新系统:

sudo apt update && sudo apt upgrade -y

2. 安装 LAMP 环境

Nextcloud需要以下组件支持:

  • Web 服务器:Apache
  • 数据库:MariaDB
  • PHP:用于处理动态内容

2.1 安装 Apache

安装 Apache Web 服务器并设置为开机自启:

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2

2.2 安装 MariaDB

安装 MariaDB 数据库并进行安全配置:

sudo apt install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

根据提示设置密码并提升安全性。

2.3 安装 PHP

安装 PHP 及其扩展:

sudo apt install php libapache2-mod-php php-mysql php-gd php-xml php-curl php-mbstring php-zip php-intl php-bcmath php-imagick -y

3. 安装 Nextcloud

3.1 下载并解压 Nextcloud

从官网下载最新版本的 Nextcloud:

wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar -xjf latest.tar.bz2

4. 挂载硬盘

4.1 检测硬盘

插入西数红盘,确认设备是否被识别:

sudo fdisk -l

示例输出:

Disk /dev/sda: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Device     Start        End    Sectors  Size Type
/dev/sda1   2048 7814035455 7814033408  3.6T Linux filesystem

4.2 手动挂载硬盘

创建挂载点并挂载硬盘:

sudo mkdir /mnt/disk
sudo mount /dev/sda1 /mnt/disk/

4.3 设置自动挂载

  1. 获取硬盘 UUID:
sudo blkid

示例:

/dev/sda1: UUID="22bccf31-5f9b-46a7-ae59-caff8da2188b" TYPE="ext4"
  1. 编辑 /etc/fstab 文件:
sudo nano /etc/fstab

添加以下内容:

UUID=22bccf31-5f9b-46a7-ae59-caff8da2188b /mnt/disk ext4 defaults 0 0
  1. 保存并重启系统验证挂载:
sudo reboot

5. 配置 Nextcloud

5.1 移动文件并设置权限

将 Nextcloud 文件移动到硬盘:

sudo mv nextcloud /mnt/disk/
sudo chown -R www-data:www-data /mnt/disk/nextcloud/
sudo chmod -R 755 /mnt/disk/nextcloud/

5.2 配置 Apache

创建 Apache 配置文件:

sudo nano /etc/apache2/sites-available/nextcloud.conf

添加以下内容:

<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    DocumentRoot /mnt/disk/nextcloud
    ServerName 192.168.1.106

    Alias /nextcloud "/mnt/disk/nextcloud/"

    <Directory /mnt/disk/nextcloud/>
        Require all granted
        AllowOverride All
        Options FollowSymlinks MultiViews
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

启用配置并重启 Apache:

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

6. 配置 MariaDB

创建数据库和用户:

sudo mysql -u root -p

在 MariaDB 命令行中执行:

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

7. 完成安装

在浏览器中访问树莓派的 IP 地址:

http://<树莓派IP>

按提示完成安装:

  • 创建管理员账户。
  • 填写数据库信息:
    • 数据库名:nextcloud
    • 用户名:nextclouduser
    • 密码:设置的 yourpassword
    • 数据库主机:localhost
      在这里插入图片描述
      在这里插入图片描述

8. 文件管理

8.1 文件扫描

拷贝数据到 data 文件夹后,需要手动触发文件扫描:

cd /mnt/disk/nextcloud
sudo -u www-data php occ files:scan --all

8.2 修复权限

确保文件权限正确:

sudo chown -R www-data:www-data /mnt/disk/nextcloud/data
sudo chmod -R 755 /mnt/disk/nextcloud/data

9. 可选优化

9.1 启用 HTTPS

使用 Let’s Encrypt 安装 SSL 证书:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache

9.2 性能优化

启用 APCu 缓存:

sudo nano /mnt/disk/nextcloud/config/config.php

添加:

'memcache.local' => '\OC\Memcache\APCu',

至此,树莓派5上已经成功搭建 Nextcloud 服务器,支持PC端和手机端共享文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/924135.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AWS账户注册未完成会收费吗?

在当今云计算的时代&#xff0c;亚马逊网络服务&#xff08;AWS&#xff09;已经成为众多企业和开发者的首选平台。然而&#xff0c;对于许多刚接触云服务的人来说&#xff0c;关于AWS账户注册的费用问题常常引发疑虑&#xff1a;如果我在注册过程中未能完成操作&#xff0c;是…

在线音乐播放器 —— 测试报告

自动化脚本源代码&#xff1a;Java: 利用Java解题与实现部分功能及小项目的代码集合 - Gitee.com 目录 前言 一、项目简介 1.项目背景 2.应用技术 &#xff08;1&#xff09;后端开发 &#xff08;2&#xff09;前端开发 &#xff08;3&#xff09;数据库 二、项目功能…

TCP/IP协议攻击与防范

一、TCP/IP协议攻击介绍 1.1 Internet的结构​ LAN&#xff1a;局域网 WAN&#xff1a;广域网 WLAN&#xff1a;无线局域网 私有IP地址与公有IP地址&#xff1f; 私有地址&#xff1a;A类&#xff1a;10.0.0.0~10.255.255.255 B类&#xff1a;172.16.0.0~172.31.255.255…

Unity ShaderLab 实现3D物体描边

实现思路&#xff1a; 给物体添加第二个材质球&#xff0c;在shader的顶点着色器中使顶点的位置变大&#xff0c;然后在片元着色器中输出描边颜色。 shader Graph实现如下&#xff1a; ShaderLab实现如下&#xff1a; Shader "Custom/Outline" {Properties{[HDR]_…

复合查询和内外连接

文章目录 1. 简单查询2. 多表查询2.1 显示雇员名、雇员工资以及所在部门的名字2.2 显示部门号为10的部门名&#xff0c;员工名和工资2.3 显示各个员工的姓名&#xff0c;工资&#xff0c;及工资级别 3. 自连接4. 子查询4.1 where后的子查询4.1.1 单行子查询4.1.2 多行子查询 (i…

java八股-分布式服务的接口幂等性如何设计?

文章目录 接口幂等token Redis分布式锁 原文视频链接&#xff1a;讲解的流程特别清晰&#xff0c;易懂&#xff0c;收获巨大 【新版Java面试专题视频教程&#xff0c;java八股文面试全套真题深度详解&#xff08;含大厂高频面试真题&#xff09;】 https://www.bilibili.com/…

Windows Serv 2019 虚拟机 安装Oracle19c,图文详情(超详细)

1、下载安装文件 Oracle官网下载直链&#xff1a;https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_ee 夸克网盘下载&#xff1a;https://pan.quark.cn/s/1460a663ee83 2、新建 Windows Server 2019 虚拟机 &#xff08;超详细&a…

时间的礼物:如何珍视每一刻

《时间的礼物&#xff1a;如何珍视每一刻》 夫时间者&#xff0c;宇宙之精髓&#xff0c;生命之经纬&#xff0c;悄无声息而流转不息&#xff0c;如织锦之细线&#xff0c;串联古今&#xff0c;贯穿万物。 人生短暂&#xff0c;犹如白驹过隙&#xff0c;倏忽而逝&#xff0c;…

FreeRTOS之vTaskStartScheduler实现分析

FreeRTOS之vTaskStartScheduler实现分析 1 FreeRTOS源码下载地址2 函数接口2.1 函数接口2.2 函数参数简介3 vTaskDelete的调用关系3.1 调用关系3.2 调用关系示意图 4 函数源码分析4.1 vTaskStartScheduler4.2 prvCreateIdleTasks4.2.1 prvCreateIdleTasks4.2.2 xTaskCreate 4.3…

NLP论文速读(EMNLP2024)|多风格可控生成的动态多奖励权重

论文速读|Dynamic Multi-Reward Weighting for Multi-Style Controllable Generation 论文信息&#xff1a; 简介&#xff1a; 本文探讨了文本风格在沟通中的重要性&#xff0c;指出文本风格传达了除原始语义内容之外的多种信息&#xff0c;如人际关系动态&#xff08;例如正式…

【AI】Sklearn

长期更新&#xff0c;建议关注、收藏、点赞。 友情链接&#xff1a; AI中的数学_线代微积分概率论最优化 Python numpy_pandas_matplotlib_spicy 建议路线&#xff1a;机器学习->深度学习->强化学习 目录 预处理模型选择分类实例&#xff1a; 二分类比赛 网格搜索实例&…

Dockerfile打包部署

Dockerfile打包 先找到打包完的目录下创建一个Dockerfile文件 touch Dockerfile 进去文件内编写 vim Dockerfile # 基础镜像 FROM openjdk:8 # author MAINTAINER yxh # 挂载目录 VOLUME /home/project # 创建目录 RUN mkdir -p /home/project # 指定路径 WORKDIR /home/pr…

鸿蒙学习使用模拟器运行应用(开发篇)

文章目录 1、系统类型和运行环境要求2、创建模拟器3、启动和关闭模拟器4、安装应用程序包和上传文件QA:在Windows电脑上启动模拟器&#xff0c;提示未开启Hyper-V 1、系统类型和运行环境要求 Windows 10 企业版、专业版或教育版及以上&#xff0c;且操作系统版本不低于10.0.18…

数组学习后记——递归

数组这块学得有点乱,条理性欠佳。这次正好总结一下。上周的课堂内容没有更新, 因为小白自己也还没来得及吸收呢qwq。也解释一下为什么文中有这么多例题。因为我呢喜欢就着题去分析和学习,直接灌输知识不太能理解,有例子就能及时检验和应用了的。 先看看B3817 基础的双数组…

每天五分钟深度学习:神经网络的前向传播的计算过程(单样本)

本文重点 本节课程我们学习神经网络的输出是如何计算的,这个过程叫做神经网络的前向传播。 神经网络的结构 如上所示是一个具有单隐藏层的神经网络,其中输入层不算神经网络的层数。 在这个神经网络中,x表示输入特征,a表示每个神经元的输出,W表示权重参数。 神经网络的…

C++——多态(下)

目录 引言 多态 4.多态的原理 4.1 虚函数表指针 4.2 多态的原理 5.单继承和多继承关系的虚函数表 5.1 单继承中的虚函数表 5.2 多继承中的虚函数表 结束语 引言 接下来我们继续学习多态。 没有阅读多态&#xff08;上&#xff09;的可以点击下面的链接哦~ C——多态…

【CSS in Depth 2 精译_061】9.4 CSS 中的模式库 + 9.5 本章小结

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 【第九章 CSS 的模块化与作用域】 ✔️ 9.1 模块的定义 9.1.1 模块和全局样式9.1.2 一个简单的 CSS 模块9.1.3 模块的变体9.1.4 多元素模块 9.2 将模块组合为更大的结构 9.2.1 模块中多个职责的拆分…

DHCP服务(包含配置过程)

目录 一、 DHCP的定义 二、 使用DHCP的好处 三、 DHCP的分配方式 四、 DHCP的租约过程 1. 客户机请求IP 2. 服务器响应 3. 客户机选择IP 4. 服务器确定租约 5. 重新登录 6. 更新租约 五、 DHCP服务配置过程 一、 DHCP的定义 DHCP&#xff08;Dynamic Host Configur…

技术实践 | AI 安全:通过大模型解决高危WEB应用识别问题

一、引言 在日常企业安全能力建设中&#xff0c;收敛企业外网高危资产&#xff0c;以保障公司外部安全是企业安全的重要工作。WEB 高危服务&#xff08;如&#xff1a;管理后台、内部系统等&#xff09;外开是企业所面临的一个重要风险。针对该风险&#xff0c;传统的方式是基…

C 语言函数递归探秘:从基础概念到复杂问题求解的进阶之路

我的个人主页 我的专栏&#xff1a;C语言&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;点赞❤ 收藏❤ 目录 什么是函数递归递归的基本组成递归的工作原理递归的优缺点递归的经典案例 5.1 阶乘计算5.2 斐波那契数列5.3 汉诺塔问题5.4 二分查找 递归的高级…