手动安装NextCloud教程-免费开源的私有云存储网盘可播放图片音乐
NextCloud由原ownCloud联合创始人Frank Karlitschek创建的,继承原ownCloud的核心技术又有不少的创新。在功能上NextCloud和ownCloud差不多,甚至还要丰富一些,在用户使用体验方面,NextCloud安装与使用都非常地顺手,最重要的是NextCloud完全开源免费。
NextCloud不仅是一个私人云网盘平台,也支持多用户同步协作使用。NextCloud支持账号注册,可以为账号开启两步验证,以确保账号安全。同时,NextCloud对于公开分享的文件可以设置有效期,对于上传的视频、音乐、Office文档等直接支持在线预览和播放。
NextCloud还提供了上百种的免费应用和插件,这些NextCloud应用与插件可以将NextCloud打造成为一个在线文档共享与编辑平台、音乐与视频娱乐平台以及文件存储下载平台。当然,如果是自己手动安装的NextCloud的话,那么这些插件也得自己配置好环境才行。
本篇文章就来分享一下手动安装NextCloud教程,更多的站长自建服务与平台,你还可以试试:
- Lsyncd搭建同步镜像-用Lsyncd实现本地和远程服务器之间实时同步
- VestaCP与WHMCS整合教程-实现自助开通虚拟主机销售主机空间产品
- ISPConfig与WHMCS整合方法-自动激活开通虚拟主机和管理空间用户
PS:更新记录.
1、想要自建音乐流媒体服务,可以从这里选择一个适合自己的:自建音乐流媒体服务器和私人音乐电台-开源免费的音乐服务程序推荐。2023.1.13
一、LAMP安装NextCloud
NextCloud官网:
- https://nextcloud.com/
准备好LAMP环境。LAMP即Apache、MysqL或Mariadb、PHP环境,NextCloud官方推荐使用Apache运行NextCloud,自带了.htaccess规则。而Nginx的话还需要自己手动编写NextCloud的URL重写规则。推荐以下方法一键安装LAMP:
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建立新的数据库。
PS:2018年9月1日更新,感谢baoang的提醒,安装NC时数据库里直接用root的账号就可以了,不用另设一个pan的账号。因为NC不会使用这个账号,而是把这个账号用于安装而已。安装完成之后,它会以nc_管理员ID为格式生成一个它自己的数据库账号,比如nc_qi这样的。
访问域名就会自动进入到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 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
猜你喜欢
-
请问一下,用lnmp一键安装包之后,不进行lnmp vhost add,而是直接解压至/home/wwwroot/default内。然后通过IP/nextcloud的方式访问,并安装,MYSQL的配置,无论是配置为单独的数据库,还是用默认的mysql数据库,都会跳转到ip/nextcloud/index.php/apps/files/这个URL,但是,显示404错误。我用的是14.0.4版本的nextcloud。LNMP一键安装后,未进行参数设置,直接使用。
2018年11月30日 00:52 -
我lnmp搭建好了,文件也解压到正确位置了,mysql用的是5.5.60的,php用的是7.1.18。访问域名没有报错,不过出来的页面一直是
内部服务器错误
服务器不能完成你的请求。如果再次发生,请在下方将技术详情发送给服务器管理员。
更多细节可以在服务器日志中找到.
技术细节
远程地址: 66.42.97.109
请求 ID: Kj4BjHaL9daUzFJnfxey2018年11月5日 11:38 -
嗯嗯。谢谢大佬。不过我先问一下,这样的话我是不是不能用snap来一键搭建啊
2018年11月1日 14:38 -
请问我已经用lnmp搭建了wordpress了,还能再用这个教程搭建nextcloud吗
2018年10月31日 15:23 -
你好,请问nginx上面装这个怎么去掉链接里面的index.php呢?用的宝塔面板
2018年6月1日 18:28 -
nextcloud怎么让别人注册啊,我在后台找了一下没看到设置选项。是需要安装什么插件吗?
2018年4月19日 10:24 -
自动安装出现:
error: cannot perform the following tasks:
– Run configure hook of “nextcloud” snap if present (run hook “configure”: cannot perform readlinkat() on the mount namespace file descriptor of the init process: Permission denied)这是什么情况 在Vultr上用ubuntu 14.0搭建的
2017年11月19日 13:46 -
2017年11月19日 13:43
-
请问 为啥我的nextcloud搭建后 一切都用起正常,就是不能预览图片和在线播发音乐视频?
用的Nextcloud 12.0.3目前最新版2017年11月9日 11:57 -
本地5T存储,不够就再花钱加容量
2017年9月15日 20:57 -
顺便安利下seafile也不错,写了一个一键脚本:https://www.xiaoz.me/archives/8480
2017年9月15日 14:14 -
NextCloud我安装在了Raspberry上了。
2017年9月15日 08:31 -
NextCloud配置Memcached缓存效果显著吗?
目前在WordPress配置Memcached感觉性能提升不少,
特别是一些已经超卖成石头盘的VPS效果更明显。
另外OneinStack确实挺方便,很容易将环境建构起来。2017年9月15日 08:16 -
放本地NAS
2017年9月14日 23:40 -
赶上qi更新第一个评论,哈哈哈
其实我自己基本都存在本地的,要不然好几个100多G的硬盘用不了了
其实腾讯云的OSS加上 腾讯云官方的管理系统也可以当网盘 🙂2017年9月14日 22:45
第一次访问,用户名,密码,存储位置,数据库什么的设置完之后。下一个页面就变成“Access denied“
不知如何排解。OneinStack LAMP 绑定好了证书。