このブログを立ち上げるキッカケとなったNextcloudの導入方法について解説します。
基本的にコピペするだけで構築が完了するようになっているので、コマンドの手打ちをしたくない方や、知識がない方でもできるかと思います。
目次
そもそもNextcloudって?
Nextcloudは簡単に言うと「自分で作るGoog●e Drive」みたいなもんです。サーバー本体からハードディスクまで全て自分で用意し、自分の思い通りに管理します。Nextcloudは加えてSlackのような機能や、カレンダー、連絡先、メールの管理まで行うことができます。主なメリットは
- 継続してかかる費用は電気代とドメイン代のみ。なんならドメイン代も無料にできるため場合によっては電気代のみ。
- 自身のサーバーにファイルを保管するので、Googleなどに情報をアップロードすることがない。
- 容量はHDDを増設した分だけ増やすことができる。用意をすれば一人で10TB使用することも可能。
対してデメリットは
- 最低限Linuxの知識が必要となる。
- HDDの故障やサーバーの故障によってデータが消える可能性がある。
- セキュリティリスクなどの対策も全て自分で行う。
こんなところですかね。以上を踏まえた上で、ラズパイを使用してNextcloudの構築を行っていきましょう。尚、この記事は公式ドキュメントである以下の記事を参考にしています。
Nextcloudを構築する準備
Nextcloudはphpで書かれており、Apacheやnginxと呼ばれるwebサーバーを使用して動いています。そのためまずは必要なものの準備をしましょう。
必要なもの(ハードウェア)
- ラズパイ(今回のメイン、初期設定とSSHが設定済みであること)
OSはRaspberry Pi OS Lite 64bit版がおすすめです。デスクトップで使うことはないと思うので。 - HDD or SSD(Nextcloudのデータを格納するために必要。)
- PC(この記事からコマンドをコピペするなら必要。)
ラズパイの設定に関してはまた別の記事で解説します。
ラズパイのターミナルにアクセスができたら、次に進みます。
以下基本的には書かれているコマンドをコピペ&EnterしていくだけでOKです。
ターミナルでの操作
まずはNextcloudを動かすために必要なパッケージをインストールします。
sudo apt update && sudo apt -y upgrade sudo apt -y install apache2 mariadb-server libapache2-mod-php php-gd php-mysql \ php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip
次にデータベースの作成をしていきます。
sudo mysql CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'nextcloud'; CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; FLUSH PRIVILEGES;
quit;
これでNextcloudを動作させるための下準備が完了しました。
次にNextcloud本体をサーバーに配置していきます。
ここでは公式のスクリプトを利用して最新版を取得するような形で行います。
これでターミナルでの操作は終了です。次はブラウザでの操作です。
sudo mkdir /var/www/html/nextcloud cd /var/www/html/nextcloud sudo wget https://download.nextcloud.com/server/installer/setup-nextcloud.php sudo chown -R www-data:www-data /var/www/html/nextcloud
ブラウザ側での操作
http://ラズパイのIPアドレス/nextcloud/setup-nextcloud.php
上記アドレスにアクセスします。
正しく設定できているとこのような画面が出てくるので「Next」を押します。
Nextcloudをインストールするディレクトリを聞かれます。今回はNextcloud用にディレクトリを作成しているので「.」(ドット)のみを入力し「Next」を押します。
環境にもよりますがここで2分から3分間読み込みが止まりますが、異常ではないので気長に待ちましょう。
インストールが完了するとこのような画面が表示されます。
最後に管理者アカウントの作成とデータベースの入力を行います。
ユーザー名:分かりやすい管理者の名前を入力します。
パスワード:好きなパスワードを入力します。
データフォルダー:Nextcloudでファイルを保存するためのディレクトリを入力します。Nextcloudをインストールしているディレクトリで良い場合、変更は必要ありません。
データベースのユーザー名:nextcloud
データベースのパスワード:nextcloud
データベース名:nextcloud
データベースのホスト名:localhost(変更なし)
全て入力し終わったらページ下の「インストール」を押します。
追加のアプリインストールを勧められます。特に理由がなければインストールしておくのが良いでしょう。これらのアプリは後で再度インストールをすることができます。
環境によってはCollabora Online – Built-in CODE Serverのインストールに失敗します。もし必要な場合は下のコマンドを入力するとインストールすることができるかと思います。
sudo -u www-data php -d memory_limit=512M /var/www/html/nextcloud/occ app:install richdocumentscode_arm64
最終的にダッシュボードが表示されたらNextcloudのインストールは完了です。お疲れ様でした。
終わりに
拙い説明が多いかもしれませんが、正しく設定できたでしょうか。Nextcloudはデスクトップアプリやモバイルアプリが非常に優秀なので、是非活用してみて下さい。
しかしこれだけでは、SSL非対応かつDNSの設定ができていないのでローカル環境での使用に限られています。そのため次はNextcloudのhttps化やDNSの設定などはまた別の記事にて説明しようと思います。