Hero img
Raspberry piにnext cloudをインストールする

ubuntuにubuntusOSを入れて、Next Cloudを入れて起動しました。

Raspberry pi3にUbuntu OSを入れNext Cloudを使ってみました。


目次

  • Raspberry Piにubuntuをインストール
  • Ubuntuをインストールする
  • Raspberry 起動
  • 初回ログイン
  • 初期設定
  • rootの削除
  • ユーザーの確認
  • Next cloudを入れてみる
  • dockerをインストール
  • docker compose
  • 起動
  • エラー
  • まとめ

Raspberry Piにubuntuをインストール

Raspberry Pi 3Bが余っていたので、UbuntuOSを入れて、Next cloudが使えるようにします。

Ubuntuをインストールする

Raspberry piにUbuntuをインストールします。GUI不要なので、serverを選択し、インストールします。

Ubuntu ダウンロード

  1. 1.最新版の24.04 LTSをダウンロードします。
ubuntu-install-raspberry-pi-donwload
  1. 2.インストーラー起動
ubuntu-install-raspberry-pi-run-installer
  1. 3.デバイス、OS、ストレージを設定する。
ubuntu-install-raspberry-pi-install-setting

Ubuntu OSはここにあります。

ubuntu-install-raspberry-pi-ubuntu1 ubuntu-install-raspberry-pi-ubuntu2

Raspberry 起動

ラズパイを起動して初期設定を行います。

初期パスワード ID:ubuntu PW:ubuntu

初回ログイン

初回ログイン時はパスワード変更を求められるため、適切に設定してください。

You are reuired to change your password immediately (administrator enforced).
Changeing password for ubuntu.
Current password:
New password:
Retype new password:

初期設定

ubuntuのアップデートを行います。

sudo apt-get update
sudo apt-get upgrade

ユーザー追加

今後使用するユーザーを追加します。root権限も付与しましょう。

sudo adduser yu-za-
sudo adduser yu-za- sudo

キーボード設定

英語圏のキーボードになっているので、日本のキーボード配列に変更します。

sudo dpkg-reconfigure keyboard-configuration
# その後は、Generic 105-key PCを選ぶ-> japanese

最後にリブートしたら適用されます。

reboot

ssh設定

次にsshでアクセスできるように設定を変更します。

vi /etc/ssh/sshd_config
sshd_config
#14行をコメントアウト
Port 22

#54行
PasswordAuthentication yes

#ついでに鍵交換式を有効にしておく
#35行
PubkeyAuthentication yes
#38行コメントアウトする
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

configファイルが別でインクルードされていることがあるので次のフォルダー内のファイルを修正します。
50-cloud-init.confと言うものが入っていました。

ls /etc/ssh/sshd_config
vi /etc/ssh/sshd_config/50-cloud-init.conf
#yesに変更
PasswordAuthentication yes

ファイヤーウォールも設定する

sudo ufw allow 22/tcp

ついでに80と443も開けておく

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

最後にリブートしsshで接続してみる。

reboot

rootの削除

初期で入っているubuntuユーザログインを無効にします。

ユーザーの確認

確認

cut -d: -f1 /etc/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
_apt
nobody
systemd-network
systemd-timesync
dhcpcd
uuidd
messagebus
syslog
systemd-resolve
tcpdump
sshd
pollinate
fwupd-refresh
landscape
polkitd
ubuntu

rootとubuntuをログイン無効化します。

sudo passwd -l root
sudo passwd -l ubuntu

Next cloudを入れてみる

raspberry piのubuntu初期設定が終わりました。ここからnext cloudを入れてみます。
個別にミドルウェアを入れてもいいですがdockerをを使います。

dockerをインストール

何も考えず、コマンドをコピペしていく。
それぞれそれなりに時間がかかるので、気長に待ちます。

sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
起動確認
docker version

docker compose

next cloud dockerのcompose.yamlを作成します。配置場所は~/nextcloud-docker/compose.ymlにしました。 ファイル名はdocker-composeが非推奨となっているようです。ファイル名はcompose.ymlにしましょう。

compose.yml
volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=nextcloud
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 8000:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    environment:
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

起動

dockerを起動してみます。
raspberry pi 3なのかすごく時間がかかります。1時間ぐらいかかりました。

docker compose up
#background 起動 docker compose up -d

起動確認

docker ps -a
#こんな感じで起動しています。
CONTAINER ID   IMAGE       COMMAND                  CREATED      STATUS      PORTS                                   NAMES
aa764b4665a4   nextcloud   "/entrypoint.sh apac…"   3 days ago   Up 3 days   0.0.0.0:8000->80/tcp, :::8000->80/tcp   nextcloud-docker-app-1
e7b137ae3154   mariadb     "docker-entrypoint.s…"   3 days ago   Up 3 days   3306/tcp                                nextcloud-docker-db-1

https://アドレス:8000 にアクセス

エラー

なんか次のエラーで何度も失敗してnext cloudを使え無い状況が発生しました。
後で判明したことですが、裏で古いmariadbが動いていたようです。next cloudにかかわる全てを削除したら動きました。

docker nextcloud Aborted connection 4 to db: 'unconnected' user: 'unauthenticated' host: '172.18.0.3' (This connection closed normally without authentication)

dockerのプロセス状況を確認し、停止削除、ファイルも削除します。

docker ps -a
CONTAINER ID   IMAGE       COMMAND                  CREATED      STATUS      PORTS                                   NAMES
aa764b4665a4   nextcloud   "/entrypoint.sh apac…"   3 days ago   Up 3 days   0.0.0.0:8000->80/tcp, :::8000->80/tcp   nextcloud-docker-app-1
e7b137ae3154   mariadb     "docker-entrypoint.s…"   3 days ago   Up 3 days   3306/tcp                                nextcloud-docker-db-1

不要なものがある場合は一度停止させて削除します。CONTAINER IDを指定して終了させます。

終了削除
docker stop aa764b4665a4
docker rm -f aa764b4665a4
イメージリスト表示
docker images
イメージを削除
docker rmi -f 854f345cbbb5
ボリュームの確認
docker volume ls
ボリュームの削除
docker volume nextcloud-docker_db

まとめ

raspberry piでnext cloudを動かしましたが、スペックが不足しているのようで動作が遅く実用的ではないと感じました。
あきらめて、SMBだけでとどめておきます。 raspberry pi5とかですれば問題ないのかな?

関連記事

コメント

コメントを書く

質問や、間違いがありましたら、お気軽にどうぞ

※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください