お金をかけずにサーバーの勉強をしよう

Raspberry Pi リブート

2024年1月15日

メニューへ戻る

こんにちは。

私はラズベリーパイを持っています。

では。






だから何だっつー話なんですが。

部屋が寒くて PC作業が辛いのです。
しかしここに載せているもののバージョンアップネタなど考えるに、ローカルで当ホームページを読みたいのです。
(ネットにアップしてあるのを読むとアクセス履歴に反映されてしまって良くないのでローカルが望ましい)

試しに Androidのスマホのローカルにデータを全て入れてみたんですが、スマホの WEBブラウザってローカルのファイルを読めてもリンクが使えないようなんで、イマイチでした。

仕方ないので、ローカルに WEBサーバーを立てようかと思い、普段はしまってあるラズパイに登場願おうというものです。


私が持っているのはこのモデルです。
Raspberry Pi 2 Model B

上記サイトにある諸元は以下の通りです。

●Specification

Compared to the Raspberry Pi 1 it has:

 A 900MHz quad-core ARM Cortex-A7 CPU
 1GB RAM

Like the (Pi 1) Model B+, it also has:

 100 Base Ethernet
 4 USB ports
 40 GPIO pins
 Full HDMI port
 Combined 3.5mm audio jack and composite video
 Camera interface (CSI)
 Display interface (DSI)
 Micro SD card slot
 VideoCore IV 3D graphics core


32bit QuadCoreのパワフルな CPUのマシンで、メモリが 1GBという大容量、Wifiなどという軟弱なネットIFはなく、漢の実線 100Mbit/s なのが売りです。

男の中の男が使う硬派な SBCで、以下で遊んでからしばらくご無沙汰していました。
光センサーで IoT(前編)
光センサーで IoT(中編)
光センサーで IoT(後編)

ここでまたラズパイのリブートと洒落込んで、NGiNXサーバーにしてみたい。

買った頃は Raspbian というラズパイ専用の OSがインストールされていました。

「パイがビアンかぁ…」と感慨深く思ってましたが、Debian 8(Jessie)ベースの OSで、使い心地は Debianのそれでした。

2024年1月15日現在では、Raspberry Pi OSと名を変え、Linuxディストリの殆どが 32bitを捨ててしまった今でもまだ 32bit版が出ていて助かる気持ちです。

Raspberry Pi OSのメジャーバージョンアップは apt upgradeコマンドではできず、最初からイントールした方が良いというのが公式の見解のようですので、普通にインストールとします。


1.環境

Raspberry Pi OSは 2023年末に出たばかり、Debian 12(bookworm)ベースの 32bit版をインストールします。

SDカードの作成等の作業は VMware Workstation Playerの仮想マシンにインストールした Lubuntu 22.04.3で行います。


2.SDカード作成

SDカード作成を Ubuntuでやるのであれば、公式の aptリポジトリに「rpi-imager」というパッケージがありますので、まずそれをインストールします。

subro@Lubuntu2204:~$ sudo apt -y install rpi-imager
〜〜〜 省略 〜〜〜

インストールできました。

ラズパイから SDカードを抜いて Lubuntuが動いている PCに挿します。

Windows 10の VMware Workstation Playerで SDカード(USBデバイス)を挿すと、Windows 10の画面にこんなウィンドウが出ます。
[仮想マシンに接続] を選択し、仮想マシン名から対象のマシンを選択し、OKを押します。
VMwre Workstation Playerで SDカードを指す

では SDカードに OSを書き込みましょう。

Lubuntuでは、スタートメニューから [アクセサリ] - [imager] を選択すると「Raspberry Pi Imager」を実行できます。

OSを選ぶを押します。 Raspberry Pi Imager 1

ここで 32bit/64bit・Light/Full の版を選択できるんですね。
私は32bit Full版を選択します。
Raspberry Pi Imager 2

ストレージを選ぶを押します。
Raspberry Pi Imager 3

対象のSDカードを選びましょう。
Raspberry Pi Imager 4

右下の歯車マークを押します。
Raspberry Pi Imager 5

サーバーとして使うつもりなので、[SSHを有効にする] にチェックを入れ、
[パスワード認証を使う] を選択します。
Raspberry Pi Imager 6

ちょっと下にスクロールするとこうなります。
[ユーザー名とパスワードを設定する] にチェックを入れます。
Raspberry Pi OSのデフォルトの管理ユーザーである [pi]ユーザーのパスワードを入れましょう。
Raspberry Pi Imager 7

更に下にスクロールするとこうなります。
日本仕様にします。
[タイムゾーン:] を [Asia/Tokyo] に、
[キーボードレイアウト:] を [jp] にし、保存を押します。
Raspberry Pi Imager 8

書き込むを押します。
Raspberry Pi Imager 9

はいを押します。
Raspberry Pi Imager 10

ここから SDカードへの書き込みが始まり、結構時間がかかると思います。
Raspberry Pi Imager 11

風呂に入ります。

ラズベリーパイは元々子供のコンピューター教育のため「安く誰でも買えるように」という崇高な思想の下に作られたはずなのに、最近のは何かね、メモリは 8GBもあって Wifiが付いてて 3万もするとは、PC買ったほうが早いつ〜の。

というか Armで Windowsは動かない…ことはないか。
でも普通の Windowsじゃないから Excelは動かんしな。
PCの代わりにはならないじゃろ。

あのスペックに 3万払うなら中古ノート買った方がモニタもキーボードも付いてて良いんじゃない?

あぁ GPIOで遊びたいけど YouTubeももっと滑らかに観たいってことか。
横着な奴らだべ。

風呂から出ました。

SDカードはでき上がっているようです。
続ける必要は無いので [×] で閉じてしまいましょう。 Raspberry Pi Imager 12


3.ラズパイ起動

でき上がった SDカードをラズパイに挿してラズパイを立ち上げてみます。
線を繋ぐのは電源とネットだけ。
モニタ・キーボード・マウスは繋ぎません。


4.IPアドレス確認と sshログイン

デフォルトは DHCP設定になっていますので、私の環境だと光ルータの DHCPサーバー機能で何かしらの IPアドレスが割り振られているはずです。

しかしその IPアドレスが何か分からない…
光ルーターの DHCP割当状況を見てみました。
DHCP割当状況

総当りで sshログインを試してみた結果、[192.168.1.12] だったようです。

subro@Lubuntu2204:~$ ssh pi@192.168.1.12
The authenticity of host '192.168.1.12 (192.168.1.12)' can't be established.
ED25519 key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.12' (ED25519) to the list of known hosts.
pi@192.168.1.12's password: SDカード作成時に設定した [pi]ユーザーのパスワード
Linux raspberrypi 6.1.0-rpi7-rpi-v7 #1 SMP Raspbian 1:6.1.63-1+rpt1 (2023-11-24) armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Dec  5 10:35:13 2023
pi@raspberrypi:~ $

ログインできました。


5.各種初期設定

兎にも角にもまずは固定IPにしないとどうにもなりません。
※以下の IP設定は自宅環境に合わせて読み替えて下さい。

IPアドレスを [192.168.1.200] にします。

pi@raspberrypi:~ $ sudo nmcli c mod "Wired connection 1" ipv4.addresses 192.168.1.200/24 ipv4.method manual

デフォルトゲートウェイを [192.168.1.1] にします。

pi@raspberrypi:~ $ sudo nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1

DNSサーバーを [192.168.1.1] にします。

pi@raspberrypi:~ $ sudo nmcli con mod "Wired connection 1" ipv4.dns "192.168.1.1"

IPアドレスを新しくするため、一旦ラズパイをリブートします。

pi@raspberrypi:~ $ sudo reboot

正しく設定できていれば、新しい IPで sshログインできるはずです。

言語設定がイギリス英語になっているので日本語にします。

pi@raspberrypi:~ $ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"

pi@raspberrypi:~ $ date
2024年  1月 15日 月曜日 21:00:00 JST

日本語表記になりました。

あとは、まぁ、パッケージを一通りアップデートしておきますかね。

pi@raspberrypi:~ $ sudo apt update
〜〜〜 省略 〜〜〜

pi@raspberrypi:~ $ sudo apt upgrade
〜〜〜 省略 〜〜〜


これで初期設定としては良いんではないでしょうか。

※個人的には raspi-configにて、SPI有効化と、GUI無効化もしています。


6.NGiNXインストール

インストールします。

pi@raspberrypi:~ $ sudo apt install -y nginx

特に何の問題もなくインストールできました。

後は [/var/www/html]ディレクトリが Document Root になっているので、そこ以下にこのホームページのデータをコピーするだけです。

これで WEBサーバーになっちゃうんだから、面白いオモチャですよね。


==========
とにかく sshで繋がるようになりさえすればコッチのものです。
あとはもう布団の中からスマホで繋いだりできますから、何でもありですね。

Raspberry Pi OSの当該バージョンですが、aptリポジトリに 最新の OpenJDK-21や、Node.js 20が無かったです。

これがまだ出たばかりだから間に合ってないってなら良いのですが「32bitのパッケージはもう作らない」って事だと困るなぁ。

Intel/AMDの CPUだと様々な OSSで 32bit版がもう出なくなりつつあって、ラズパイだけは裏切らないと思ってるんですが…。

しかし 2Bももう買って随分経つし、そろそろ 32bitは終わりなのかも知れません。


Raspberry Pi 5 はまだ技適が取れてないから我慢ですね。