背景交代
之前给大家写了一篇 用 ownCloud 搭建个人私有云 的文章,直到现在网盘纷纷停止服务已经有一段时间了,现在 ownCloud 的团队也弃坑了,全都跳槽去开发一个新的网盘”NextCloud“。
ownCloud 的版本号一直维持在 v9.x.x ,然而 Nextcloud 作为一个新生儿,初始的版本就是 v10 。这说明 Nextcloud 就是 ownCloud 的后续版本。目前 nextcloud 的最新版本是‘ 12.0.0 ’。这个版本 BUG 稍微有点多,我本想等 12 稳定了再发教程,但是有人催我赶紧放教程,所以没办了,我就今天把教程发出来吧。
有人抱怨我上篇文章写的不明确,有很多东西都没有交代清楚,那我这篇文章尽量详细吧。如果还有哪写的不清楚,欢迎大家给提醒,我会尽量去改。那个,还有,如果有人希望也使用我的网盘,可以联系我,私人 QQ 269015385。
在这里吐个糟,我下面的教程是手动安装的教程。现在官网有一个一键安装,没错,只需要一个命令就行了,命令如下:
sudo snap install nextcloud
需要准备的清单
- X86架构主机:
或者是虚拟机也行,配置不用太高,推荐双核CPU、1GB以上内存,
我自己用的主机是4核i3 6100,8GB DDR4内存; - 域名:
推荐购买万网的域名,因为后面有一个章节会介绍到如果设置动态域名解析(DDNS); - 硬盘:
推荐单独准备一个硬盘用来存放数据,即使系统出现故障,你的数据也不会受到影响; - RAID卡:
如果可以使用 RAID 卡那就更好了,我自己使用的是 LSI 9266-4I,上面插了4个2TB硬盘,组 raid5。
操作系统
Ubuntu-server 16.04 x64
ps:有人管我要centos 的教程,我个人比较习惯用ubuntu ,其实也就是命令不一样而已。
主要软件
Apache2
PHP7
Mysql 5.7
工具清单
- VIM(一个 linux 的文本工具)
- Openssh-server(linux上的远程ssh服务,我比较喜欢用xshell远程上去配置)
- Filezilla(一个可以用过ssh管理主机文件的软件)
- unzip(解压东西用的,当然你可以用windows解压好,上传到linux)
操作用户
root
二、预配置
安装系统之前,我先对系统配置一下,以适应我的使用习惯。
- 更新
apt update
- 安装 vim
apt install vim
- 修改网卡名称为 eth0(选)
ps:这是我个人习惯,你也可以不改,设置静态也可以通过DHCP绑定一个,都行,看你习惯。
- 设置静态IP地址(选)
删除原文件 rm -r /etc/network/interfaces
ps:设置方法有很多种,可以自行搜索
- 配置ssh服务端(选)
ps:这个是通过远程登录到linux服务器ssh服务端,当然你也可以用真机的终端配置。
- 安装解压软件
三、安装Apache2
首先先登录root账户
- 安装环境
- 安装NextCloud
https://nextcloud.com/install/#instructions-server
到这个页面查找当前的下载地址,下载NextCloud到root工作目录
解压文件
复制到 Apache2 根目录
- 配置Apache2
创建子目录配置文件
写入以下内容
链接子目录配置文件
更改网站默认目录
修改以下内容
添加模块
配置根目录权限
创建详细配置脚本
写入以下内容
运行脚本
重启服务
四、安装数据库
- 安装MySQL
ps:设置密码为空就行,下面会去设置密码
- 初始化安全配置
执行之后会进行如下操作
- 为root用户设置密码
- 删除匿名账号
- 取消root用户远程登录
- 删除test库和对test库的访问权限
- 刷新授权表使修改生效
- 设置远程访问
解除绑定IP地址
找到 'bind-address = 127.0.0.1' ,删去这一行。
如果没有找到这行代码,那就:
找到 'bind-address = 127.0.0.1' ,删去这一行。
授权用户远程连接
先进入mysql client
输入 root 用户的密码
把 password 替换成 root 用户的密码
- 创建数据库
ps:创建一个数据库,名称是nextcloud,后面会 用到
- 数据库备份(选)
例: mysqldump -u dbadmin -p nextcloud> /var/database_bak.sql;
ps:这个不是安装的必须步骤,这个是以后你想对数据库备份用的,下同
- 数据库还原(选)
ps:这个不是安装的必须步骤
五、初始化 NextCloud
- 完成初始化
在浏览器输入
- 设置管理员账户
在第一行设置管理员的帐号
在第二行设置管理员的密码
- 存储和数据库设置
Data folder 设置网盘所有文件保存的位置,默认就好,后面会有更改的文章;
在下面依次输入:
- 数据库用户名(root)
- 数据库密码(你刚才设置的)
- 数据库名称(nextcloud,刚才写的是这个,除非你改了)
- 数据库地址(数据库的IP,如果是本机,可以写127.0.0.1,也可以写localhost)
存储和数据库设置
点击完成,稍等2分钟
六、修改存储路径(选)
- 停止web服务
- 修改配置文件
找到 datadirectory 项,把后面的 '/var/www/nextcloud/data' 修改为你想要设置的路径,例:
- 转移数据
将 /var/www/nextcloud/data 目录下的所有文件移动到新的 /var/data/ 目录下。
- 修改权限
修改 /var/data/ 目录所述的组及用户与原 /var/www/nextcloud/data 目录相同,例如所述组和用户都修改为 www 。
如果遇到“HTTP ERROR CODE 500”说明是chmod的问题
- 启动web服务
七、修改apache端口(选)
- 编辑apache2的配置文件
- 编辑apache2的端口配置文件
- 重启apache服务
八、使用HTTPS加密我的流量
- 安装签名工具
- 生成证书
因为现在国家通讯部的规定,运营商把所有的80端口都ban掉了。所以咱们申请证书不能使用正常的80端口进行申请证书,只能通过DNS解析的方法得到证书。
./acme.sh --issue --dns -d 你的域名.com
然后得到这张图,你需要去你的域名运营商的控制面板里,给你的域名加上你的二级域名,如果没有二级域名,那就直接添加一个txt类型的记录,主机记录填写Domain里的值,然后把TXT value里的值写到记录值里。
例图如下:
- 申请证书
成功之后会出现这样的提示
- 安装证书
然后现在咱们去配置把证书放到网站存放证书的文件夹,并把名字更正成它需要的名字
首先要看看存放证书的文件夹在什么地方,然后把证书复制过去
找到这2行
然后把证书和私钥cp进去
- 安装openssl
- 开启SSL模块
- 修改https的默认路径
改成下面值的
- 保存
按ESC
:wq
回车
启用https
上文安装完后,会在 /etc/apache2/sites-available/ 目录下生成一个缺省的 default-ssl 文件。缺省的网页目录仍然是 /var/www/ 。我们可以创建一个链接到 site-enabled 目录。
重启apache服务:
九、万网的动态域名解析
- 安装 python
- 下载万网DDNS客户端
- 复制路径
- 修改配置文件
配置文件内容
- 执行一次
- 设置周期执行
本文由 落格博客 原创撰写:落格博客 » 用 NextCloud 搭建个人私有云
转载请保留出处和原文链接:https://www.logcg.com/archives/2750.html
I’ve learn some just right stuff here. Definitely value bookmarking for revisiting. I wonder how so much attempt you put to create one of these magnificent informative site.
多谢博主的教程,详实明白,已经照着操作好,还有小问题是ssl证书三个月到期,倾角该如何自动申请证书并完成证书复制安装呢
如果没有公网IP的话动态域名解析是不是也没法用///
是的,必须要有公网IP,如果你没有,那么就致电运营商,说你要安装网络摄像头什么的,他们会给的(也可能要加钱)
这页面布局是wordpress的模板,同款模板留个爪
6,这是最新款主题 2019
巧了,我也是同样的主题。
搜索引擎过来的,刚刚搭建完nextcloud,碰到了不同用户间无法共享文件的问题。现在的安装方法(15.0)已经比一年多前简化好多了
请问博主,关于SSL证书在github上写的可以自动更新(每60天自动注册一次),但是Godaddy的TXT记录是手动添加的,那就是每次只能三个月内再次注册SSL添加TXT了吗?有没有什么方法自动来更新SSL?
博主,数据库地址改了,怎么重新设置nextCloud数据库的地址。我的是mysql
请问没有域名的证书怎么弄呢?
https://www.logcg.com/archives/1709.html
Collabora Online 能和 nextcloud 安装在同一台上面吗? 还是一定要单独一台用docker方式运行。
可以在一台服务器上,你可以参考这个文章:
Nextcloud+Collabora Office文档在线协作
这个教程看过了,到了要openssl 证书这里不知道要怎么弄了,不能用自己生成的证书么
买个域名,去申请一个证书就行了。自己的证书我没试过
博主知道要怎么上离线下载吗?
知道,有空给我写一个教程吧,最近太忙了