【转载】手动安装NextCloud教程-免费开源的私有云存储网盘可播放图片音乐

【原文链接:https://wzfou.com/nextcloud-install/


NextCloud由原ownCloud联合创始人Frank Karlitschek创建的,继承原ownCloud的核心技术又有不少的创新。在功能上NextCloud和ownCloud差不多,甚至还要丰富一些,在用户使用体验方面,NextCloud安装与使用都非常地顺手,最重要的是NextCloud完全开源免费。

NextCloud不仅是一个私人云网盘平台,也支持多用户同步协作使用。NextCloud支持账号注册,可以为账号开启两步验证,以确保账号安全。同时,NextCloud对于公开分享的文件可以设置有效期,对于上传的视频、音乐、Office文档等直接支持在线预览和播放。

NextCloud还提供了上百种的免费应用和插件,这些NextCloud应用与插件可以将NextCloud打造成为一个在线文档共享与编辑平台、音乐与视频娱乐平台以及文件存储下载平台。当然,如果是自己手动安装的NextCloud的话,那么这些插件也得自己配置好环境才行。

本篇文章就来分享一下手动安装NextCloud教程,更多的站长自建服务与平台,你还可以试试:

  1. Lsyncd搭建同步镜像-用Lsyncd实现本地和远程服务器之间实时同步
  2. VestaCP与WHMCS整合教程-实现自助开通虚拟主机销售主机空间产品
  3. ISPConfig与WHMCS整合方法-自动激活开通虚拟主机和管理空间用户

PS:2017年9月20日更新,觉得手动安装麻烦的朋友,可以使用一键安装的方法,参考:Nextcloud个人云存储绝佳选择:一键自动安装方法和云盘使用体验

一、LAMP安装NextCloud

NextCloud官网:

  1. https://nextcloud.com/

准备好LAMP环境。LAMP即Apache、MysqL或Mariadb、PHP环境,NextCloud官方推荐使用Apache运行NextCloud,自带了.htaccess规则。而Nginx的话还需要自己手动编写NextCloud的URL重写规则。推荐以下方法一键安装LAMP:

  1. Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持
  2. OneinStack一键安装脚本-轻松部署Let’s Encrypt证书配置Https站点

LNMP 1.4和OneinStack都可以一键安装LAMP环境,这里我以OneinStack来作为操作演示,在安装OneinStack时选择组件时选择Apache即可,PHP建议使用7.0以上,数据库的话建议Mariadb。其它的缓存组件也可以安装。

绑定好域名与添加SSL证书。OneinStack在添加网站时直接就可以添加SSL证书了,同时要求绑定的域名必须提前解析到服务器的IP上,这样才可以一键生成Lets免费证书。

下载NextCloud程度包安装。到官网:https://nextcloud.com/install/#instructions-server,下载最新的程序包解压上传到网站的根目录。

为NextCloud建立新的数据库。

访问域名就会自动进入到NextCloud的安装页面了,填写你的管理员账号与密码,然后在下方设置好文件存储路径,最好与程序不要在同一个目录下。同时填入SQL数据库信息,完成安装。(点击放大)

完成后,你就可以登录到NextCloud后台,这就是NextCloud的用户管理界面。(点击放大)

二、LNMP安装NextCloud

准备LNMP环境和上面一样,只是在LNMP 1.4和OneinStack安装时选择Nginx环境即可,其它的组件都一样有选择性地安装。如果安装了Zend OPcache,可能在安装时会提示错误:“PHP 被设置为移除内联块, 这将导致多个核心应用无法访问

解决方法:修改php.ini中Opcache的参数进行修改,如果是Oneinstack的话需要在/usr/local/php/etc/php.d/ext-opcache.ini 中修改。找到此代码并改成:opcache.save_comments=1 ,因为默认是0,改完重启php-fpm就行。

编写URL地址重写规则。出现错误:No input file specified.,主要是Nginx还需要自己写重写规则,你可以将以下规则复制粘贴到/usr/local/nginx/conf/vhost/你的网站.conf,由于规则太多,你也可单独建立一个文件,然后在你的网站.conf引用即可。具体规则如下:

  #(可选)添加如下header主要为了安全
    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;
    #(可选)为了支持user_webfinger app
    rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

    #日历和联系人,建议加上
    location = /.well-known/carddav {
    return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
    return 301 $scheme://$host/remote.php/dav;
    }
    #设置上传文件的最大大小
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;
    #将所有请求转发到index.php上
    location / {
    rewrite ^ /index.php$uri;
    }
    #安全设置,禁止访问部分敏感内容
    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
    deny all;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
    deny all;
    }

    #默认有,替换原来的就行
    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param modHeadersAvailable true;
    fastcgi_param front_controller_active true;
    fastcgi_pass unix:/dev/shm/php-cgi.sock; #这边我改过,参照原来的
    fastcgi_intercept_errors on;
    fastcgi_request_buffering off;
    include fastcgi.conf;
    }

    #安全设置,禁止访问部分敏感内容
    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
    try_files $uri/ =404;
    index index.php;
    }

    location ~ \.(?:css|js|woff|svg|gif)$ {
    try_files $uri /index.php$uri$is_args$args;
    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;
    access_log off;
    }
    location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
    try_files $uri /index.php$uri$is_args$args;
    access_log off;
    }

fileinfo\Memcached\Redis等都可以通过OneinStack一键安装。

NextCloud安全与性能优化:这种提示一般在NextCloud的服务器管理中可以看到,建议缓存类的直接安装一个即可,安装多了也没有什么用。

为了您服务的安全和性能, 请将所有设置配置正确. 我们将会进行一些自动化检查以帮助您完成这项工作. 详情请查看 “小提示” 部分及相关文档.

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

HTTP 请求头 “Strict-Transport-Security” 没有配置为至少 “15552000” 秒. 出于增强安全性考虑, 我们推荐按照安全提示中的说明启用 HSTS.

内存缓存未配置. 如果可用, 请配置 memcache 以增强性能. 更多信息请查看我们的文档.
PHP 的组件 OPcache 没有正确配置. 为了提供更好的性能, 我们建议在php.ini文件中使用下列设置:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

NextCloud添加Memcached缓存。修改程序目录下的config目录中的config.php文件,在配置文件中添加如下,这个是多个Memcached实例,单个自己改:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' => array(
     array('localhost', 11211),
     array('server1.example.com', 11211),
     array('server2.example.com', 11211),
     ),

NextCloud添加Redis缓存。在配置文件中添加如下,这个是通过TCP连接的

'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
      ),

还有性能更好的UNIX连接

'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => '/var/run/redis/redis.sock',
     'port' => 0,
     'dbindex' => 0,
     'password' => 'secret',
     'timeout' => 1.5,
      ),

同时,官方还推荐加入如下,来用于存储文件锁

'memcache.locking' => '\OC\Memcache\Redis',

Nginx运行NextCloud一切正常。

三、NextCloud添加应用

NextCloud提供了丰富了内置应用,并且这些应用可以直接在NextCloud的后台下载并安装,有点像我们的Wordpress插件一样直接安装。这些介绍几个有用的NextCloud插件,相信大家一定会用到。

SMTP发信与限制最大上传文件。这个直接在NextCloud的后台设置中就可以设置选项,SMTP可以让我们调用第三方的发信服务来发送NextCloud的邮件,自带的PHP发信也可以,但是基本上会被各大邮箱判定为垃圾邮件。

数据存储加密与外挂存储。首先到NextCloud应用中激活Default encryption module、External storage support这两个插件。

启用数据加密需要谨慎:因为数据一旦加密被启用, 之后上传到服务器的所有文件都将服务器上加密,只有当启用状态的加密模块支持解密并且所有前提都满足时 (例如: 设定恢复密钥) 才能解除加密。请注意, 加密会增加文件大小,单独的加密不能保证系统的安全性,你需要同时设置恢复密钥。

外挂存储主要是可以让NextCloud通过SMB / CIFS 登录 OC 的方式挂载第三方的存储应用,启用这个插件有些麻烦,可能提示:没有安装 “smbclient”. 安装命令:apt-get install smbclient和apt-get install php-smbclient。

四、总结

至于选择Apache还是Nginx来运行NextCloud主要还是取决你对Nginx或者Apache的熟悉程度,LNMP 1.4和OneinStack对Nginx都做了很好了优化,Http 2.0、SSL证书还有缓存组件和PHP函数都可以一键安装与配置,省去了不少的麻烦。

NextCloud的图片预览、音乐视频在线播放等基本功能都是没有问题了,在使用NextCloud应用过程中倒是遇到了不少的问题。首要的问题就是NextCloud的应用配置比较难,例如Office文档插件、RSS在线阅读器插件等,都需要自己手动配置好服务器环境。

文章出自:挖站否 https://wzfou.com/nextcloud-install/,部分内容参考自:zrj96 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容

  • 【原文链接:https://wzfou.com/nextcloud/】 搭建个人云存储一般会想到ownCloud,...
    duyi324阅读 11,835评论 1 14
  • 下文来自 https://lnmp.org/ LNMP一键安装包是什么? LNMP一键安装包是一个用Linux S...
    swoft_阅读 391评论 0 1
  • 认识周长研讨 对策问题展示 同行互进 共同研讨 12月5日省骨干教师培训班跟岗第二天,在钟晓宇校长的带领下...
    陈瑞华阅读 242评论 0 0
  • 中午休息的时候,因我离家比较远,所以一般吃完饭便呆在科室里。那会儿没有病人,值班的姐姐便说起关于儿子的一件小...
    苏巧阅读 326评论 0 0
  • 顾晓峰爷爷说,他一直不知道木匠女儿的死因,顾晓峰出生几年后,一个同村的好朋友来看他,他才知道,原来木匠女儿过门之前...
    呢喃雪阅读 450评论 0 0