本文开始,将介绍一下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】原创文章,未经许可不得转载!