サーバの利用法を模索している際に、オンラインストレージの構築ができるNextcloudの存在を知る。 なんとオープンソースソフトウェア(OSS)とのこと。 自分の非力なVPSでどこまでできるか疑問だが取りあえずやってみることに。
 カゴヤのサーバー研究室 wordpress専用サーバー【VPS活用】 Nextcloud でクラウドストレージをつくってみた ~ サーバー構築編に手順が詳しく記載されているので、そのまま行えば簡単にインストールできる。

1.nextcloudのダウンロード

 gnome環境なのでFireFoxを使い、https://nextcloud.com/install/から最新のサーバー用ソフトnextcloud-20.0.6.zip(’21/2/1現在)をダウンロード。
 展開するとnextcloudフォルダができ、その中に全てのファイルが入っているので、そのまま/var/www/html/nextcloudに移動し、chown で、apache:apacheに所有者変更。

2.Virtualhost設定ファイル作成

 ApacheのVirtualhost環境なので、/etc/httpd/conf.d/にこんな感じのnextcloud.example.jp.confを作成。 よく理解できていないカゴヤのサイトの情報を丸写ししたにすぎない。 ちなみにサーバ名は架空のwww.nextcloud.example.jp。

<VirtualHost *:80>
ServerName www.nextcloud.example.jp
DocumentRoot /var/www/html/nextcloud
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav  /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger  /nextcloud/public.php?service=webfinger
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.nextcloud.example.jp
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName www.nextcloud.example.jp:443
DocumentRoot /var/www/html/nextcloud
<Directory "/var/www/html/nextcloud">
    Require all denied
    Require ip localhost
    AllowOverride all
    Options FollowSymLinks MultiViews
    <IfModule mod_dav.c>
      Dav off
    </IfModule>
</Directory>
<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
ServerAlias www.nextcloud.example.jp
SSLCertificateFile /etc/letsencrypt/live/www.nextcloud.example.jp/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.nextcloud.example.jp/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/www.nextcloud.example.jp/chain.pem
</VirtualHost>

 なお、架空のwww.nextcloud.example.jpドメインのLet’sEncryptによるサーバー証明書を取得し、それを記載している。

3.データベースの作成

 いつもあとで慌てるNextCloud用のデータベースの作成も忘れずに。

MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL ON nextcloud.* to nextcloud@'localhost' identified by 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

 NextCloudを立ち上げたときに必要な情報。
  データベース名 : nextcloud
  データベースユーザー名 : nextcloud
  データベースパスワード : password
 ※安全なパスワードを設定してください。

4.Nextcloudの初期設定

 立ち上げ時の画面がこちら

 
 データベースにMariaDBを選び、必要な情報を入力。 セットアップ完了を押せばインストール完了。