【ラズパイ】Webアプリケーション用にUbuntuをインストールする(Raspberry Pi Imager)

時計 2021.10.31 / 時計

【ラズパイ】Webアプリケーション用にUbuntuをインストールする(Raspberry Pi Imager)

本記事ではRaspberry PiUbuntuインストールする方法について解説していきます。

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ダウンロード

Raspberry Pi Imagerのインストールの流れは次の通りです。

  1. ダウンロードしたファイルを実行
  2. 起動したインストーラーから「Install」を選択
  3. Raspberry Pi Imager:起動したインストーラーから「Install」を選択
  4. インストールが終了したら「Finish」を選択
  5. Raspberry Pi Imager:インストールが終了したら「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年までは安心して利用することができます。

IT用語の確認

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カードのフォーマットは以下の流れで行います。

  1. Raspberry Pi Imagerを起動
  2. Raspberry Pi Imager:起動
  3. 「Operating System」に「Erase」を選択
  4. 「Storage」にmicroSDカードを選択
  5. Raspberry Pi Imager:「Storage」にmicroSDカードを選択
  6. 「WRITE」をクリック
  7. メッセージボックスからフォーマット完了を確認
  8. Raspberry Pi Imager:メッセージボックスからフォーマット完了を確認

microSDカードへのUbuntu書き込みは次の流れで行います。

  1. Raspberry Pi Imagerを起動
  2. Raspberry Pi Imager:起動
  3. 「Operating System」で「Other general purpose OS」>「Ubuntu」>「Ubuntu Server 20.04 LTS」を選択
  4. 「Storage」にmicroSDカードを選択
  5. Raspberry Pi Imager:「Storage」にmicroSDカードを選択
  6. 「WRITE」をクリックし、OSインストールをスタートする
  7. メッセージボックスからOS書き込みの完了を確認
  8. Raspberry Pi Imager:メッセージボックスから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権限にパスワードを設定していきます。

IT用語の確認

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アプリケーションを構築していってください。