Nextcloud をFedora32にインストールする
Nextcloud とは
NextCloudを使うとDropBoxやGoogle Driveのように、複数のマシン間で ファイル共有することができる。
DropBoxやGoogle Driveと異なり、自分で構築したサーバ上にファイルを置き共有するので 容量に合わせて毎月払ったりする料金の必要はない。
ということで、今回はこのNextCloudをインストールしてみた。
マシン環境
今回はFedora32 Workstation Editionをインストールしたいるサーバ上に構築した。
$ uname -a Linux XXXXX 5.8.16-200.fc32.x86_64 #1 SMP Mon Oct 19 14:17:16 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/os-release NAME=Fedora VERSION="32 (Workstation Edition)" ID=fedora VERSION_ID=32 VERSION_CODENAME="" PLATFORM_ID="platform:f32" PRETTY_NAME="Fedora 32 (Workstation Edition)" ANSI_COLOR="0;34" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:32" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f32/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=32 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=32 PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" VARIANT="Workstation Edition" VARIANT_ID=workstation
構築方法
構築には色々な方法があるのだが、Snappyという パッケージマネージャをインストールして使うのが一番簡単らしい。
以下のようにしてインストールした。
また、他のPCやスマホからアクセス可能にするためにも、http
やhttps
で使うポートを開放する。
$ sudo dnf update $ sudo dnf install snapd $ sudo snap install nextcloud $ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --permanent --add-service=https $ sudo firewall-cmd --reload
http://<IPアドレス>
にアクセスすると使えるようになっていることがわかる。
Nextcloud上のデータの置き場所を変更する
インストールして使ってみたところ、Nextcloud上においたデータは/var
配下にあり、
パーティションをすでに切っている場合は容量が逼迫することがある。
そこで、ファイルの置き場所を変えてみた。
設定ファイルの編集を行えばいいだけなのだが、前後にサービスの停止、起動が必要。
snap stop nextcloud vi /var/snap/nextcloud/24051/nextcloud/config/config.php snap start nextcloud
以下のように、datadirectory
の場所を変更すればいいだけ。
また、24051のように数値が入るが、これはPIDなのか毎回変わるように思う。
'datadirectory' => '/home/nextcloud/common/nextcloud/data',
今回は以下のように、比較的容量に余裕のある/home
配下に置くようにした
<?php $CONFIG = array ( 'apps_paths' => array ( 0 => array ( 'path' => '/snap/nextcloud/current/htdocs/apps', 'url' => '/apps', 'writable' => false, ), 1 => array ( 'path' => '/var/snap/nextcloud/current/nextcloud/extra-apps', 'url' => '/extra-apps', 'writable' => true, ), ), 'supportedDatabases' => array ( 0 => 'mysql', ), 'memcache.locking' => '\\OC\\Memcache\\Redis', 'memcache.local' => '\\OC\\Memcache\\Redis', 'redis' => array ( 'host' => '/tmp/sockets/redis.sock', 'port' => 0, ), 'log_type' => 'file', 'logfile' => '/var/snap/nextcloud/current/logs/nextcloud.log', 'logfilemode' => 416, 'instanceid' => 'oc36prog4iwt', 'passwordsalt' => '7BuO1/+dqsVGSi9d90UimDzAoOg6WU', 'secret' => 'QtTiQ+0J9S+CQ7a7C6AyPhZfHgxLH1Bh4piHZF3rJ14OYEN9', 'trusted_domains' => array ( 0 => 'XXX.XXX.XXX.XXX', ), 'datadirectory' => '/home/nextcloud/common/nextcloud/data', 'dbtype' => 'mysql', 'version' => '20.0.1.1', 'overwrite.cli.url' => 'http://XXX.XXX.XXX.XXX', 'dbname' => 'nextcloud', 'dbhost' => 'localhost:/tmp/sockets/mysql.sock', 'dbport' => '', 'dbtableprefix' => 'oc_', 'mysql.utf8mb4' => true, 'dbuser' => 'nextcloud', 'dbpassword' => '_yqt4yP-nDzLDL6AwDjdGsatTPzav3lIaCAzh-Rc9B3tiKAvVizFm1LzLl9GBO4p', 'installed' => true, 'maintenance' => false, 'loglevel' => 2, );