为什么是snap:
既然选择了服务器,那肯定要来一个非常稳定的snap了,目前就是使用nextcloud的snap包。
snap优缺点:
snap安装的nextcloud优点在:安装简单、稳定、自动升级、自带配置环境无需自行配置、包内带的Nextcloud 15.0.7、Apache 2.4、PHP 7.2、MySQL 5.7、Redis 4.0等配置环境不会影响到系统的相关软件(snap包内的apache并不是真正的安装在系统里的)等优点;缺点就是:没那么灵活、最新版本的nextcloud可能不兼容以前的插件等。
snap安装nextcloud:
ubuntu 16.4及以后的ubuntu系统里都自带了sanp了,只需要输入
snap install nextcloud
即可安装,安装完成后,在浏览器输入ip就可开始使用了。
snap nextcloud配置:
snap安装很简单,主要说一下安装完成的配置。
为snap nextcloud配置ssl:
如果有公网ip,并且80和443端口都没有被封
nextcloud.enable-https lets-encrypt
并按照接下来的提示,输入解析到本机ip的域名和你的邮箱,即可完成ssl的申请并将证书安装到nextcloud。
如果有公网ip,但是80或者443端口有任一被封
可以使用dns的方式来签署ssl证书,这里介绍一个git脚本
根据你的域名解析商不同来选择脚本,目前可选择dnspod、cloudflare、cloudxns等。这里以cloudflare为例说一下。
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-cloudflare.sh
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/cloudflare.conf
chmod +x le-cloudflare.sh
vim cloudflare.conf
填写你的API、emall、域名、和解析名。然后输入
./le-cloudflare.sh ./cloudflare.conf
即可申请ssl证书。申请完毕之后进入证书所在目录
cd ./certs/*/
mkdir -p /var/snap/nextcloud/12387/certs/custom
cp cert.pem /var/snap/nextcloud/12387/certs/custom
cp privkey.pem /var/snap/nextcloud/12387/certs/custom
cp chain.pem /var/snap/nextcloud/12387/certs/custom
sudo nextcloud.enable-https custom -s cert.pem privkey.pem chain.pem
vim /var/snap/nextcloud/current/nextcloud/config/config.php
# array (
# 0 => '172.16.1.17',
# 1 => '域名',
# ),
#更改完保存
snap restart nextcloud
这样就将自签证书安装到nextcloud上,可以属于域名来访问了。
为nextcloud添加硬盘:
输入sudo snap connect nextcloud:removable-media
然后将硬盘挂载到/media
目录下,之后在域名/index.php/settings/apps
里添加External storage support
这个应用。在域名/index.php/settings/admin/externalstorages
填入硬盘绝对路径,在域名/index.php/settings/user/externalstorages
配置后,在ssh里输入sudo nextcloud.occ files:scan --all
即可扫描并添加硬盘里的文件了。
这个snap包里没有smbclient,如果想挂载smb网络硬盘的话,需要自己在ssh里安装smbclient并将smb网络硬盘挂载到/media
目录下,作为硬盘来挂载到nextcloud里。
最后
snap nextcloud的项目地址在https://github.com/nextcloud/nextcloud-snap,目前snap安装的nextcloud还不能调整和配置包内的php和apache2,但官方已经配置好的apache2和PHP 单文件16Gb的上传限制(实际好像不限制大小),一般来说应该不需要更改。/media目录的所有者和snap运行的用户均为root,可以设置
chmod 777 -R /media
来使其他程序可以读写硬盘,但有些软件比如qbittorrent就需要运行用户为root才可以写入。snap 安装的nextcloud还是比较省心的,再配上webdav上传什么的也很方便,作为个人网盘,我觉得是够了。