昨晚看到云主机的数据盘没怎么使用,大量空间闲置,就想搭建个私人云盘使用。

因为之前使用过 Nextcloud,这次也就直接用它了。

Nextcloud - Login

安装前准备

服务器是使用 OneinStack 搭建好的 LNMP 环境,已经完全满足安装 Nextcloud 安装的需求。

Nextcloud - System requirements

我们还需完成:

  1. 创建好数据库并设置好权限,记录:

    • 数据库名称;
    • 数据库用户名及密码。
  2. 设置虚拟主机;

    • 设置域名解析;
    • 添加虚拟主机并申请 SSL 证书。
    • 将以下代码添加到虚拟主机的配置文件中,或对相关代码进行修改:
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
add_header Referrer-Policy no-referrer;

这样在安装完成之后,就不会出现这两个方面的安全及设置警告。

安装

Nextcloud - Installer

我们下载安装器(Web Installer),保存到虚拟主机的根目录下,同时设置好读写权限:

chown -R www.www /home/wwwroot/
find /home/wwwroot/ -type d -exec chmod 755 {} \;
find /home/wwwroot/ -type f -exec chmod 644 {} \;

然后执行安装器,即可下载程序文件并按照指引完成 Nextcloud 的安装。

Nextcloud - Web Installer

安装过程中需要用到数据库名称、数据用户名和密码,按上一步创建时设置的填写即可。

安装过程中创建的管理员账号和密码,需要做好记录。

Nextcloud - Install

当我们看到这个页面时,就表明 Nextcloud 已经完成了安装,可以使用了。

Nextcloud - Ready

设置

登录后,我们可以进行必要的设置及创建非管理员账户。

Nextcloud - Configuration

常规的设置还比较简便明了,需要稍微费神一些的,是“安全及设置警告”。

以下是我们遇到的几个问题:

PHP 内存限制低于建议值 512MB

PHP 内存限制低于建议值 512MB,我们需要修改 PHP 的配置文件“/usr/local/php/etc/php.ini”,将“memory_limit”改为大于 512M 的数值。

Nextcloud - memory_limit

然后重启 php-fpm 和 nginx 即可。

Nextcloud - memory_limit

根据说明文档,我们是可以修改“.htaccess”或者“.user.ini”解决这个问题的,但很可惜,我尝试了多次都失败了,最后还是通过修改“php.ini”解决的。

一些文件没有通过完整性检查

这个检查是防止某些文件被非法篡改,我们遇到的是“.htaccess”和“.user.ini”这 2 个文件没有通过检查,在安装包中将这 2 个文件找出来重新上传并设置好读写权限,这个问题就解决了。

内存缓存未配置

网上许多资料是启用 APCu,而我这边是没有安装 APCu,但安装 Redis 和 Memcached,在 Nextcloud 的“config/config.php”目录中添加以下代码,启用本地缓存即可(以 Redis 为例)。

'memcache.local' => '\OC\Memcache\Redis',
'redis' => [
     'host' => 'localhost',
     'port' => 6379,
],

Nextcloud - Redis

我们至少需要启用一个本地缓存“memcache.local”,如果只启用了分布式缓存“memcache.distributed”,没有本地缓存,这个警告依然会出现。

If you enable only a distributed cache in your config.php (memcache.distributed) and not a local cache (memcache.local) you will still see the cache warning.

详见:https://docs.nextcloud.com/server/16/admin_manual/configuration_server/caching_configuration.html

标签: Nextcloud, 网络技术

添加新评论