データは全てクライアント PC に残っているからクリーンインストールを実行した。
そして表示された警告メッセージの数々。順番に対応していく。
サーバーのセキュリティとパフォーマンスにとって重要なことは、すべてが正確に設定されていることです。あなたの助けとなるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンク先のドキュメントを参照してください。セットアップに関して警告がいくつかあります。
リバースプロキシヘッダー
リバースプロキシヘッダーの設定が正しくないか、信頼できるプロキシからNextcloudにアクセスしています。 そうでない場合、これはセキュリティの問題であり、攻撃者はNextcloudに見えるように自分のIPアドレスを偽装することができます。より詳しい情報はドキュメントで参照できます。
次の行を config.php に追加する。自分の環境に合わせて有無を言わせず信頼すればよい。
'trusted_proxies' => ['192.168.1.5'],
HSTS
“Strict-Transport-Security" HTTPヘッダが最低でも “15552000" 秒に設定されていません。セキュリティを強化するには、セキュリティTips で解説しているHSTSを有効にすることを推奨します。
リバースプロキシ側のサーバーに ssh でログインして、Virtual Host の SSL 用 Apache 設定ファイルに3行追加する。
$ sudo a2enmod headers
$ sudo vi /etc/apache2/mods-enabled/example.jp-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example.jp
ErrorLog /var/log/apache2/virtual.host.error.log
CustomLog /var/log/apache2/virtual.host.access.log combined
LogLevel warn
# 次の3行を追加
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
SSLEngine on
SSLProxyEngine on
メモリキャッシュ
メモリキャッシュが設定されていません。可能であれば、パフォーマンスを向上するため、memcacheを設定してください。より詳しい情報はドキュメントで参照できます。
APCu で対応した。
$ sudo apt install -y php-apcu
※config.php に1行追加
'memcache.local' => '\OC\Memcache\APCu',
※/etc/php/7.2/cli/php.ini に1行追加
apc.enable_cli=1
※再起動
$ sudo service php7.2-fpm restart
$ sudo service apache2 restart
occ db:add-missing-indices
データベースにいくつかのインデックスがありません。 大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。 “occ db:add-missing-indices"を実行することによって、インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。 インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。
テーブル “oc_calendarobjects_props"のインデックス “calendarobject_calid_index"が見つかりません。
テーブル “oc_schedulingobjects"のインデックス “schedulobj_principuri_index"が見つかりません。
指示に従って"occ db:add-missing-indices"を実行。
$ php occ db:add-missing-indices
Command "db:add-missing-indices" is not defined.
Do you want to run "db:add-missing-indices" instead? (yes/no) [no]:
> yes
Check indices of the share table.
Check indices of the filecache table.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Adding calendarobject_calid_index index to the calendarobjects_props table, this can take some time...
calendarobjects_props table updated successfully.
Check indices of the schedulingobjects table.
Adding schedulobj_principuri_index index to the schedulingobjects table, this can take some time...
schedulingobjects table updated successfully.
$
PHP モジュール
このインスタンスには推奨されるPHPモジュールがいくつかありません。 パフォーマンスの向上と互換性の向上のために、それらをインストールすることを強くお勧めします。
intl
imagick
イントールする。
$ sudo apt install -y php-intl
$ sudo apt install -y php-imagick
$ sudo service php7.2-fpm restart
$ sudo service apache2 restart
occ db:convert-filecache-bigint
データベース内のいくつかの列で、big intへの変換が行われていません。 大きなテーブルでカラムタイプを変更すると時間がかかることがあるため、自動的には変更されませんでした。 'occ db:convert-filecache-bigint’を実行することによって、それらの保留中の変更は手動で適用できます。 この操作は、インスタンスがオフラインの間に行う必要があります。 詳細についてはこれに関するドキュメントページを読んでください。
mounts.storage_id
mounts.root_id
mounts.mount_id
こちらも指示に従います。
$ php occ db:convert-filecache-bigint
Command "db:convert-filecache-bigint" is not defined.
Do you want to run "db:convert-filecache-bigint" instead? (yes/no) [no]:
> yes
Following columns will be updated:
* mounts.storage_id
* mounts.root_id
* mounts.mount_id
This can take up to hours, depending on the number of files in your instance!
Continue with the conversion (y/n)? [n] y
$
以上で全てのチェックに無事、合格。
コメント