前言

为什么使用NextCloud

之前一直使用Windows自带的OneDrive,但有以下问题妨碍使用:

  • 同步速度堪忧
  • 空间非常有限
  • 把自己的数据保存在他人的服务器上总觉得不舒服。

NextCloud是一个不错的替代方案:

  • 同步速度取决于服务器的地理位置和网络情况
  • 空间可以低成本地自行增加
  • 数据是保存在自己的服务器上的,这挺“浪漫”的。
  • 支持多用户使用云盘,与朋友一起使用互不干扰。
部署在什么服务器上

在开始我是租了阿里云VPS(Centos6),现在是把服务搭建在自己的树莓派上(ResPiOS),至于树莓派上的教程,之后讲讲。

可选:额外的数据备份

大家都知道NextCloud的数据在服务器上以及每个PC客户端上都有备份,但我仍推荐在Linux服务端上定期进行备份,我是使用crontab定期压缩数据文件夹。

注意:NextCloud这个软件,客户端与服务端的文件一定会完全同步,比如在客户端上不同步某个文件到云端上,因为云端没有这一目录,客户端本地也会被直接删掉!

一、安装前置工具

yum install -y -q yum-utils

二、安装配置Apache

Tips:

  • Apache的日志文件/etc/httpd/logs

  • 查看配置文件的语法错误:apachectl -t

#1.安装Apache

  • 下载并安装:yum install -y httpd

    • 默认安装路径:/etc/httpd
    • 配置路径:/etc/httpd/conf/httpd.conf
  • 开启服务:systemctl start httpd.service
  • 设置开机启动服务:systemctl enable httpd.service

#2.配置Apache的虚拟主机NextCloud(一个IP多个站点)

vim /etc/httpd/conf.d/vhost.conf

  •   <VirtualHost *:80>DocumentRoot "/var/www/html"ServerName cloud.xx.comServerAlias cloud.xx.com<Directory "/var/www/html">Options FollowSymLinksAllowOverride AllRequire all granted</Directory></VirtualHost>
    

重启Apache服务:systemctl restart httpd

#3.打开Web服务的端口

既然NextCloud搭建在Web服务器上,当然要打开端口。

正常防火墙就不说了,既然安装了就肯定会用。

阿里云则需要编辑“安全组”来打开端口。

阿里云编辑安全组

这里举例为打开80端口,我推荐其他的比如8080、8088端口。

ufw等防火墙(略)

三、安装数据库

默认采用SQLite作为后端数据库,适用于少量用户,多则安装配置MySQL

#1. 安装MariaDB(我采用的,个人使用MariaDB就够了)

  • 下载并安装:yum install mariadb-server -y
  • 开启服务:systemctl start mariadb
  • 设置开机启动服务:systemctl enable mariadb

#2. 安装MySQL(我没采用的)

四、安装PHP(Apache版本)

#1. 下载安装PHP7.4

可选:卸载老版本php
  • 卸载老版本PHP:yum remove php* php-common
  • 搜索未卸载的PHP包yum list installed | grep php,再用yum remove xx去逐一卸载
安装php
  • 为yum添加第三方源:yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • 查看有没有php7.x的包:yum search php7
  • 安装PHP74及相应模块:yum install -y php74-php-fpm php74-php-cli php74-php-bcmath php74-php-gd php74-php-json php74-php-mbstring php74-php-mcrypt php74-php-mysqlnd php74-php-opcache php74-php-pdo php74-php-pecl-crypto php74-php-pecl-mcrypt php74-php-pecl-geoip php74-php-recode php74-php-snmp php74-php-soap php74-php-xml php74-php-imagick php74-php-pecl-zip
校验安装
  • 验证安装成功:php74 -v

  • 创建软链接:ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php

  • 验证创建成功:php -v

  • 验证Apache可以执行php文件:在/var/www/html下创建phpinfo.php,内容为<?php echo phpinfo(); ?>,访问该页面,如果正常显示表格则成功。

  • 重启Apache服务:systemctl restart httpd

设置内存限制
  • 配置内存限制:vim /etc/opt/remi/php74/php.inimemory_limit = 128M(根据机器配置而定)

#2. 开启php-fpm(更好的CPU与内存管理)

开启php-fpm:systemctl start php74-php-fpm

设置开机启动:systemctl enable php74-php-fpm

#3. 配置apache使用php-fpm,使其可以解析php文件

创建文件/etc/httpd/conf.modules.d/10-php-fpm.conf

<FilesMatch \.php$>SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

systemctl restart php74-php-fpm

systemctl restart httpd

验证:在/var/www/html下创建文件phpinfo.php<?php echo phpinfo(); ?>,然后访问网页,这样就可以解析php文件了:

五、安装NextCloud

安装NextCloud

  • 创建网站根目录(根据自己的需求):mkdir /var/www/htmlcd /var/www/html

  • 下载NextCloud并配置数字签名:

    wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip --no-check-certificate# pgp数字签名:加密通信
    wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip.asc --no-check-certificate
    wget https://nextcloud.com/nextcloud.asc --no-check-certificate
    gpg --import nextcloud.asc
    gpg --verify nextcloud-23.0.0.zip.asc nextcloud-23.0.0.zip
    
  • yum -y install wget unzipunzip nextcloud-23.0.0.zip

创建数据目录 & 赋予权限

  • 创建数据存储目录:mkdir /var/www/html/nextcloud/data

  • chown -R www-data:www-data /var/www/html/nextcloud(Linux上默认Web服务是使用www-data用户的)

  • chmod -R 775 /var/www/html/nextcloud

六、客户端的使用

#1. 进入网页客户端进行配置

进入网站:http://你的服务器IP或域名:端口,然后看到该界面进行初始化配置。

#2. 多用户的配置位

更新NextCloud

  • 用客户端进入NextCloud网页
  • 设置 - 管理 - 找到“打开更新器”

搭建过程:在Centos上搭建个人云盘NextCloud相关推荐

  1. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  2. 解决: 利用 Xware 在 centos 上搭建远程下载器

    利用 Xware 在 centos 上搭建远程下载器 Xware--迅雷提供的远程下载工具 第一步:在 centos 服务器上搭建 Xware 环境 这点网上已经有不少博客可以参考,所以我这里主要对自 ...

  3. 【Linux】在Linux /Centos和Ubuntu上部署私人云盘seafile

    在Linux /Centos和Ubuntu上部署私人云盘seafile 目录 一.在Centos上部署 1.安装依赖环境 2.启动mariadb服务,并设置开机自启 3.修改MySQL密码 4.安装S ...

  4. 苹果手机上钉钉云盘在哪里?

    钉钉这个软件大家应该都不陌生,日常工作中钉钉是企业协同办公时常用的一款工具,使用钉钉可传输一些文件资料,而这些文件资料可以很好的保存在钉钉云盘中,在苹果手机上钉钉云盘在哪里呢?下面这一教程给大家详细的 ...

  5. unraid上实现阿里云盘与nas同步

    unraid上实现阿里云盘与nas同步 准备工具 安装zx5253大佬的webdav-aliyundriverdocker镜像(2022.4.21更新:目前该大佬已经删除了仓库,可以下载其他具有相同功 ...

  6. ubuntu部署私人云盘nextcloud

    目录 ubuntu部署私人云盘nextcloud 一.服务器 二.安装snap 三.安装nextcloud 四.配置https 4.1 自己申请/配置证书 4.2 snap默认提供的免费证书 4.3 ...

  7. 在centOS上搭建wordpress博客系统

    购买VPS后,很多人都会选择自己搭建一个网站,其中使用LAMP+wordpress可以说是最简单的建站方案,下面我就将详细介绍一下具体的建站过程.我使用的是阿里云的服务器,系统是centOS6.5,使 ...

  8. centos上搭建nginx视频点播服务器(nginx+vod+lua http发送鉴权消息)

    需求背景: 想着搭建一个视频点播服务器,最后选择了nginx+vod的方案,用lua脚本写拉流鉴权,但是环境搭建过程中又发现nginx++vod+lua的环境并不是很容易搭建,是nginx+lua的环 ...

  9. 在 centos 上搭建 gitlab 项目管理软件

    一.GitLab是什么 GitLab 是一个用于仓库管理系统的开源项目.使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务. 可通过 Web 界面进行访问公开的或者私人项目.它拥有与 ...

最新文章

  1. 又双叒叕出事?微信 PC 版被曝扫描用户浏览器 cookies
  2. vue请求在退出页面还执行吗_如何用 Cloudbase Framework 部署一个 Vue 项目
  3. 请问知识图谱有哪些研究点是可以进行深入研究的?
  4. winform npoi excel 样式设置
  5. 开发们 点广告-赚点BT币
  6. Visual Basic、C# 和 C++ 的数据类型比较(转)
  7. mysql 连续签到天数_签到功能实现,没有你想的那么复杂(一)
  8. 软考高级网络规划设计师5天修炼
  9. docker部署服务实现文件上传到本地问题解决
  10. JavaScript中unescape函数
  11. 非负矩阵分解 java_matlab练习程序(非负矩阵分解)
  12. 高中数学知识那些和计算机有关系,2016高中数学知识点.doc
  13. python画图可以用的画图库合集以及选择建议。
  14. 谷歌SEO考虑富媒体文件
  15. html修改progress背景色,html_progress元素以及样式修改
  16. 与计算机学男生谈恋爱,和什么专业男生谈恋爱比较惨?
  17. led大屏按实际尺寸设计画面_微间距LED大屏幕拼接显示系统设计方案
  18. 工作中常用工具推荐及资源分享
  19. ‘v-model’ directives require no argument
  20. IoT 开发,我们需要学习哪些内容?

热门文章

  1. 继幻方、九坤后,哪家量化将在WAIC亮相?
  2. ARM寄存器及功能介绍
  3. 2021-03-22 基于视觉显著性的红外弱小目标检测-王警予 |笔记
  4. matlab平面桁架受力分析
  5. 电容补偿技术的作用(转载)
  6. 安科瑞能耗监测系统在东方万国企业中心的应用
  7. 数据仓库推荐经典书籍资料包分享
  8. Android Service全屏广播
  9. 专业人士必备的10个渗透测试工具
  10. 汤姆猫的安装、使用。