3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VirtualBoxにUbuntu Server 22.04.3をインストール

Last updated at Posted at 2023-08-12

この記事のまとめ

ISOイメージの入手

ホストOSのCPUに依存する。以下の2種類のどちらかが正解

  • ARM64版
    • 64-bit ARM(ARMv8/AArch64)server install image
  • AMD64版
    • 64-bit PC(AMD64)server install image

私の場合は後者だった

VirtualBoxで箱を作成

image.png

パラメータ
名前 お好きな名前をどうぞ
Folder お好きな場所をどうぞ
ISO Image ダウンロードしたiso
Skip Unattended Installation Enable
メインメモリ 2048 MB
Processors 2
Enable EFI Disable
Virtual Hard disk Create Virtual Had Disk Now
Disk Size お好きなサイズでどうぞ
Pre-allocate Full Size Disable

VirtualBoxの箱をカスタマイズ

image.png
起動中の画面なので色々グレーアウトされています。停止中であれば修正できます。

カテゴリ パラメータ
一般/基本 バージョン Ubuntu(64-bit)
ストレージ/コントローラIDE: Live CD/DVD Disable
ネットワーク 各アダプタ お好きにどうぞ

ネットワークについて

だいたいは以下の設定で良いと思います。

  • アダプター1
    • NAT
  • アダプター2
    • ホストオンリーネットワーク

Ubuntuのインストール

ほとんどServer Worldさんを確認すると良い

言語選択

image.png
インストーラで使用する言語の選択。Englishを選んでEnterキー

キーボードレイアウト

image.png
Japananeseを選んで「Done」

パッケージレイアウト

image.png
Ubuntu ServerXがついてる状態で「Done」

最小構成でインストールした感じ

  • viが無い
  • openssh-server, openssh-clientは入ってる
  • ufw(Ubuntu FireWall)も無い

格好つけずに推奨パッケージ含まれているやつで構築したほうが良いと思う。マジで。

ネットワーク設定

image.png
環境に合わせて。基本そのままでOK

プロキシ設定

image.png
企業内で行う場合はここで設定しないと後で後悔すると思う。ご家庭で楽しまれている方は入力せず「Done」。

パッケージリポジトリ取得

image.png
放っておけば色々検索されて画像のような表示になる。なったら「Done」。

パーティション設計タイプ選択

image.png
お試しなら基本全部/にぶっこみたいのでカスタマイズする。Custom storage layoutXをつけて「Done」。

パーティション設計

image.png
ここでは以下の通りにしていますが、初めてなら/に全部つっこんでいいと思います。

作成順 サイズ Format Mount
1 20G ext4 /data ※
2 残り全部 ext4 /

※一度「Other」を選んでから手入力で指定

  1. free spaceを選んでEnter
  2. 表示されるメニューでAdd GPT Partition
  3. 上記の表の作成順「1」のパラメータを指定
  4. 再度free spaceを選んでEnter
  5. 表示されるメニューでAdd GPT Partition
  6. 上記の表の作成順「2」のパラメータを指定
  7. 全部入力したら「Done」

image.png
データ全部消えるけどいいですか?が出るので「Continue」

管理者ユーザの作成

image.png
adminとかrootではない、管理者アカウントのパラメータを入力。大事なアカウントなので使いやすい名前/パスワードにしておくこと。

Pro版への昇格

image.png
skip for nowXがついていることを確認して「Continue」

OpenSSH Serverのインストール

image.png
ここでは一旦なにもしない。そのまま「Done」。

追加パッケージ選択

image.png
ここでは一旦なにもしない。そのまま「Done」。

インストール開始

image.png
割りとすぐ終わる。オレンジ色の帯がInstall complete!となれば完了。「Reboot Now」。

メディア取り出してくださいメッセージ

image.png
FAILEDとか出てびっくりするかもしれないけど大丈夫。VirtualBoxの枠下、CD/DVDのアイコンが比活性になっていることを確認してEnterキーを押す

本当のサーバの場合、このタイミングでCD/DVDドライブが開いてメディアが排出されている。

インストール完了

image.png
なんかゴチャゴチャっと出てびっくりするかもしれないけど、Enterを押せばログインプロンプトが表示される。

image.png
こんな感じ

インストール後初期設定

以降は各自己の流儀があると思いますが私なりの汎用設定を記載します。まだUbuntuは触りたてなので色々増えていくかもしれません。

SSH接続する

コンソールでいじり続けるのはしんどいので手元のTeratermでホストオンリーアダプターのIFへSSH接続します。

image.png
インストール中にopenssh-serverを拒否ったのに入ってくる。なんなのか。

接続後は以下のコマンドでrootに昇格しておく(インストール作業中のみ)。

udon@node1:/etc/netplan$ sudo -s

ネットワーク設定

root@node1:~# cd /etc/netplan
root@node1:/etc/netplan# mv 00-installer-config.yaml 00-installer-config.yaml.org
root@node1:/etc/netplan# vi 01-netcfg.yaml
01-netcfg.yaml
network:
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp6: false
    enp0s8:
      dhcp4: false
      addresses: [192.168.56.103/24]
      dhcp6: false
  version: 2

TABは使ってはいけないらしい。スペースでインデントを合わせる。以下のコマンドで反映。

root@node1:/etc/netplan# netplan apply

以下のコマンドでIPv6の息を止めておく

root@node1:/etc/netplan# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
root@node1:/etc/netplan# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1

まだsysctlが残ってるんだなぁ~と嬉しくなっちゃう。

パッケージ最新化

一度ダウンロードしてから適用する。ダウンロードしたパッケージを退避しておくことで同じサーバを作りやすくする(毎回最新パッケージでインストールすると環境差分が出るので検証/商用で構成が違う!ということにもなり得る。

root@node1:~# apt update
Hit:1 http://jp.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://jp.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:4 http://jp.archive.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@node1:~# apt -d upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  cloud-init
The following packages will be upgraded:
  libldap-2.5-0 libldap-common
2 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 199 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://jp.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libldap-2.5-0 amd64 2.5.16+dfsg-0ubuntu0.22.04.1 [183 kB]
Get:2 http://jp.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libldap-common all 2.5.16+dfsg-0ubuntu0.22.04.1 [15.8 kB]
Fetched 199 kB in 2s (120 kB/s)
Download complete and in download only mode

ダウンロードしたファイルを退避しておいてローカルからインストールする。

root@node1:~# mkdir -p /home/udon/pkgs
root@node1:~# cp -p /var/cache/apt/archives/*deb /home/udon/pkgs/.
root@node1:~# cd !$
cd /home/udon/pkgs/.
root@node1:/home/udon/pkgs# apt -y install ./*deb

image.png
サービス再起動していい?って聞かれたのでOKを選択

Ubuntu Firewall(UFW)設定

UFW : 基本操作

状態確認 + 有効化

(serviceレベルでの確認)
root@node1:~# systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sat 2023-08-12 10:54:58 UTC; 23min ago
       Docs: man:ufw(8)
   Main PID: 573 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Aug 12 10:54:57 node1 systemd[1]: Starting Uncomplicated firewall...
Aug 12 10:54:58 node1 systemd[1]: Finished Uncomplicated firewall.

(ufwとしての確認: inactive = 無効)
root@node1:~# ufw status
Status: inactive

(ufwを有効化)
root@node1:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

(ufwとしての確認: active = 有効)
root@node1:~# ufw status
Status: active

SSHを許可

root@node1:~# ufw allow ssh
Rule added
Rule added (v6)

その他受信を全拒否

root@node1:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)

root@node1:~#

設定反映

root@node1:~# ufw reload
Firewall reloaded
root@node1:~#
root@node1:~#
root@node1:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)

ここで必要最低限のインストール作業は缶完了

3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?