Rat's

Ubuntu使用Snap快速安装NextCloud网盘,并配置域名及SSL证书
说明:关于NextCloud安装方法之前说了两种了,常规的lnmp环境搭建和使用Docker安装,参考:一款不错的...
扫描右侧二维码阅读全文
29
2017/11

Ubuntu使用Snap快速安装NextCloud网盘,并配置域名及SSL证书

说明:关于NextCloud安装方法之前说了两种了,常规的lnmp环境搭建和使用Docker安装,参考:一款不错的个人私有云:NextCloud安装教程使用Docker快速安装NextCloud个人私有云盘,现在再说另一种安装方法,使用Snap快速安装,由于Snap包自带NextCloud,所以安装快速简单,是这几种方法中最简单的一个,也很实用,有兴趣的可以尝试下。

Snap是什么?

Snap的安装包扩展名是.snap,类似于一个容器,完全独立于系统,它包含一个应用程序需要用到的所有文件和库(snap包包含一个私有的root文件系统,里面包含了依赖的软件包)。它们会被安装到单独的目录,各个应用程序之间相互隔离,互不影响。而且安装快捷、创建简单、运行安全,易管理。目前支持的主流发行版有UbuntuDebian等。

Snap的用法

这里只简单说下,初步了解下就行了。

#查看snap版本信息
snap --version
#找出所有snap应用
snap find
#安装应用
snap install 包名
#重启应用
snap restart 应用名
#升级应用
snap refresh 应用名
#查看安装的应用
snap list
#卸载应用
snap remove 应用名

安装

由于Ubuntu 16.04系统自带Snap,为了方便,可以直接使用该系统。

Snap包自带NextCloud,所以我们可以直接安装。

#更新系统
apt-get update -y
#安装NextCloud
snap install nextcloud

这时候就可以打开http://your_ip进入登录页面了,如果想用域名登录并配置SSL证书的话,先别登录,请直接看后面。

配置域名

将域名解析至VPSIP就可以使用域名登录了,然后再添加 Let’s encrypt SSL证书并使用https访问。

添加SSL证书

使用命令:

nextcloud.enable-https lets-encrypt

根据要求输入你的邮箱,域名即可!

然后就可以打开域名并设置账号和密码登录了。
请输入图片描述
请输入图片描述

修改文件夹

NextCloud存储文件夹在/var/snap/nextcloud/common/nextcloud/data,可以先修改/var/snap/nextcloud/current/nextcloud/config/config.phpdatadirectory对应的文件夹位置。

比如将存储文件夹移动到/home,除了修改datadirectory对应的参数外,还需要运行以下命令:

mv /var/snap/nextcloud/common/nextcloud/data/{.,}* /home
#重启
snap restart nextcloud
搬瓦工年付$187机房套餐补货了,电信联通优化,512M内存/500G流量/1G带宽,建站稳定,优惠码:BWH1ZBPVK,【点击购买】!
搬瓦工年付$28CN2高速线路,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快,建站稳定,优惠码同上,【点击购买】!
Vultr最新活动,充$5$33,可以用$2.5的服务器一年多,活动随时结束,快上车【点击查看】!
最后修改:2018 年 09 月 10 日 10 : 20 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论

60 条评论

  1. shaw

    您好!用snap安装了nextcloud部署了证书,但是显示证书无效,请问一下要怎么解决?

    1. Rat's
      @shaw

      部署证书前,域名解析生效了没,也就是ping域名的时候ip需要是服务器的ip。

      1. shaw
        @Rat's

        现在可以重新部署不?

        1. shaw
          @shaw

          可以了,谢谢你!

  2. xigua

    博主,我在vm上安装了ubuntu 18.04 server,安装系统自带了nextcloud。我现在想在电脑上挂一个移动硬盘,然后怎么让虚拟机里面的nextcloud挂载这个移动硬盘呢?

    1. cc
      @xigua

      我也遇到这个问题了,刚刚搞定。方法是:首先你的数据盘需要挂载到/media下,比如我挂载到/media/data;其次执行sudo snap connect nextcloud:removable-media命令;然后在config.php文件里修改数据存储目录,比我修改数据存储目录为/media/data/nextcloud;然后根据楼主的做法,将默认存储目录里的文件全部拷贝到你自定义的存储目录里,比如我的就是/media/data/nextcloud;最后重启nextcloud!

    2. Rat's
      @xigua

      这个没玩过VM,暂时不是很清楚。

      1. xigua
        @Rat's

        额根据你上面写的提示,我把路径改了,就是修改/var/snap/nextcloud/current/nextcloud/config/config.php的datadirectory,然而保存重启,打开链接就报错Internal Server Error,我只改了链接,别的啥都没改,链接的路径确认有效,所以这是咋回事呢

      2. xigua
        @Rat's

        我已经把硬盘挂载到系统了,问题是怎么修改nextcloud的文件存储路径呢?我是13的,没找到修改路径的选项,config.php修改完直接报错进不去界面。。。。

        1. Rat's
          @xigua

          这个问题还是等我今晚重新研究下。

          1. xigua
            @Rat's

            拜托了,晚上在线等

            1. Rat's
              @xigua

              好了,看文章后面。

              1. xigua
                @Rat's

                博主你最后一句是把数据移到需要改的路径么?我是已经改好,里面全部文件也移过去了,然而依旧不行,感觉可能是权限不对,我问了其他用lamp安装的,他们都是要把新路径的权限改成www的775,然而这个用snap的没法改。。。。

                1. Rat's
                  @xigua

                  这个我测试的时候是正常的,你移过去重启nextcloud了没?如果重启是打不开么?

  3. zisu

    error: access denied (snap login --help)
    这个怎么解决啊?

    1. Rat's
      @zisu

      这个看是不是权限问题,你在每条命令前加一个sudo试试,比如sudo snap install nextcloud

      1. zisu
        @Rat's

        解决了!谢了!

  4. 一个-灵

    博主,怎么修改访问nextcloud的默认端口呢?

    1. Rat's
      @一个-灵

      这个好像不好修改,你可以用其它方法安装Nextcloud,比如文章开头的教程。

      1. 一个-灵
        @Rat's

        博主,我在 /snap/nextcloud/8267/htdocs/core/doc/admin/_sources/installation/nginx.txt
        这个路径下的nginx里找到了可以修改端口的方式,但用管理员打开编辑,点保存总是提示没有写入权限,保存这一步怎么破?

        1. Rat's
          @一个-灵

          你shell授权777试试,这个改端口我还没怎么研究过,有空我看看。

          1. 一个-灵
            @Rat's

            版主,这个问题先忽略
            有另外一个问题,ubuntu18.04的版本没有/etc/rc.local这个文件,怎么做到开机执行我要的两行代码?

            1. Rat's
              @一个-灵

              具体怎么做,你可以看下这个教程:https://www.moerats.com/archives/623/。

  5. Desmond

    博主请问下,我安装好nextcloud后可以直接http访问,用文中的方法启用ssl后不论ip还是域名都无法访问了,是哪里做错了么...

    1. Rat's
      @Desmond

      看添加ssl的时候,域名有没有提前解析过来,而且还要提前生效,你都做到了还不行的话,我就把教程过一遍看看。

      1. Desmond
        @Rat's

        已经解决了~问题可能和dnspod或者宝塔有关

  6. xyh101

    博主好 麻烦问一下 我aria2下载的东西,在nextcloud首页看不到,我的下载目录已经改过了

    1. Rat's
      @xyh101

      如果配置正确的话,写入权限给了没,或者不用Nextcloud网盘,博客讲的网盘很多,可以选择其它。

  7. shawf

    博主,手上有一个无限容量的GG网盘,可不可以通过rclone挂载GG网盘实现无限容量的nextcloud?

    1. Rat's
      @shawf

      可以,教程:https://www.moerats.com/archives/481/。

  8. shawf

    博主,自传证书找不到路径啊!用nextcloud自签发证书又不行

    1. Rat's
      @shawf

      自签发有什么问题吗?证书路径这个我好久没玩了,你去/var/snap/nextcloud研究下。

      1. shawf
        @Rat's

        找不到萌新一枚,求大神指点

      2. shawf
        @Rat's

        自签发证书显示不安全,https那里是红色的

        1. shawf
          @shawf

          是把证书上传到apache里面吗?

          1. Rat's
            @shawf

            建议你用自签证书吧,我刚试了下,自签证书并没有问题。你自签的时候输入y,邮箱和域名就行了,域名需要先解析生效。

            1. shawf
              @Rat's

              可以了大佬,可能是昨天抽风了,刚登上去已经可以了

            2. shawf
              @Rat's

              好的,谢谢

  9. Sgt

    我想在线阅读office使用collabora,点击word,excel的时候不能在线预览,会报错有什么办法吗

    内部服务器错误
    服务器不能完成你的请求。

    如果再次发生,请在下方将技术详情发送给服务器管理员。

    更多细节可以在服务器日志中找到.

    还有请问一下这个日志的路径是多少? 多谢

    1. Rat's
      @Sgt

      换一个网盘吧,用FileRun,挺适合办公的,查看:https://www.moerats.com/archives/454/。

  10. Acci

    你好呀!我想问一下,我的服务器已经搭建网站了,snap安装nextcloud后访问域名就进入网站了,有什么方法可以进入nextcloud的界面吗?

    1. Rat's
      @Acci

      既然你已经有了网站环境,何必再用snap,用这个教程吧:https://www.moerats.com/archives/175/。

  11. xmx

    centos怎么使用这个snap呢,手动装好难呀,萌新我要死了

    1. Rat's
      @xmx

      CentOS好像还不支持Snap,目测正在开发中。

  12. canaan

    各位大侠,我们有cert.pem 、chain.pem、privkey.pem三证书,Synology导可以用,用snap方式安装的,证书要放到什么位置?请各位高手指导下,谢谢!

    1. Rat's
      @canaan

      这个是自动申请ssl证书,证书具体放哪里我还没注意,等我有空看看。

      1. canaan_hu
        @Rat's

        我手动安装,公司证书与私钥放在/etc/apache2/ssl目录,修改下配置文件即可。snap安装方式,找不到位置,另如何用myphpadmin管理snap安装的mysql数据库?

        1. Rat's
          @canaan_hu

          这个没研究过,不过好像不好管理,snap和docker差不多,是个独立容器。

  13. Tom

    snap安装好之后,怎么再在服务器上配置ariang啊?

    1. Rat's
      @Tom

      你的意思是搭建Ariang,还是使用?如果是使用的话,只需要将下载目录修改成Nextcloud存储目录就行了。

  14. johnpoint

    B博主,snap配置好了,ssl也成功了但是无法通过域名访问咋办?ip访问是可以的

    1. johnpoint
      @johnpoint

      可以了,将/var/snap/nextcloud/current/nextcloud/config/config.php中ip地址转换为域名即可

  15. Chauncey

    试着用他挂载googledrive 但是一直挂载不上,
    因为nextcloud中的external storage只能支持oAuth2,这个无限容量的谷歌硬盘没有管理员权限无法获得。
    用rclone的方式尝试了一下,挂载之后无法在nextcloud中读取(目录在其子目录下),但为什么h5ai可以读取出来呢?请问博主这个问题如何解决?

    1. Rat's
      @Chauncey

      你试试软连接,或者用lnmp安装Nextcloud后再挂载。

      1. Chauncey
        @Rat's

        博主说的挂载还是用rclone挂载?
        还有用lnmp安装nextcloud和现在这样有什么区别吗?

        1. Rat's
          @Chauncey

          是的,用snap权限好像很麻烦,lnmp好些。不过你直接挂载,不怕缓存问题?一般用这个的,都是下载到vps后,在mv到挂载文件夹。

          1. Chauncey
            @Rat's

            我现在也是这样,现下载到VPS,然后mv,现在的问题是nextcloud下读不出来GoogleDrive的文件,但是通过nextcloud上传到GoogleDrive挂载的文件夹,GoogleDrive确实也同步进去了,也就说说能写,但是不能读,不知道应该怎么解决。

            1. Rat's
              @Chauncey

              对于读取不出来的问题就不是很清楚了,没试过nextcloud挂载,你先自己折腾下。

              1. Chauncey
                @Rat's

                博主,问题搞定了,解决方法是,通过nextcloud中的外部存储管理建立一个本地外部存储,然后用rclone挂载到设置的本地外部存储文件夹中,这样就可以实现GoogleDrive的双向读写功能了。除了这个,发现还有一些别的可玩地方,想探讨一下,不知道有没有telegram?方便的话邮件联系一下,我的邮箱*@gaiml.com

                1. Rat's
                  @Chauncey

                  搞了这么久辛苦了。我发邮件你吧。