【ラズパイ】Webアプリケーション用にUbuntuをインストールする(Raspberry Pi Imager)
2021.10.31 /
本記事ではRaspberry PiにUbuntuをインストールする方法について解説していきます。
microSDカードへのOS書き込みは、公式からリリースされた「Raspberry Pi Imager」を利用します。
Raspberry Piは教育用に開発された安価なコンピューターです。しかし今では多くのエンジニアに利用されています。
サーバー用途やNASなど様々な場面で活躍しています。
ここではラズパイに数あるOSの一つ、Ubuntu Server 20.04.3 LTSをインストールします。
Ubuntuの用途としては、DjangoによるWebアプリケーションサーバーの構築です。
Raspberry Pi Imager
Raspberry Pi Imagerとは公式がリリースしたOSの書き込み(インストール)ツールです。
Raspberry Pi(通称:ラズパイ)を動かすためにはmicroSDカードにOSイメージを書き込み(インストール)します。ラズパイではmicroSDカードがストレージの役割を担っています。
今までは「NOOBS」というツールを用いてOSをインストールしていました。Raspberry Pi Imagerが登場した現在では、NOOBSを使うことはほぼなくなりそうです。
公式でもRaspberry Pi Imagerを使ってOSインストールすることが推奨されています。
Raspberry Pi Imagerは以下ラズベリーパイ財団のサイトからダウンロードできます。
Raspberry Pi Imagerのインストールの流れは次の通りです。
- ダウンロードしたファイルを実行
- 起動したインストーラーから「Install」を選択
- インストールが終了したら「Finish」を選択
Raspberry Pi Imagerから以下のOSをインストールできます。
- Raspberry Pi OS
- Raspberry Pi OS(Other)
- Ubuntu
- Manjaro ARM Linux
- RISC OS Pi
- LibreELEC
本記事ではWebアプリケーション用のサーバーを構築するために、Ubuntuをラズパイにインストールします。
Ubuntu
Ubuntuとは
Ubuntu(ウブントゥ)とはLinux系OSの一つです。またオープンソースのLinuxディストリビューションです。
無料で利用することができ、日本語にも対応しています。
開発速度が速く、品質も非常に良いため、多くのエンジニアに利用されているOSです。
Ubuntuの開発目標として、「誰にでも使いやすいOS」を提供すること、というのがあります。そのため初心者でも使いやすいOSとなっています。
サポート期間
Ubuntuのサポート期間は通常のUbuntuとLTS(Long Term Support)で異なります。
ここでのサポートとは、不具合やセキュリティ関係のアップデートを意味します。
通常のUbuntuではサポート期間が最低9か月間です。
LTS版は最低5年~10年と非常に長い間サポートが続きます。
サポート期間が短い通常版よりも、LTS版を選択するのが基本的にはお勧めです。
Raspberry Pi ImagerでインストールできるUbuntu LTS版は、2021年10月現在Ubuntu Server 20.04.3 LTSが最新です。
バージョン | リリース日 | サポート期間 |
---|---|---|
20.04 LTS | 2020年4月23日 | 2025年4月(通常) 2030年4月(ESM) |
ESM(Extended Security Maintenance)を利用すれば2030年までは安心して利用することができます。
ESM(Extended Security Maintenance)とは、無償サポートが終了した後も継続的にアップグレードを提供する有償サービスです
ESMはLTS版のみに提供されるサービスのため、通常版には存在しません。
以上のことから、本記事ではUbuntu Server 20.04.3 LTSをインストールします。
microSDカードへUbuntuを書き込む
すでに説明していますが、
Raspberry Piを動かすためにmicroSDカードにOSイメージを書き込み(インストール)する必要があります。
ここではmicroSDカードへUbuntuを書き込みする方法を説明していきます。
事前準備として、Raspberry Pi Imagerをインストールし、パソコンにmicroSDカードを差し込みます。
microSDカードがフォーマットされていない場合、Raspberry Pi Imagerでフォーマット(Fat32形式)することが可能です。
microSDカードのフォーマットは以下の流れで行います。
- Raspberry Pi Imagerを起動
- 「Operating System」に「Erase」を選択
- 「Storage」にmicroSDカードを選択
- 「WRITE」をクリック
- メッセージボックスからフォーマット完了を確認
microSDカードへのUbuntu書き込みは次の流れで行います。
- Raspberry Pi Imagerを起動
- 「Operating System」で「Other general purpose OS」>「Ubuntu」>「Ubuntu Server 20.04 LTS」を選択
- 「Storage」にmicroSDカードを選択
- 「WRITE」をクリックし、OSインストールをスタートする
- メッセージボックスからOS書き込みの完了を確認
OSはインターネット経由でダウンロードするため、パソコンはインターネットに接続した状態にし続けてください。
OSの書き込みが終了したらmicroSDカードをパソコンから取り出し、ラズパイに差し込んでください。
ラズパイでUbuntuを起動:初期設定
ここではUbuntuを起動後に、最低限行うべき初期設定について解説していきます。
ここでは以下の初期設定を行っていきます。
- 初期起動後にログイン・パスワード設定
- Wi-Fi設定
- パッケージのアップデート
- 日本語環境の設定
- タイムゾーンの設定
- root権限へのパスワード設定
- ユーザーの追加
- ホスト名の設定
- ファイアウォール設定
ubuntu:初期起動後にログインを行う
Ubuntuを書き込んだmicroSDを挿入したラズパイを起動すると、cloud-initが動き出します。
cloud-initの完了メッセージが表示しましたら、ログインを行います。
初回ログイン時のアカウント名は「ubuntu」、パスワードも「ubuntu」です。
初回ログインを行うと、「You are required to change your password immediately」と表示し、パスワードの変更を要求されます。
新しいパスワードを2度入力して、パスワードを設定してください。
ubuntu:Wi-Fiの設定
LANケーブルが接続していない場合、Wi-Fiに接続する必要があります。
ここではWi-Fiに接続する方法を解説していきます。
まずディレクトリを移動します。
$ cd /etc/netplan/
次に50-cloud-init.yamlをvimで編集します。
$ sudo vim 50-cloud-init.yaml
vimはテキストを編集するためのテキストエディタです。編集モードとコマンドモードを切り替えて利用します。
モード名 | 説明 |
---|---|
コマンドモード | ファイルの保存・終了などを行います |
編集モード | ファイル内容の編集を行います |
vim起動時はコマンドモードなので、キーボードで「i」を押すことで編集モードに切り替わります。
編集モードに切り替えたら、次のようにファイル内容を変更します。
# 50-cloud-init.yamlの内容
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
# 以下Wi-Fi内容を追加
wifis:
wlan0:
optional: true
dhcp4: true
access-points:
"SSIDを記入":
password: "パスワードを記入"
ファイルを編集したら「Esc」キーを押すことでコマンドモードに切り替わります。
コマンドモードに切り替え「:wq」を実行すると、ファイルを保存して終了します。
次に以下のコマンドを実行して、設定の反映を行います。
$ sudo netplan –-debug generate
$ sudo netplan –-debug apply
$ sudo reboot
以下のコマンドでWi-Fi経由で取得したIPアドレスを確認できます。
$ ip a
ubuntu:アップデートの実施
Wi-Fiまたはインターネットの接続ができましたら、次に最新のアップデートを適用させましょう。
APTライブラリのデータベースを最新に更新するために、以下のコマンドを実行します。
# パッケージリストの更新
$ sudo apt update
# インストール済みのパッケージの更新
$ sudo apt upgrade -y
$ sudo apt list --upgradable
$ sudo apt full-upgrade -y
UbuntuなどのDevian系ディストリビューションは、パッケージ管理システムであるAPT(Advanced Package Tool)を利用しています。
aptコマンドはパッケージの操作や管理を行うコマンドです。
ubuntu:日本語環境の設定
Ubuntuに日本語パックをインストールして日本語に対応させることができます。
コマンドlocalectlを実行して現在の環境を確認してみます。
$ sudo localectl
System Locale: LANG=C.UTF-8
VC Keymap: n/a
X11 Layout: us
X11 Model: pc105
まず日本語パックをインストールします。
日本語パックのインストールにはapt-getコマンドを利用し、スイッチに「install」、オプションに「-y」、パッケージに「language-pack-ja-base language-pack-ja ibus-mozc」を指定します。
$ sudo apt-get -y install language-pack-ja-base language-pack-ja ibus-mozc
次にインストールした日本語パックを適用させます。
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
無事適用されたか再度確認をします。
$ sudo localectl
System Locale: LANG=ja_JP.UTF-8
LANGUAGE=ja_JP:ja
VC Keymap: n/a
X11 Layout: jp,jp
X11 Model: pc105
ubuntu:タイムゾーンの設定
タイムゾーン(時刻)を日本に設定変更します。
まず現在のタイムゾーンをdateコマンドで確認しましょう。
$ date
日本のタイムゾーンと異なっていれば、以下のコマンドを実行して日本(Asia/Tokyo)のタイムゾーンに変更します。
$ sudo timedatectl set-timezone Asia/Tokyo
タイムゾーンが日本に変更されたか、再度dateコマンドを実行して確認します。
$ date
ubuntu:root権限にパスワードを設定
root権限にパスワードを設定していきます。
root権限とは、すべての操作が可能になる強力な権限のこと。システム管理者が利用するアカウントに付与して利用する
root権限を利用したことがない場合、パスワードが設定されていないため、利用するにはパスワードの設定が不可欠です。
以下のコマンドを実行して、root権限のパスワードを設定します。
$ sudo passwd root
パスワードは2回入力を求められます。「password update successfuly」と表示されればパスワード設定が完了しています。
rootユーザーでログインするためには、suコマンドを実行します。
$ sudo su root または sudo su -
パスワードの入力を求められますので、先ほど設定したパスワードを入力することでrootユーザーでログインされます。
ubuntu:ユーザーの追加
新たにubuntuサーバーにユーザーを追加します。
ユーザーの追加にはadduserコマンドを使用します。
$ sudo adduser ユーザー名
作成したユーザーにsudo権限を付与する場合は、次のコマンドを実行します。
$ sudo gpasswd -a ユーザー名 sudo
ホスト名の設定
ホスト名を使用する用途でわかりやすい名前を設定しましょう。
現在のホスト名はコマンドhostnameを実行することで確認できます。
$ hostname
ubuntu
ホスト名の変更には次のコマンドを実行します。
$ sudo hostnamectl set-hostname ホスト名
ファイアウォールの設定
ubuntuではデフォルトでファイアウォールが設定されていません。
そのためファイアウォールを有効にして、セキュリティレベルを高めておく必要があります。
UFW(Uncomplicated Firewall)という、iptablesへのインタフェース(設定ツール)を利用して簡単にファイアウォールを設定できます。
UFWはUbuntuに初めからインストールされています。現在のUFWの状態は次のコマンドで確認できます。
$ sudo ufw status
Status: inactive
上記のようにインストールした直後ではUFWは非アクティブ状態となっています。
UFWをアクティブにするために「ufw enable」を実行します。
$ sudo ufw enable
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active
これでUFWが有効状態となりました。
次に一旦すべてのポートへのアクセスを拒否します。
$ sudo ufw default deny
「ufw allow ポート番号」で必要なポートを指定してポートを開放します。
ここではSSH(ポート番号22)とHTTP(ポート番号80)、HTTPS(ポート番号443)のポートを開放します。
$ sudo ufw allow 22
$ sudo ufw allow 80
$ sudo ufw allow 443
UFWにルールを追加したので、再読み込みをするため「ufw reload」を実行します。
$ sudo ufw reload
Firewall reloaded
まとめ
本記事「【ラズパイ】Webアプリケーション用にUbuntuをインストールする(Raspberry Pi Imager)」はいかがでしたか。
ここで紹介した流れでセットアップすることで、Raspberry PiへのUbuntuインストールと初期設定が完了します。
このあとにお好きなWebサーバーやデータベースソフトをインストールしてWebアプリケーションを構築していってください。