つまるところはタイトルの通りです。
具体的に書くと、
ラズパイ4を電源ぶつ切りしてSDカードのbootドライブが破損した時とかに、初期セットアップ+αをやり直そう!
というもの。
全部の詳細を書くと長いので、要約しつつ箇条書きで書いていきます。
1. SDカードをぶっ壊す
元気に動いていたラズパイの電源を無情にもぶつ切ろう!
(*良い子はマネしないでね)
2. SDカードに Raspberry Pi OS をフォーマット
Raspbian はこの間 Raspberry Pi OS に名称チェンジしたらしいですよ
まずは、自前のPCにSDカードぶっ刺して、Raspberry Pi ImagerでSDカードの中身をEraser。
次に、SDカードにRaspberry Pi OSをフォーマット。(大体30分~1時間)(2回目以降キャッシュが残ってれば5分くらいで終わる)
これで準備終わり。Raspberry Pi Imagerって素敵ね。
ちなみにこの後のHDMI接続で上手く画面に表示されないのが怖いので、SDカードのbootドライブ内にあるconfig.txtのhdmi_force_hotplug=1のコメントアウトを外して保存しておくと〇。
3. いざ起動へ
---最低限準備するもの---
- ラズパイ本体
- Type-Cケーブル
- microHDMI-HDMIケーブル
- 有線マウス
- ディスプレイ
準備は整ったか??
全部接続したか???
ならば電源ONだ!!!!!
この時点で、ちゃんとSDカードがフォーマットされていないと、俺たちのホーム画面(黄昏の山々?みたいなやつ)が表示されないので、ダメだったら最初からやり直し or そもそも原因がSDカードではなく基盤の方にあるとか。。。(基盤死んでたら復帰は難しそう)
その後は促されるままにセットアップして完成!って感じかな。
ちなみにこの時有線キーボードがあるとWi-fiの設定もここで済ませられて便利っちゃ便利。
個人的な話になるけど、有線キーボードと有線マウスが無かったので、とりあえず必須だった有線マウス(500円くらいの安いやつ)を買ったり、自分用のディスプレイが無かったので、家のテレビに直接つないで表示させてみたりと、無いものだらけでも意外となんとかなった。(上記のhdmi_force_hotplugはテレビとかのPC用ディスプレイじゃなくても強制的に出力させる設定でした。)
4. SSHとVNCを有効化
一通りセットアップが終わったら、SSHとVNCを有効化します。
左上のラズベリーマーク→Preferences→Raspberry Pi Configrations→interface→SSHとVNCを有効→OK
ここまで出来たらあとはPCから接続してあれこれできるので一安心!
忘れないようにしっかりとシャットダウンをして終了しようね!!
5. アップデート
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ sudo rpi-update
# 以上が問題なく行われれば再起動
$ sudo shutdown -r now
6. セキュリティ強化等
$ sudo passwd root
$ sudo adduser [新規ユーザー名]
# 新規ユーザーにsudo権限を付与
$ sudo gpasswd -a [新規ユーザー名] sudo
$ sudo nano /etc/dhcpcd.conf
# 以下を最後に追加
interface wlan0
static ip_address=[固定化したいIPアドレス]
static routers=[ルーターのIPアドレス]
static domain_name_servers=[DHCPサーバーのIPアドレス]
# 再起動
左上のラズベリーマーク→Preference→Raspberry Pi Preference→現在のユーザーとしてログインを無効→OK
$ sudo shutdown -r now
C:> ssh [新規ユーザー名]@raspberrypi
$ sudo userdel -r pi
# userdel: pi のメールスプール (/var/mail/pi) がありません が出ても問題はない。
$ sudo apt-get install ufw
$ sudo ufw allow 22
$ sudo ufw allow 80
$ sudo ufw allow 544
$ sudo ufw allow 5900
$ sudo ufw allow 5901
# 上からssh,http,https,vnc,vnc(仮)
$ sudo ufw enable
# ファイアーウォールを有効化
$ sudo ufw status
# 開放ポート確認
$ sudo nano /etc/ssh/sshd_config
# #PermitRootLogin prohibit-password
# ↓
# PermitRootLogin no
# へ変更
$ sudo chmod 777 /
7. Apache2の導入
$ sudo apt-get install apache2
$ sudo nano /var/www/html/index.html
8. Python のデフォルトバージョン切り替え
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
$ sudo update-alternatives --list python
$ sudo update-alternatives --config python
9. Djangoの導入
$ pip install django
プロジェクトを作成したいディレクトリまで移動する。
移動したら、
$ python -m django startproject [任意の名前]