NextCloud部署完成之后,管理员登录进入–设置—基本设置 你会发现安全及设置警告,有好几个警告。
我们一个一个的去处理这些警告
警告1:你的数据存储目录可以从互联网上直接访问。.htaccess文件没有生效,请配置你的网页服务器以避免数据存储目录可以从外部访问或将数据存储目录转移到网页服务器根目录之外。
.htaccess文件没有生效。我的处理方法是找到/etc/httpd/conf/httpd.conf
修改httpd.conf加入以下代码
<Directory "/var/www/html/nextcloud/data"> AllowOverride all </Directory>
然后保存httpd.conf
在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。
警告1消失,已解决。
但是问题有来了!!我在同一个服务器环境下,部署了WordPress后才发现的。
同一个服务器环境下,同一个数据库下,再新建一个WordPress的数据库用户。搭建好WordPress之后,发现WordPress除了主页之外,任何页面都是无法打开。
由于NextCloud目录在/var/www/html/nextcloud/,上面修改的httpd.conf虽然警告消失了。但是会造成本地的设备访问NextCloud如果使用域名+端口映射访问,无法访问,必须使用本地IP地址直接访问。外网访问使用域名+端口映射一切正常。这个问题真的非常讨厌,但是不知道问题出在哪里。最后才知道,还是httpd.conf没有配置好。
WordPress除了主页之外,任何页面都是无法打开,也是httpd.conf没有配置好造成的。httpd.conf里面的/var/www/html,这个目录默认配置AllowOverride None,要把它修改为AllowOverride All
再次修改了httpd.conf如下:
<Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride all # # Controls who can get stuff from this server. # Require all granted </Directory>
修改好保存,然后重启一下httpd服务。
本地的设备使用域名+端口映射访问NextCloud一切正常了!
WordPress除了主页之外,任何页面都是无法打开的问题也解决了!
警告2:你正在通过HTTP访问该站点,我们强烈建议您按照安全提示中的说明配置服务器强制使用HTTPS.
这个警告我暂时不想管,所以先放一边先。
警告3:内存缓存未配置。如果可用,请配置memcache以增强性能。更多信息请查看我们的文档。
开启内存缓存,提升使用体验。需要安装、配置redis服务
# 安装redis yum -y install redis # 设置redis开机启动 systemctl enable redis # 启动redis systemctl start redis
修改/var/www/html/nextcloud/config/config.php文件,加入以下配置:
'memcache.local' => '\OC\Memcache\APCu', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ),
然后重启Apache,内存缓存生效
systemctl restart httpd
警告4:PHP的组件OPcache没有正确配置,为了提供更好的性能,我们建议在php.ini文件中使用下列设置:
我找到php.ini,并没有这个警告列出的内容。
我现用的php版本是PHP 7.1.17。然而我这这找到/etc/php.d/opcache.ini
按照警告的提示,逐一修改后如下图: