使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

  • A+
所属分类:VPS教程 我的发现

试想,假如某一天百度网盘也倒闭了,我们还有什么其它可以选择的网盘吗?即便是不倒闭,我们还得忍受它的限速,它的垃圾客户端以及不装客户端无法使用等等一系列问题。那么有没有办法搭建一个属于自己的网盘呢,并且能够实现以下功能:

  1. 多平台可用,包括Windows,Android,iOS,Linux
  2. 能够实时备份
  3. 文件版本管理
  4. 文件在线编辑,预览
  5. 文件分享
  6. 支持多用户

当然肯定是有的,这就是本文的重点Nextcloud,一款强大的私有云程序,免费且开源。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

既然要做网盘,当然少不了使用大容量VPS服务器,怎么也得个100GB起步,本文将使用Spartan VPS(我黑五下单的250G版本年付$19.2)搭建Nextcloud,自建私有云服务!

宝塔面板及服务环境的搭建

由于系统是CENTOS7,推荐使用宝塔面板5.9稳定版本,千万不要把还没有稳定的6.0版本用在生产环境,那会让你哭的。

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

SSH界面安装进度截图
使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

卸载宝塔面板的代码如下:

wget http://download.bt.cn/install/bt-uninstall.sh
sh bt-uninstall.sh

查看系统内核是否支持BBR,若不支持可以尝试通过命令更换系统内核,这是一个可选项。

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

安装LNMP或者LAMP,推荐后者,原因是Nextcloud官方推荐使用Apache,另外Nginx的话会有一些伪静态问题需要后续解决,亲身经历无解(小白很无助......)。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

安装系统环境之后大体应该能够看到类似这些个东西,包括web服务Apache,数据库MySQL及管理工具phpMyAdmin以及FTP程序Pure-FTP等等。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

接下来我们新建网站,数据库,FTP可选,然后提交,去域名注册商后台将你的域名解析到该服务器IP,待解析生效之后访问应该会出现以下界面:

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

到这里为止都跟我之前讲的新建一个网站没有任何区别,接下来我们安装网站的运行程序也就是今天的主角Nextcloud。

关于新建网站的域名购买,服务器购买等教程请查看该系列文章:零基础,如何搭建一个自己的网站系列教程

NEXTCLOUD安装步骤

官网的NEXTCLOUD有多种安装方式,我的建议是如果对代码不熟悉请使用web在线的安装方式,这样下一步下一步将会非常简单。

1.上传一个new.php的文件上传到域名根目录然后访问即可开始引导安装,点此下载

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

2.访问该PHP文件,在浏览器输入http:域名/setup-nextcloud.php访问可以跳转到以下界面,点击Next即可,目前最新的稳定版本是13.0.5,不过14.0.0版本已经放出了beta版本,相信用不了多久就会正式发布,妈蛋文章还没写完就升级到14.0.0了!!。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

填入“.”,将Nextcloud安装在网站根目录,否则到时候的URL路径中就会多一个目录出来,不美观。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

下一步之后正常会有提示:Nextcloud is now installed,如果有一行一行的报错可以不管,之后再来解决,继续选择下一步。

进入账号数据库配置界面,开始有中文了,这就是为什么需要安装MYSQL的原因,除开管理员账号密码以及数据库账号密码及用户名之外,其它保持默认即可。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

等待安装完毕,自动进入以下界面,证明Nextcloud的安装已经阶段性完成了。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

Nextcloud各种安全及设置警告解决办法

不过在设置后台你们还会看到各种类似的问题存在,接下来我们开始逐一解决这些问题。

参考解决问题的官方文档:地址1地址2

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

1.PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.

解决办法:进入此界面安装fileinfo模块即可
使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

当然实际还需要安装opcache,Memcached,Apcu这几个东西,所以一块儿安装了吧。

2.PHP 的组件 OPcache 没有正确配置。

解决办法:找到php.ini文件,具体位置可以不用管在哪儿,找到php设置然后修改即可,一般在这种路径下:/www/server/php/70/etc,修改为如下配置:

opcache.enable=1<br />opcache.enable_cli=1<br />opcache.interned_strings_buffer=8<br />opcache.max_accelerated_files=10000<br />opcache.memory_consumption=128<br />opcache.save_comments=1<br />opcache.revalidate_freq=1

然后重启php进程。

3.HTTP 严格传输安全(Strict-Transport-Security)报头未配置到至少“15552000”秒。处于增强安全性考虑,我们推荐按照安全提示启用 HSTS。

解决方法:编辑网站的配置文件“vhost.conf”文件找到对应网站的433端口段添加下面代码(保存后重启Nginx),这是Nginx下可用的方法。

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

如果是Apache则使用以下代码,同样添加在443端口下的内容,把“《”,“》”替换成尖括号

    ServerName cloud.nextcloud.com
    《IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule》

4.PHP 无法访问 /dev/urandom,出于安全原因这是强烈不推荐的。

解决方法:由于Nextcloud实际上采用的加密算法会调用很多随机数,而生成这个东西的组件恰好在/dev/urandom这个目录,因此处于安全考虑是建议开启的。
如果是单站点直接修改php.ini文件即可,如果是多站点,进入到网站根目录找到user.ini修改代码,末尾添加“:/dev/urandom”即可,最后修改完的路径大体如下:

open_basedir=/www/wwwroot/网站目录/:/tmp/:/proc/:/dev/urandom

5.内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。

解决方法:安装Memcached以及APCu,然后访问网站安装程序Nextcloud中的config文件夹中的config文件,添加以下代码到");"结束代码之前即可

'memcache.local' =&gt; '\OC\Memcache\APCu',<br />'memcache.distributed' =&gt; '\OC\Memcache\Memcached',<br />'memcached_servers' =&gt; array(<br />array('localhost', 11211),<br />),

6.一些文件没有通过完整性检查。

解决方法:删除或者移走,不过实际上可以不用管的,看下面这个图中user.ini是我们改了目录的,所以不能动也不能删除。影响不大。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

7.最重要的我们要把链接中的index.php去除

方法:找到config目录下的config.php,添加如下代码

'overwrite.cli.url' =&gt; 'https://www.ourtime.fun',<br />'htaccess.RewriteBase' =&gt; '/',

然后在SSH中执行如下代码:

sudo -u root php occ maintenance:update:htaccess

使用以上命令,root是指你通过SSH登录的账号,一般会提示你.htaccess文件以及重新生成。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

8.NextCloud升级

提示:在升级前最好将所有非官方的插件全部停用,否则会折腾死的。

在设置中就有升级的通道,可以选择Stable稳定版或者beta版本,推荐使用稳定版本,首先Nextcloud会检查目录文件的完整性,然后开启备份等等最后请记得继续选择通过web方式来安装Nextcloud,应该是右边那个按钮进入以下界面。

使用Spartan VPS搭建Nextcloud,自建私有云服务详尽步骤,附各种问题的解决办法

Nextcloud安装总结

老实说,Nextcloud并不适合小白使用,安装部署还不够人性化,很多能够遇见的稳定在安装引导中做的并不好,而且很挑运行环境,虽然官方文档很齐全,但是多数会直接涉及到代码知识并且是英文,各自安装的目录和环境又不尽相同,所以问题仍然很多,使用起来仍显得复杂。

但即便如此,方便的全平台通用APP,配合VPS服务器远程备份和管理,强大的在线插件以及稳定性和安全性仍然让Nextcloud在私有云行业有着不错的口碑,适合有一定基础,时间和耐心的同学使用。

Nextcloud各个版本下载地址:Nextcloud客户下载

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: