USB 外付け HDD な Raspberry Pi で Nextcloud
Raspberry Pi 3 Model B+ を購入し、 USB 外付け HDD に Fedora 29 をインストールして Nextcloud を使えるようにしたのでそのメモです。
この記事について
- microSD なしで Raspberry Pi 上に Nextcloud を構築します。
- そのために、 USB 外付け HDD を使用します。
- 外部には公開せず、宅内でのみ使用します。
- Markdown で書いてるんですが、
- ←これ白丸になるはずが黒丸ですよね。ネストできてるんでしょうか。
- 間違いがあればコメント等で連絡ください。
参考にしたサイト一覧
大変わかりやすくまとまっており、一度目を通すことをおすすめします。 denor.daa.jp denor.daa.jp denor.daa.jp
Fedora 29 Server のインストール
- 32 bit OS だと扱えるファイルサイズに制限があるようです。
- Raspbian は 32 bit しかないので、今回は Fedora を使うことにしました。
USB 外付け HDD に Fedora 29 Server をインストールする
- イメージファイルを Fedora の公式サイトからダウンロードします。
- aarch64 Images の Raw イメージを選択してください。 getfedora.org
- xz ファイルなので、 7zip かなんかで解凍します。
- HDD に焼きます。初めて Etcher を使いましたが大変わかりやすい UI でした。
- Raspberry Pi に HDD を接続し、電源を入れます。
- 電源ボタンはないのでケーブルを繋いだ瞬間に起動します。
- CLI なのでキーボードとディスプレイだけ用意しておきましょう。
Fedora のセットアップ
- 初期設定画面が出てきます。画面に従って設定しましょう。
- 言語、タイムゾーン、ネットワーク、 root のパスワードの設定とユーザーの追加ができます。
ルートパーティションの拡張
fdisk -l
してみるとわかるんですが、このままでは HDD の内 5.8 GB 分しか使えません。以下のコマンドによりパーティションを拡張します。
# growpart /dev/sda 3 # pvresize /dev/sda3 # lvextend -l +100%FREE /dev/fedora/root # xfs_growfs -d /
- SD カードの人はデバイス名が異なると思います。
ユーザーの設定
- 初期設定のときにユーザーを追加しなかった人は追加しましょう。
- wheel グループに追加します。何らかの方法で
sudo
できることを確認してください。
- wheel グループに追加します。何らかの方法で
- root でリモートログインできないようにします。
/etc/ssh/sshd_config
を書き換えます。
PermitRootLogin no
- 以降は一般ユーザーで作業します。
Cockpit を使う
- ログイン時画面の一番上に書いてありますが、
<Raspberry Pi の IP アドレス>:9090
に他の PC のブラウザでアクセスすると、 Web コンソールを使うことができます。 IP アドレスが分からない時はifconfig
しましょう。 - 自動で用意され、ダッシュボード機能もありなかなか便利です。
- 普通に root でログインできるんですよね。 SSH ではログイン禁止するよう教わったんですが、セキュリティ的にどうなんでしょう?
- 以降は Cockpit の端末か SSH から作業します。ディスプレイとキーボードは片付けて構いません。
dnf update
# dnf update
しましょう。- 結構時間かかります。
Nextcloud のインストール
Snap のインストール
- パッケージ管理システムです。 Snappy なのか Snaps なのかよくわかりません。
- 依存関係のものをまとめて 1 つのパッケージにしているそうです。
# dnf install snapd
でインストールします。
Nextcloud のインストール
# snap install nextcloud
でインストールします。- コマンド 1 つで全てが揃います。
- snap 版 Nextcloud などと呼ばれ、普通のものと区別されているようです。
ネットワークの設定
ファイアウォールの設定
- 以下のコマンドを実行します。
# firewall-cmd --add-service=http --permanent # firewall-cmd --add-service=https --permanent # firewall-cmd --reload
ホスト名の変更
/etc/hostname
を好きな名前に書き換えます。
IP アドレスを固定する
- ルーターの DHCP 固定設定機能を使い、 Raspberry Pi の MAC アドレスと適当な IP アドレスを設定しました。
- または、
/etc/sysconfig/network-script/ifcfg-eth0
を編集します(有線LANの場合)。
BOOTPROTO=static IPADDR=<適当なIPアドレス> NETMASK=255.255.255.0 GATEWAY=<デフォルトゲートウェイのアドレス>
- 再起動します。
Nextcloud のセットアップ
http://<先ほど設定した適当なIPアドレス>
にブラウザからアクセスします。- Nextcloud の青い画面が出ます。
- 管理ユーザーのユーザー名とパスワードを設定します。
- (しばし待ちます)
- 画像のような画面が出れば成功です。お疲れさまでした。
- コンフィグファイルは
/var/snap/nextcloud/current/nextcloud/config/config.php
にあります。 github.com
外部からアクセスしたい人は
本記事ではセキュリティについて考慮していません。 SSL 対応などが必要でしょう。