nextCloudでオンラインストレージを構築する
-
Author: uncho
Google DriveやOne Drive等、オンラインストレージはPCからもモバイル端末からもアクセスできてとても便利ですが、デフォルトの容量が少なくて直ぐに上限に達してしまいます。ここで素直にお金を払って容量アップすれば良いのですが少し足掻いてnextCloudを構築してみました。
固定IPの関係もあり本来ならCloudやVPS上で構築するのですが、自宅はIPv6化したのでFirewallで穴あけしておけばインターネットからもアクセス出来るようになったので自宅に構築します。
かんたんに概要を説明すると、OSはCentOS7を使用、nextCloudはサイトから最新版をダウンロードしてきます。CentOSのRepoからインストールできるPHPではバージョン古くてnextCloudはサポートしていない様子なので、Remi’s RPMからPHP7.1をインストールします。
必須パッケージのインストール
Remi’s RPMからPHP7.1と関連RPMをインストールします。なおEPELのRPMも必要となります。
その他、nextCloudにはMariaDBが必要なのでインストールします。
PHPの設定
デフォルト設定だとファイルアップロード等で制限があるので、nextCloudが動くようにPHPを設定します。
vi /etc/php.ini
PHPからMariaDBが利用できるように設定します。
vi /etc/php.d/20-mysqlnd.ini
MariaDBの設定と起動、DB作成
インストールしたMariaDBを起動します。
rootパスワードの設定や外部からrootでアクセス出来ないようにセキュリティを強化するため、mysql_secure_installationも実行してきます。
次にnextCloudが使用するDatabaseをSQLで作成します。mysql -u root -p
を実行して下記SQLを投入。ここではDB名はnextCloud
、パスワードはPassword
としていますが、パスワードは推測しづらいものを設定しましょう。
WEBサーバ(Apache)の設定と起動
nextCloud用の設定として下記Configファイルを作成します。
vi /etc/httpd/conf.d/nextcloud.conf
Apacheを起動します。
nextcloudのインストール
ここまででnextcloudが動く環境が整ったのでnextcloudをインストールします。といってもファイルをディレクトリに展開するのみです。なおここではnextcloud-12.0.2
を使用していますが、構築時点での最新版を用意しましょう。
nextcloudの設定
ここまではCLIで作業しましたがnextcloudの設定はブラウザ上で行います。画面キャプチャし忘れたので公式サイトのAdmin Manualを参照して下さい。特に難しいところは無く、adminアカウントの作成とDBの指定のみです。
http://[IPアドレス]/nextcloud/
まとめ
nextcloudはOSSですが、OSSにありがちな、UIが使いづらかったり、デザインが垢抜けてないとかが無くて結構良いですね。
次はリバースプロキシ経由でのnextcloud利用について検証してみます。リバースプロキシをするならHTTPS化もチャレンジしてみます。