Raspberry pi3にUbuntu OSを入れNext Cloudを使ってみました。
Raspberry Pi 3Bが余っていたので、UbuntuOSを入れて、Next cloudが使えるようにします。
Raspberry piにUbuntuをインストールします。GUI不要なので、serverを選択し、インストールします。
Ubuntu ダウンロード
Ubuntu OSはここにあります。
ラズパイを起動して初期設定を行います。
初期パスワード 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でアクセスできるように設定を変更します。
vi /etc/ssh/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
初期で入っている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
raspberry piのubuntu初期設定が終わりました。ここからnext cloudを入れてみます。
個別にミドルウェアを入れてもいいですが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
next cloud dockerのcompose.yamlを作成します。配置場所は~/nextcloud-docker/compose.ymlにしました。 ファイル名はdocker-composeが非推奨となっているようです。ファイル名は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とかですれば問題ないのかな?
質問や、間違いがありましたら、お気軽にどうぞ
※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください