Rat's

使用NextCloud来搭建我们的私有网盘、并结合Redis优化性能
说明:现在越来越多云盘都相继宣布关闭,差不多都去用百度云盘了,而我们手上有些比如小姐姐电影之类传上去就会被和谐,于...
扫描右侧二维码阅读全文
15
2017/06

使用NextCloud来搭建我们的私有网盘、并结合Redis优化性能

说明:现在越来越多云盘都相继宣布关闭,差不多都去用百度云盘了,而我们手上有些比如小姐姐电影之类传上去就会被和谐,于是我们有必要自己搭建个私有云来存这些资源了,也安全,这里推荐NextCloud,一款继ownCloud之后,又一个很不错的私有云。

简介

Nextcloud是一套用于创建和使用文件托管服务的客户端-服务器软件。它在功能上类似于Dropbox,虽然Nextcloud是免费的和开源的,允许任何人在私人服务器上安装和操作它。与Dropbox等专有服务相反,开放架构允许以应用程序的形式向服务器添加附加功能。

虽然Nextcloud作为ownCloud的衍生版本,在其基础上做了许多改进,但有一些差异。ownCloud提供了一个开源社区版本,但它们还提供了一个专有的企业版,具有附加功能和支持订阅。相比之下,Nextcloud是完全开源的。

截图

请输入图片描述
请输入图片描述

更新

【2019年6月28日】
更新教程,替换为宝塔安装,并新增Redis缓存优化方案以提高NextCloud运行速度。

安装

如果不喜欢折腾的,可参考1分钟就能安装完成的方法:Snap安装教程Docker安装教程

环境要求:PHP 5.6 +MysqlNginxRedis(非必需)。

1、安装宝塔

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件商店,然后安装PHP 5.6+MysqlNginxRedis

然后点击左侧软件商店-PHP设置-安装扩展,安装Redis模块即可

接下来点击左侧网站-添加站点,填好域名和Mysql数据库用户名和密码信息。

2、上传Nextcloud程序
Nextcloud程序下载地址→传送门,目前为16.0.1版本,使用命令:

#进入站点根目录,自行修改路径
cd /www/wwwroot/www.moerats.com
#下载最新版程序,记得随时将链接换成最新版的下载地址
wget https://download.nextcloud.com/server/releases/nextcloud-16.0.1.zip
#解压并移动到根目录
unzip nextcloud-*.zip && rm -rf nextcloud-*.zip index.html
mv nextcloud/* . && rm -rf nextcloud
chown -R www:www ./

3、伪静态设置
点击站点设置-伪静态设置,添加以下代码:

location / {
    rewrite ^ /index.php$request_uri;
}

location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
    deny all;
}

location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
    deny all;
}

location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
    try_files $uri/ =404;
    index index.php;
}

location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
    try_files $uri /index.php$request_uri;
    add_header Cache-Control "public, max-age=15778463";
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;
    add_header Referrer-Policy no-referrer;

    access_log off;
}

location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
    try_files $uri /index.php$request_uri;
    access_log off;
}

4、新增Redis缓存配置
使用宝塔点击左侧文件,找到网站根目录的config/config.php配置文件,在后面新增以下代码:

'memcache.locking' => '\OC\Memcache\Redis',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => [
     'host' => '127.0.0.1',
     'port' => 6379,
],

5、安装Nextcloud
请输入图片描述
打开网址,选择Mysql数据库,填上数据库信息,并设置管理员账号和密码后,点击安装即可!到这里属于我们的私有云盘Nextcloud就搭建好了。

最后该网盘挺不错的,特别是更新到15.0版本之后,不过加载速度在国内还是慢点,官方推荐的是用APCu缓存,相比较Redis更快,不过博主一般只在小内存上跑,所以就直接使用了Redis缓存。如果你的内存很大,可以看下APCu使用文档→传送门,配置也不难。

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2019 年 07 月 15 日 12 : 21 AM

发表评论 取消回复

87 条评论

  1. leon-l

    你好,我用的linode安装了LNMP1.4,CENTOS7,PHP7,挂载了阿里云的ossfs,挂载成功,挂载也改成了WWW用户组,770权限,安装nextcloud可以打开网站,建立管理员账户时用SQLlite可以成功,用MYSQL会提示Can't create or write into the data directory /ncdata/ossfs/cloud,麻烦帮忙指点下,谢谢。

    1. Rat's
      @leon-l

      这个错误你可以百度看看。搜索结果挺多的。

      1. leon-l
        @Rat's

        在找博主之前都百度过了,各种能试的都试了,然而并没跟我的对症,我再找找吧,谢谢

        1. Rat's
          @leon-l

          回复真快,这个问题我还没遇到过,具体错误也不知道,所以不好说,你多搜索下解决方法。

          1. leon-l
            @Rat's

            刚回来,就打开你博客看看有没有回复,运气好就看到了,owncloud有类似的,但是不是挂在ossfs的,谢谢,为啥觉得你有点图吧基佬风

            1. Rat's
              @leon-l

              表示取向很正常,你搭建成功后,是先用的MYSQL数据库吗?

              1. leon-l
                @Rat's

                好像能写数据库了,用的是MYSQL,用这里的方法解决的,https://www.hello2099.com/1526.html,但是问题又来了,创建管理员帐户时出现502,然后再次登录还是创建管理员界面,并没有登录界面等着我,用原来的信息创建管理员帐户就提示帐户已存在,求教下面需要怎么做,谢谢

                1. Rat's
                  @leon-l

                  信息没写进去吧,可能还需要修改配置文件。

  2. z

    语言默认英文是什么情况?试了官方的方法
    config/config.php加一句
    <?php

    “force_ language ”=>“zh-Hans”,
    但是直接打不开网站了,就算加en,也是打不开,是这句代码不全吗?

    1. Rat's
      @z

      这个可能需要改系统语言才行。

      1. z
        @Rat's

        VPS系统吗,还是看时区?

        1. Rat's
          @z

          VPS系统语言。

  3. Sive

    不错,简洁明了

  4. 跳棋王

    博主,我用lnmp安装nextcloud12.0.4,创建管理员和配置数据库那步过不了,说服务器内部错误,怎么办?

    1. Rat's
      @跳棋王

      好像是权限问题,你是CentOS系统?

  5. iamfree

    nas4free怎么样啊?

    1. Rat's
      @iamfree

      这个不知道,不了解nas4free。

  6. ovencloud

    好吧 不管怎样,谢谢哈~

  7. Zehop

    请问下博主,那个中文界面需要怎么弄

    1. Zehop
      @Zehop

      个人设置里有 但是只要英文一个选项
      然后我去./setting/personsal.php 哪看了下
      里头说有注释说到语言是可以切换的....

      1. Rat's
        @Zehop

        你说的问题到没怎么注意过,可能一开始就是中文,我晚上有空再看看吧。

        1. ovencloud
          @Rat's

          博主,chandler的方法解决不了问题,我还试了官方的方法(https://docs.nextcloud.com/server/11/admin_manual/configuration_server/language_configuration.html)也不管用······· 其实两者是一样的。但我真不知道哪里出了问题。如果有空,我也可以把主机给你,能否看下我这是哪里出了问题~~~~

          1. Rat's
            @ovencloud

            你看下语言代码,试试其它的中文:https://www.transifex.com/explore/languages/。

            1. ovencloud
              @Rat's

              试过了····zh_CN zh_HK zh_TW 不管什么都是网页无法正常运行···· 要不我把ssh和网站admin给你?能否帮我看下······

              1. Rat's
                @ovencloud

                这问题没遇到过,可能无法帮助到你,不过别纠结了,就那几个英文,直接用谷歌浏览器就行了,自带翻译。

        2. Chandler
          @Rat's

          没有语言看这个https://www.orgleaf.com/652.html

          1. ovencloud
            @Chandler

            我试了链接里的方法,不管用,改了config.php直接网页无法正常运作······ 禁用函数选项里我的没问题·····语言代码我添的也没错(zh_CN)。简直绝望·····

            1. olof
              @ovencloud

              朋友解决了吗 我也是一样的情况

  8. summer_SJ

    那么问题来了,上传的文件算VPS硬盘空间吗

    1. Rat's
      @summer_SJ

      算的,文件都存在VPS里的。

  9. drvicar

    你这太简单了。
    我卡在了伪静态这里。
    需要自己添加伪静态,但是我不会。

    1. Rat's
      @drvicar

      刚查了下,出现404的问题需要开启pathinfo,参考这个:https://www.moerats.com/archives/32/。

    2. drvicar
      @drvicar

      我是使用的LNMP一键包安装的。
      添加虚拟主机后,打开是404。
      添加虚拟主机的时候,选择添加伪静态,但是文件是需要自定的吧?

  10. Beta

    把nextcloud上传到我的wwwroot内文件夹后。网站还是不显示,怎么办。。。

    1. Rat's
      @Beta

      不是上传到wwwroot文件夹,是网站根目录!

      1. Beta
        @Rat's

        部署好环境就整不来了,唉。。。

        1. Rat's
          @Beta

          可以结合这个教程:https://www.moerats.com/archives/61/,添加网站,解析,上传程序。

          1. Beta
            @Rat's

            如果是公司域内是否也要添加网站,我试过添加网站但是不成功

            1. Rat's
              @Beta

              要么添加网站,要么用ip。

              1. Beta
                @Rat's

                如果是用ip应该怎么操作,有相关教程吗?

                1. Rat's
                  @Beta

                  一般装了lnmp后,ip所对应的网站目录就是/home/wwwroot/default,把程序解压传到这个目录使用ip登录就可以了。

                  1. Beta
                    @Rat's

                    我登录后是lnmp的配置页面,该怎么去到nextcloud页面呢?加斜杠吗?

                    1. Rat's
                      @Beta

                      把default文件夹里的除了数据库其它全部删了,再上传程序,直接打开ip即可!

                      1. Beta
                        @Rat's

                        页面是白色既不报错,也无法访问,64位centos6.5 ,请问怎么办呢,大神

                        1. Chandler
                          @Beta

                          他那个不是404,而是503。我这边lnmp1.4, debian7出现同样问题,一直找不到解决方案

                          1. Rat's
                            @Chandler

                            之前在loc论坛也见过有人使用lnmp安装nextcloud出现503错误,不过他好像开启pathinfo就好了。

                            1. Chandler
                              @Rat's

                              解决,503是权限问题,军哥lnmp给chown www:www -R /path/to/dir 命令就好了,/path/to/dir 为网目录

                              1. Rat's
                                @Chandler

                                好的,我在教程加上这个命令吧。尽量让人少走弯路。