当サイトでは、ラズパイ(Raspberry Pi 4)でサーバ構築を目的地としています。
そのため、ラズパイOSセットアップ直後の初回アップデートが終われば、本記事の設定に進んでください。
本記事の内容は10分で完了します。
前提
- 本記事の内容は、ラズパイをサーバ用途として使用する前提で、10分で完了する目的で書いています。
- 普段使いのPCライクを望まれている方には不向きな設定内容です。
- 本記事の内容は全て、sudo権限を有した非rootユーザーで行ってください。理由はこちら。
環境
- 機種: Raspberry Pi 4 model B 公式サイトはこちら
- OS: Raspberry Pi OS (bullseye) インストール・セットアップはこちら
- RAM: 4GB
- ラズパイ本体がディスプレイモニタに繋がっている
- 有線キーボード&有線マウスが本体に繋がっている
- ※Logicool(Logitech)のUnifyingなら、無線(ワイヤレス)で使えます。Bluetoothキーボードやマウスの場合、ペアリングするためには有線またはUnyfyingが必要です。
lm-sensors: CPU温度が簡単に分かる
私はどんなPCでもファンの音がとても苦手なため、敢えてファンを外してラズパイを使用しています。
そんな事情もあり、
cpu温度をいつでもどこからでも把握できるラズパイ環境が大切だと、個人的には思っています。
ラズパイにはデフォルトでcpu温度を知るコマンドが用意されています。
vcgencmd measure_temp
私の経験では、iPadやiPhoneなどからSSH接続して上のコマンドを入力するのは想像以上に面倒で、結局コマンドを覚えられませんでした。
そこで「lm-sensors」というアプリなら、コマンドが短くて済みます。
lm-sensors とは、「Linux-monitoring sensors」の略です。
sensors
を入力するだけです。覚えやすい。
デスクトップでインストール
1. メニュー>設定>Add / Remove Software
2.「lm-sensors」で検索。370kbでとても小さな容量。
「パッケージ名 version」だけのものを選択[1]関連するデータやプラグインのパッケージは、自動的に一緒にインストールされます。して、チェック、Apply。
3.インストール完了。
ターミナルでインストール
サーバ構築でターミナルを使用するので、慣れるためにターミナルによるインストールをお勧めします。
以下のコマンドの行をコピー&貼り付けで大丈夫です。
「#」のある行はコメントと呼びコマンドではありませんので、sudo 行をコピーしてください。
# lm-sensorsをインストール
sudo apt install lm-sensors
# cpu温度を知りたいとき
sensors
先にも述べましたが、
今は敢えてファンレスでラズパイを使用しています。
そのため、cpu温度をとても注視しています。
ラズパイCPU温度について
個人的な温度の目安として、
- 50度以下:十分に心穏やか
- 58〜65度:イエローカード
- 70度手前:電源OFF
iPadで動画視聴するメディアサーバとして使用して、53〜60度まで。
70度近くになるのはラズパイ本体でブラウザを酷使したり、YouTubeを無理やり視聴するときくらいなので、
そう滅多には70度に達することはありません(サーバ用途に限定すれば)。
Overclockも全く必要なく、家庭内LANだけで使うサーバとしてはラズパイはオーバースペックだと、個人的には思っています[2]13年前のAtom N280, 2GBRAMのEee PC 1005HA(USB2.0)ですら十分にメディアサーバとして機能しています。別記事で書く予定です。。
Hostname 設定
サーバー構築の際、ServerNameとしてHostnameをファイルに記述する(下画像)ので、とても重要です。ネットワーク上の名前になります。
SSLの自己署名証明書を発行する際にも使います。
このHostnameをローカルWordPressのドメインとして使うと、
サーバドメインとDocumentRootを統一できるので、
Webサーバ構築がスムーズに進行しやすくなります[3]統一しなくても構わないのですが、当サイトではスムーズな成功を目指しているため、統一してサーバ構築する方針です。。
- 例
実際のファイルでは以下のような記述になります[5]このファイル以外にも、同様にServerNameやDocumentRootを記述しなければならないファイルが3〜4個あります。。
▼ DocumentRoot作成時のイメージ画像
どんなHostnameが良い?
ドメインにしたいお好みの名前の設定でOKです(使用可能な文字列で)。ローカルWordPressでは、「https://hostname.local 」というURLになり、[6]WordPressでは”.local”を使わないことにしました。理由はこちら。
家庭内LANのみ通用するドメインになるので、
WWWで被るドメインでも可能です。
「お好みで」とは申しましたが、次の「セキュリティ」「注意事項」も併せてお読み頂いた上で、
Hostnameを決めてください。
セキュリティについて
後のステップでファイアウォールを「家庭内だけに限定してポートを開く設定」にして、ルーター機の内側ネットワーク(LAN)だけ限定したアクセス許可するセキュリティ対策を行います。この対策に対して、セキュリティ面でご不安な方は推測されにくいドメインにしてみてください。
ラズパイ使用で「ブラウザでWeb閲覧もしたい」など、ルーター機の外(WWW)へアクセスをお考えの方は、推測されにくいHostnameが無難かもしれません。
私個人はあまり神経質にならず、自身が楽しめるHostnameを使っています。
Hostname 設定時の注意事項
Hostnameをコロコロ変更すると、iPadやiPhone, クライアントPCからSSH接続する際に偽装ホストと見做されSSH接続出来なくなる事態に陥ります。解決策はありますが、出来ればそんな事態に遭遇しないほうがベターなので、「これと決めたら変更しないホスト名」を今この場で決めてしまうのが、サーバ構築への近道だと思います。
SSH接続だけではなく、もちろんファイルサーバ・メディアサーバ・Webサーバ、各サーバ接続においても設定やり直しなど手間が増えますので、「決めたホスト名は変更しない」のをお勧めします。
Hostnameの変更が頻繁だと、DNSサーバを担っているルーター機もIPアドレスとドメイン名の紐付けに混乱して、家庭内全体のWi-Fiネットワークに影響を及ぼします。私の体験では、スマホやタブレット、他のPCのネットワーク全てが不安定になり、インターネットに接続できなくなりました。
- 全てのデバイスの固定IPアドレスをDHCP自動取得に戻す
- ルーター機を再起動
などで解決できましたが、かなりの手間となります。
デスクトップから設定
ここでは「raspberrypi」をHostname例とします。
1.メニュー>設定>Raspberry Piの設定
2.システム>ホスト名
サーバ名やドメイン名にしたい名前を入力、OK。(使用可能文字は後述)
3.再起動後にHostnameが適用されます。
ターミナルから設定
- 関連記事:LXTerminalの使い方
1.raspi-configコマンドを呼び出します。sudoの意味はこちら。
sudo raspi-config
2.System Optionsを選択し、Enter。
3.Hostname を選択し、Enter。
「ネットワーク上でのこのコンピュータの名前を設定する」と説明されています。
4.使用可能な文字の説明表示。
- a – zのアスキー文字
- 0 – 9の数字
- ハイフン(-)
- 始めと終わりの文字にはハイフンは使用不可
- 上記以外の文字とブランクスペースは全て不可
5.Hostnameを入力します。
6.raspi-configの最初のメニュー画面に戻ります。
右矢印カーソルキーを2回叩いて、Finish。
7.Hostname変更を適用させるために、再起動します。
8.再起動後、Terminal でHostnameを確認できます(赤枠)。
以下のコマンド入力でHostnameを出力することもできます。
hostname
SSH の有効化 設定
SSHとはSecure Shellの略で、リモートPCとサーバが安全に通信できるプロトコルです。
普段使っているPC(操作する側)とラズパイ(操作される側)をSSH接続可能な状態(SSH有効化)にしておくと、
直接ラズパイを扱うことなく、遠隔操作でサーバ構築できるようになります。
SSH はどんなメリット?
- ラズパイを離れた部屋に設置している。(ルーター機の隣など)
- ラズパイをテレビの裏に置いている。
- サーバ設定は普段から慣れている椅子に座って姿勢良くやりたい。
などのシチュエーションでSSH接続からリモート操作すると便利です。ラズパイを完全にサーバとして使うなら、ディスプレイモニタやキーボード・マウスの接続が不要となります[7]この状態をヘッドレスと呼びます。。
いくつか種類のあるリモート接続の中でも、SSH接続は最も堅牢な接続[8]SSHのポート番号を変更すると、更に堅牢になります。なので、
SSHだけはオンにしておくほうが実務的にも利便性が高くなります。
デスクトップで設定
1.メニュー>設定>Raspberry Pi の設定
2.インターフェイス>SSHをオン、OK。
3.再起動後、適用されます。
ターミナルで設定
- 関連記事:LXTerminal コマンド一覧
1.raspi-configコマンドを呼び出します。
sudo raspi-config
2.Interface Options をEnter。
3.SSH をEnter。
4.「SSH serverを有効化しますか?」
「はい」をEnter。
5.SSH server が有効化されました。
6.raspi-config最初のメニューに戻るので、右矢印カーソルキーを2回叩いて、Finish。
7.念のため、一旦、再起動します。
sudo reboot
8.再起動後、SSH server が稼働しているのか、状態をチェックします。
※以下は小文字でssh入力してください。Linuxでは大文字/小文字を区別して扱われます。
sudo systemctl status ssh
緑色で「active (running)」と表示されれば、SSH server は稼働しています。
9.上の画面から抜けるには、Qキー(Quit)をプレスします。
SSH server が稼働していない(inactive:dead)場合
次の順序でコマンド入力してみてください。
sudo systemctl start ssh
sudo systemctl enable ssh
sudo systemctl status ssh
まだ「active (running)」にならなければ、OpenSSHをインストールし直します。
sudo apt install ssh
GPUメモリ を16MBに設定
- この設定は「ディスプレイモニタ無しのサーバにするよ」という方向けです。
※Gimpやブラウザなどアプリを使用する方にとっては、ラズパイのパフォーマンスが低下します。
※LXTerminal コマンド操作(CLI環境)にある程度慣れてからこの設定を行っても、遅くはないです。
GPUはグラフィック処理の際に使用されるユニット(装置)です。
GPUに割り当てるメモリ量を最小値16MBに設定します。
サーバで画像や動画の加工・編集・再生などをやらないので[9]厳密には、Terminal Emulators でもGPUは使用されますが、話の筋道から逸れるため、ここでは省略しています。、
GPUに割り当てるメモリを最小にして、
空メモリを増やします。
そうすると、ラズパイは使用できるメモリ量が増えるので、
理論上、処理速度が向上します。
雑な言い方が許されるなら、
- サーバはデータを「送る」のが役割
と捉えて頂ければ、
GPU割当メモリを減らすイメージをしやすくなると思います。
デスクトップで設定
1.メニュー>設定>Raspberry Pi の設定
2.パフォーマンス>GPUメモリ
数値を16にします。
3.再起動後、適用されます。
ターミナルで設定
1.raspi-configコマンドを呼び出します。
sudo raspi-config
2.Performance Options をEnter。
3.GPU Memory をEnter。
4.16の数値を入力。
5.raspi-configメニューに戻るので、右矢印カーソルキーを2回叩いて、Finish。
6.「再起動しますか?」
「はい」をEnter。
7.再起動後、適用されます。
今回はOSセットアップ直後の設定(前半)をご紹介しました。
説明(理屈)を読み飛ばして設定操作だけすると、10分で完了すると思います。
当記事がお役に立てれば、嬉しく思います。
以下の記事も一緒にどうぞ。
- ラズパイOS (bullsey) のインストール・セットアップ
- LXTerminal のコマンド一覧(最低限)
- nano の操作方法(保存)
- ラズパイOSセットアップ直後の設定
- ラズパイIPアドレスの固定など
- ufw(ファイアウォール)設定
- SSH接続でラズパイをリモート操作
- Sambaサーバを作ってiCloudを解除
- ローカルWordPress専用Webサーバ構築(SSL対応)
- Raspberry Pi OS Liteのインストール
- Raspberry Pi OS LiteでSambaを設定
- ラズパイサーバのWordPressを自動でバックアップ
- ラズパイSSDブート&起動しないときの対処方法
- MyDNSでドメインを無料取得する
- NGINXサーバでWordPressサイト(SSL化済)をWWWへ公開
脚注
↵1 | 関連するデータやプラグインのパッケージは、自動的に一緒にインストールされます。 |
---|---|
↵2 | 13年前のAtom N280, 2GBRAMのEee PC 1005HA(USB2.0)ですら十分にメディアサーバとして機能しています。別記事で書く予定です。 |
↵3 | 統一しなくても構わないのですが、当サイトではスムーズな成功を目指しているため、統一してサーバ構築する方針です。 |
↵4 | “.local”を使わないことにしました。理由はこちら。 |
↵5 | このファイル以外にも、同様にServerNameやDocumentRootを記述しなければならないファイルが3〜4個あります。 |
↵6 | WordPressでは”.local”を使わないことにしました。理由はこちら。 |
↵7 | この状態をヘッドレスと呼びます。 |
↵8 | SSHのポート番号を変更すると、更に堅牢になります。 |
↵9 | 厳密には、Terminal Emulators でもGPUは使用されますが、話の筋道から逸れるため、ここでは省略しています。 |
コメント