FreeNas 11.3插件教程之一:安装nextcloud并用https访问
本文开始,将介绍一下freenas11.3中几个常用插件的安装配置。今天先介绍一下nextcloud插件的安装、配置https,以及优化。
一、安装
打开freenas的插件页面,选择nextcloud:
点击安装,出现下面的界面:
jail名称自己随便填一个,网络选择“DHCP”,然后点“保存”,系统会自动进行安装。安装完成后,在插件页面就会看到安装好的nextcloud插件,如下图所示:
安装说明里面有数据库和nextcloud的管理账号和密码。点击“管理”按钮打开nextcloud页面,如果能够正常打开,输入账号密码就行了。不过我的出现了如下提示:
提示说需要编辑“config/config.php”这个文件,这就需要进入到插件里面。可是在插件这个页面并没有什么可以操作的入口。其实,插件本身就是一个jail,安装完插件之后,我们可以在jails菜单里面找到它。
在这里,可以点击“命令行”菜单对插件进行操作。大家可以参考《使用JAIL自建服务教程之一:JAIL创建和优化》这篇教程,开启nextcloud插件的ssh访问,之后就可以用putty等软件对插件进行操作了。
现在我们对config.php文件进行修改:
nano /usr/local/www/nextcloud/config/config.php
将“trusted_domains”里的地址改成你的插件IP地址,保存。再试试,发现可以打开nextcloud登录页面了。
然后输入“安装说明”里的账号密码就可以登录使用了。
二、修改数据目录
我的插件是放在一个SSD存储池上,容量只有240G,也就是说此nextcloud最多也只能存储240G数据,这明显不能够满足要求。因此,就需要把数据目录映射到freenas存储池里。
先在nextcloud插件中建立一个目标目录:
mkdir /mnt/ncdata
然后在“插件”页面中停止nextcloud,点击“挂载点”按钮,出现如下页面
再点击右上角“动作”–“添加”,如下图
“源”选择freenas主机中的目录,“目标”选择插件中新建立的目录“/mnt/ncdata”,保存。
然后转到插件页面,打开nextcloud插件。使用ssh连接到nextcloud,先停止nginx服务,再将原来数据目录内的文件复制到新的数据目录:
service nginx stop chown www:www /mnt/ncdata cp -rfp /usr/local/www/nextcloud/data/. /mnt/ncdata
然后修改nextcloud的配置文件:
nano /usr/local/www/nextcloud/config/config.php
将“datadirectory”这一项改成“/mnt/ncdata”,保存退出。
启动nginx:
service nginx start
然后再打开nextcloud就可以了。
到现在为止,我们就可以正常使用nextcloud了。如果你的nextcloud仅应用于局域网内,或者你对数据传输安全不那么重视的话,那么接下来的配置ssl就不需要了。
三、配置SSL
1、用WinSCP等工具将证书文件到“/usr/local/etc/ssl/”目录下,我的证书是在“ssl for free”网站上申请的,如下图
2、编辑配置文件。
先将原先的nginx配置文件复制一份,并将原来的文件改名:
cp /usr/local/etc/nginx/conf.d/nextcloud.conf /usr/local/etc/nginx/conf.d/nextcloud-ssl.conf mv /usr/local/etc/nginx/conf.d/nextcloud.conf /usr/local/etc/nginx/conf.d/nextcloud.conf.bak
然后修改nextcloud-ssl.conf文件,因为文件比较长,建议使用winscp等工具进行修改。找到左边以下几个地方,改成右边的样子。其中“server_name”、“ssl_certificate”、“ssl_certificate_key”这几个地方要按照你自己的实际情况修改。
然后重启nginx服务:
service nginx restart
现在我在浏览器中输入https://域名,就可以使用ssl传输了,证书也显示正常。这里提一下,你还需要按第一步中的方法将你的域名添加到nextcloud的配置文件config.php中的“trusted_domains”里才可以正常访问。
四、优化
现在我们在nextcloud中打开“设置”–“概览”,会看到一些安全与设置警告
下面我们一项一项来消除它们。
1.解决getenv(“PATH”)为空的问题
用winscp打开“/usr/local/etc/php-fpm.d/nextcloud.conf”这个文件,在最后加上一句:
env[PATH] = /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
然后重启php-fpm:
service php-fpm restart
刷新页面,发现第一个错误已经没有了。
2.解决“数据库丢失了一些索引”的问题
先安装sudo工具:
pkg install sudo
再运行修复命令:
sudo -u www php /usr/local/www/nextcloud/occ db:add-missing-indices
3.解决“数据库中的一些列由于进行长整型转换而缺失”的问题
运行修复命令:
sudo -u www php /usr/local/www/nextcloud/occ db:convert-filecache-bigint
提示“Continue with the conversion (y/n)? [n]”时,输入“y”确定。
4.解决“该实例缺失了一些推荐的 PHP 模块”的问题
提示缺少“imagick”模块,我们就安装这个模块:
pkg install php74-pecl-imagick
这里需要注意一下,安装的模块版本要与你php版本一致。可以用“php -v”查看一下你的php版本。
重启php-fpm
service php-fpm restart
现在刷新一下管理页面,发现所有检查已通过。
声明:本文为本站【NASGEEK】原创文章,未经许可不得转载!