script day.log

大学生がなんとなく始めた、趣味やら生活のことを記録していく。

NextCloudのストレージ移動を行いました。

以前よりストレージを移動させなければならなかったのですが、
そこまで大容量に使用する事がなかったため、行っておりませんでした。
今回NextCloudがメジャーアップデートを行ったので、この機に乗じて
ストレージの移動を行いました。
ついでにmemcachedの設定も行いました。

まずはストレージ移動について
メンテナンスもをオンにして、現状のストレージデータを新規ストレージにコピーして、
所有権を調整し、configとmysqlに新規ストレージの場所を伝えて、
メンテナンスモードをオフして終わりです。

$ sudo -u www-data php /path/to/nextcloud/occ maintenance:mode --on
$ cp /path/to/data /new/path/to/data
$ chown -R www-data:www-data /new/path/to/data
$ nano /path/to/nextcloud/config/config.php
       'datadirectory' => '/new/path/to/data',
$ mysqldump -u<rootuser> -p > /path/to/dbdump/dump.sql
$ mysql -u<rootuser> -p
> use <nextclouddb>;
> update oc_storages set id='local::/new/path/to/data/' where id='local::/path/to/data/'; //take care about backslash at the end of path!!
> quit;
$ sudo -u www-data php /path/to/nextcloud/occ maintenance:mode --off

無事に移動が完了したら、旧データとdump.sqlを削除します。

$ rm -R /path/to/data
$ rm /path/to/dbdump/dump.sql


おまけのmemcached設定。
私はnginx+php7.0-fpm php7.0 on Debian9 で構成しているので、
インストールしたのはphp-apcuのみ。

$ sudo apt install php-apcu
$ sudo vi /var/www/html/nextcloud/config/config.php //以下を追記
‘memcache.local’ => ‘\OC\Memcache\APCu’,

正しく設定されていれば、
nextcloudの管理画面のチェックでmemcachedでのメッセージはなくなるでしょう。