ConoHa に Red Hat Enterprise Linux（RHEL）をインストールする

この記事は、[ConoHa Advent Calendar 2021 15日目](https://qiita.com/advent-calendar/2021/conoha)の記事です。
今回は清楚かわいい ConoHa ちゃんに Red Hat Enterprise Linux 8 をインストールしていきます。

# CentOS がなければ RHEL を使えばいいじゃない

CentOS の終了を受けて移行先となる Linux ディストリビューションが数多く登場しました。

ConoHa でも AlmaLinux や Rocky Linux が用意されていますが、そもそも個人開発者であれば CentOS の元となる RHEL を無料で使用できます。

[個人開発者はRed Hat Enterprise Linuxを無料で最大16システムまで利用可能に　本番環境もOK - ITmedia NEWS](https://www.itmedia.co.jp/news/articles/2101/22/news099.html)

つまり「CentOS がなければ RHEL を使えばいいじゃない」ってことで、ConoHa ちゃんに RHEL をインストールします。

# 目次

 - Red Hat Developer Program に参加する
 - conoha-isoでイメージファイルをマウント
 - OSのセットアップ

# Red Hat Developer Program に参加する

Red Hat Enterprise Linux を無料で使うため Red Hat Developer Program に参加します。

参加といいますが、難しいことはなくただメールアドレスを用意してただ Red Hat アカウントを作成するだけです。

詳しくは次の記事を参考にして RHEL のインストールイメージファイル（`rhel-8.5-x86_64-dvd.iso`）を入手しましょう。

[無償ライセンスを使った Red Hat Enterprise Linux 8 のインストール方法 - Qiita](https://qiita.com/kichise/items/bb0aeec5a5b88c13eb73)

入手したイメージファイルは、インターネットからアクセスできる場所にアップロードします。
レンタルサーバーなどがあれば良いですが、手持ちがないかたは、VPS に Apache でもインストールしてください。


# conoha-isoで イメージファイルをマウント

API を使用して、VPSにOSイメージをマウントします。

まず、APIの実行に必要なキーを API情報 から取得します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-API.jpg)

そして、API を操作してISOをマウントしますが、コマンドラインツールが用意されているため、今回はこれを使います。

[GitHub ? conoha-iso](https://github.com/hironobu-s/conoha-iso)

GitHub から[exe](https://github.com/hironobu-s/conoha-iso/releases/download/current/conoha-iso.amd64.zip)をダウンロードして、てきとうな場所に解凍します。

exeファイルがある場所でコマンドプロンプトを開き、あらかじめアップロードしたイメージファイルを ConoHa にコピーします。

```winbatch
conoha-iso download -u "APIユーザー名" -p "APIパスワード" -n "テナント名" -r "tyo2" -i "https://example.jp/rhel-8.5-x86_64-dvd.iso"
```

ConoHa へのコピーはバックグラウンドで行われるため、24時間ぐらい放置して、結果を確認します。
（何も表示されない場合は、まだコピー中かコピーに失敗してます）

```winbatch
conoha-iso list  -u "APIユーザー名" -p "APIパスワード" -n "テナント名" -r "tyo2"
[Image1]
Name:  rhel-8.5-x86_64-dvd.iso
Url:   https://example.jp/rhel-8.5-x86_64-dvd.iso
Path:  /mnt/isos/repos/tenant_iso_data/cloudremix/rhel-8.5-x86_64-dvd.iso
Ctime: Sat Dec 12 11:52:02 2021
Size:  10975444992
```

コピーが確認できたら、マウント先となるVPSを用意します。

ConoHa ダッシュボードを開き、RHEL の最小システム要件を満たす2GBのプランで作成します。
OSは RHEL で上書きするので、どれを選んでもOKです。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Create-VPS.jpg)

作成したVPSはマウントのため、停止しておきます。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-VPS-Stop.jpg)

コマンドプロンプトから作成したVPSを選択します。
ISO取り外しに使うので、コマンドプロンプトは開いたままにしておきます。

```winbatch
conoha-iso insert -u "APIユーザー名" -p "APIパスワード" -n "テナント名" -r "tyo2"
[1] redhat-8_5 (123-123-123-123)
Please select VPS [1]: 1

[1] rhel-8.5-x86_64-dvd.iso
Please select ISO [1]: 1
[36mINFO[0m[0009] ISO file was inserted and changed boot device.
```

VPSを起動します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-VPS-Start.jpg)

コンソールを開いて、RHEL のブートが確認できたら成功です。
何かおかしい場合は「このはモード」にすると解決するかもしれません。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-INSTALL-Boot.jpg)

# OSのセットアップ

ブート画面で放置すると、自動的にインストール画面まで遷移します。
しばらく待つと言語選択画面になるので、日本語を選択します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-SELECT-Language.jpg)

インストール概要から次の設定をしていきます。
順番は前後しても良いですが、「Red Hatに接続」までの手順は先にしておくことをオススメします。（接続したタイミングで、ほかの設定を初期化するので、、、）


1. ネットワークとホスト名
1. Red Hatに接続
1. インストール先
1. root パスワード

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-INSTALL-Menu.jpg)

## ネットワークとホスト名

セットアップ時にネットワークは必須ではありませんが、ライセンス認証の際にどっちにしろインターネット接続が必要になるので、インストール時に設定しておきます。

ConoHa では DHCP でネットワーク情報が配布されているので、右上のオンを選択するだけです。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Network.jpg)

## Red Hatに接続

ライセンス認証（サブスクリプション）を行うため、Red Hat Developer Program に参加した際のユーザー名とパスワードで、ログインします。
（ユーザー名はメールアドレスではないので注意）

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Subscription.jpg)

正常に認証ができれば、Red Hat Developer Subscription for Individuals が割り当てられます。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Subscribe.jpg)

## インストール先

ディスクには作成時のOSがインストールされているため、中身はきれいさっぱり消して RHEL をインストールします。

「インストール先」を選択して、何もせず、左上の完了を押します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-INSTALL-Disk-Menu.jpg)

空き領域が足りないんですけど！と怒られるので、「領域の再利用」を押します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Disk-Option.jpg)

右側の「すべて削除」（画像だと「すべて保持」のとこ）を押して、「領域の再利用」を押します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Disk-Reuse.jpg)

## root パスワード

rootユーザーのパスワードを設定します。

VPS作成時に指定したパスワードは RHEL のインストールによって使えなくなるので、忘れずにメモしておきましょう。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Root-Setting.jpg)

## インストール

タイムゾーンだったり、ソフトウェア（初期だとGUIがついてくるので注意）を選択して、「インストールの開始」を押します。

インストールが完了すると、再起動を求められるので、一度再起動します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-Set-Complete.jpg)

再起動が終わると、またインストール画面（言語選択）に戻るので、ConoHa ダッシュボードから停止します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-VPS-Stop.jpg)

コマンドプロンプトをまた開き、ISOを取り外します。
取り出しが終わったら、コマンドプロンプトはもう使わないので、閉じてOKです。

```winbatch
conoha-iso eject -u "APIユーザー名" -p "APIパスワード" -n "テナント名" -r "tyo2"
[1] redhat-8_5 (123-123-123-123)
Please select VPS [1]: 1
[36mINFO[0m[0003] ISO file was ejected.
```

# RHELで遊ぶ

ISOを取り外して、起動すると RHEL が起動するので、SSHで接続します。

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-VPS-Start.jpg)

定番（？）の`/etc/redhat-release`を確認すると、いつもは CentOS だった場所に RHEL います！

```shell
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.5 (Ootpa)
```

nginx をインストールして、デフォルトページを確認します。

```
firewall-cmd --permanent --add-port={80/tcp,443/tcp}
firewall-cmd --reload
dnf -y install nginx
systemctl start nginx
```

あとはブラウザーからVPSにアクセスすると、ここにも RHEL います！

![alt](https://qiita-image.cloudremix.net/ConoHa-RHEL-NGINX.jpg)

# あとがき

「RHEL 個人なら無料で使えるんだーへぇ～」なんて思って放置していましたが、毎年恒例カレンダーゲットイベントでネタがなかったので、ConoHa で試してみました。

AlmaLinux や Rocky Linux も良いOSらしいですが、個人的な開発で使うのであれば、ちょっとセットアップは面倒ですが、やはり本家 Red Hat が無駄な地雷も踏まず安全かなーと思います。

あと、赤帽のロゴがあると何となく安心します。

ちなみに、これまで頂いたカレンダーは会社のデスクで使ってます（ConoHa のカレンダーってばれると某フランス王妃と同じ運命になりそうです。弊社の事業内容的に）