2022年11月22日火曜日

Oracle APEXの環境作成(3) - Linuxのインストール

 作成した仮想マシンにLinuxをインストールします。Oracle Linux 8をインストールしますが、RHELクローンであれば手順は同じになるでしょう。

仮想マシンにインストール・メディアが刺さっている状態から始めます。


Linuxのインストール


作成した仮想マシンOracleAPEX起動します。


仮想マシンのコンソールが開きます。

画面が小さくて操作が難しいときは、ディスプレイを変更します(Scale Factorの設定はVirtualBox 7の新機能で、VirtualBox 6にはありません)。


Scale Factor200に変更し、OKをクリックします。


60秒経過すると自動的にオペレーティング・システムのインストールが開始されます。コンソールにマウス・カーソルを当ててクリックすると、キーボード入力が仮想マシンに割り当たります。割り当たったキーボードをホスト・コンピュータに戻すには右下にある表示されているキーを押下します。macOSでのデフォルトは左コマンド・キーです。Windowsの場合のキーも右下に表示されているので参照してください。


オペレーティング・システムのインストールが開始されると、コンソールに色々とメッセージが表示されます。メディアのチェックなどはEscを入力するとスキップできますが、VirtualBoxのキーボード操作に慣れていない場合は、そのまま待っているのが良いでしょう。それほど時間はかかりません。


そのまま待っているとGUIのインストーラが起動します。最初に言語の選択があるので、キーボードのレイアウトus言語English(United States)を選択します。Oracle APEXのインストール後は仮想マシンにログインして作業することはほとんどありませんし、ここで日本語を選択すると、インストール中の画面の表示が崩れたり、日本語のディレクトリ名が作成されたりと、あまり嬉しいことがありません。設定は変更せずにContinueをクリックします。

仮想マシンのコンソール上の最初のマウスのクリックは、ホストのキーボードの割り当てに使われます。そのため、Continueのクリックとしては、2回目のクリックが認識されます。


インストールするオペレーティング・システムの構成を継続します。Time & DateRoot PasswordSoftware SelectionInstallation DestinationKDUMPNetwork & Host Nameについて設定を行います。


Time & Dateの設定を行います。RegionAsiaCityTokyoを選択すると日本時間になります。場合によってはUTCとするためにLondonを選ぶケースもあるかと思います。

設定後にDoneをクリックします。


Root Passwordを設定します。Root Passwordへのパスワードの入力と、それと同じ文字列をConfirmに入力します。

文字列として脆弱なパスワードの場合は、Done2回クリックして確定する必要があります。


Software SelectionとしてMinimal Installを選択します。Oracle Databaseのインストールに必要なRPMパッケージは、オラクルが提供している事前インストール用のRPMをインストールすると依存関係も考慮した上ですべてインストールされます。そのため、ここでは最小限の指定で十分です。


Installation Destinationを開きます。Storage ConfigurationAutomaticであることを確認し、自動的に決まるディスク・レイアウトを採用します。

Doneをクリックします。


KDUMPはカーネルのデバッグに使用する機能です。そのような作業は行わないのでEnable kdumpチェックを外します。

Doneをクリックします。


Network & Host Nameの設定を行います。EthernetONに変更します。仮想マシンにインストールしたOracle APEXへはhttp://localhost:8080/で接続する予定なので、Host Namelocalhost.localdomainのままにしておきます。

Configureをクリックします。


Generalのタブを選択し、Connect automatically with priorityチェックを入れます。これで仮想マシンの起動と同時に、ネットワークに接続されます。

Saveをクリックします。


Network & Host Nameに戻るのでDoneをクリックします。


オペレーティング・システムのインストールに必要な事前設定がすべて完了したので、Begin Installationをクリックし、インストールを開始します。


オペレーティング・システムのインストールが開始します。


環境に依存するので参考程度ですが、私の環境では7分程度で完了しました。

Complete!のメッセージを確認し、Reboot Systemをクリックします。


再起動が完了するとloginのプロンプトが表示されます。これでオペレーティング・システムのインストールは完了です。



SSH接続とOSのアップデート



オペレーティング・システムを最新までアップデートします。

コンソールからログインして作業するのはほとんど不可能なので、ポート・フォワーディングの設定を行いSSH経由で仮想マシンにログインします。

VirtualBoxマネジャーより仮想マシンを選択し、ネットワークの設定を開きます。


ネットワークの設定のAdvancedを開いて、ポートフォワーディングをクリックします。


開いたパネルより、ポート・フォワーディングのルールを追加します。プラスのアイコンをクリックすると一行追加されます。

名前SSHとします。プロトコルTCPです。ホスト・ポートはホスト(つまりWindowsやMac側)で利用可能なポート番号を指定します。通常22のような1024番以下のポートはシステムで予約されているため、それ以上の番号を割り当てることになります。今回は10022としました。ゲスト・ポートは、仮想マシン上でSSHが接続を待機しているポート番号です。サービスはSSHなので22を指定します。

追加したらOKをクリックします。


ネットワークの構成が完了したので、OKをクリックします。


ポート・フォーワーディングの設定を行うと、ホスト・マシンから指定したゲスト・ポートを指定してSSHで接続できるようになります。-pオプションで接続するポート番号として10022を指定します。

ユーザーrootで接続します。

ssh -p 10022 root@localhost

% ssh -p 10022 root@localhost

The authenticity of host '[localhost]:10022 ([127.0.0.1]:10022)' can't be established.

ED25519 key fingerprint is SHA256:6Brbo8Y/A2QYMEpcOJnSnyqC2y6Q96qv3YoDpJUKg2M.

This key is not known by any other names

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[localhost]:10022' (ED25519) to the list of known hosts.

root@localhost's password: ********

[root@localhost ~]# 


コマンドラインのsshからの初回接続の場合は確認を求められ、yesを入力すると~/.ssh/known_hostsファイルに公開鍵のフィンガープリントが登録されます。

接続先(この場合localhost:10022)にフィンガープリントが登録済みの場合、以下のように警告が表示されます。SSHで接続できるようにするには、~/.ssh/known_hostsより登録済みのフィンガープリントの行を削除する必要があります。

削除が必要な行は、警告メッセージに含まれています。以下の例では、knows_hostsの33行目が削除の対象です。

Last login: Thu Nov 17 14:21:00 on console

% ssh -p 10022 root@localhost

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the ED25519 key sent by the remote host is

SHA256:6Brbo8Y/A2QYMEpcOJnSnyqC2y6Q96qv3YoDpJUKg2M.

Please contact your system administrator.

Add correct host key in /Users/********/.ssh/known_hosts to get rid of this message.

Offending ECDSA key in /Users/********/.ssh/known_hosts:33

Host key for [localhost]:10022 has changed and you have requested strict checking.

Host key verification failed.

% 


オペレーティング・システムを最新までアップデートします。

dnf -y update

[root@localhost ~]# dnf -y update

Failed to set locale, defaulting to C.UTF-8

Waiting for process with pid 1165 to finish.

Last metadata expiration check: 0:00:12 ago on Thu Nov 17 17:30:55 2022.

Dependencies resolved.

================================================================================

 Package         Arch   Version                         Repository         Size

================================================================================

Upgrading:

 e2fsprogs       x86_64 1.46.2-2.el8                    ol8_UEKR7         1.0 M

 e2fsprogs-libs  x86_64 1.46.2-2.el8                    ol8_UEKR7         242 k

 libbpf          x86_64 2:0.6.0-6.el8                   ol8_UEKR7         162 k

 libcom_err      x86_64 1.46.2-2.el8                    ol8_UEKR7          51 k


[中略]


  libss-1.46.2-2.el8.x86_64                                                     

  platform-python-3.6.8-47.0.1.el8_6.x86_64                                     

  python3-libs-3.6.8-47.0.1.el8_6.x86_64                                        

  rhnsd-5.0.35-3.0.1.module+el8+5192+3173336a.x86_64                            

  tzdata-2022f-1.el8.noarch                                                     

  xfsprogs-5.15.0-1.0.1.el8.x86_64                                              


Complete!

[root@localhost ~]# 


カーネルが変更されている場合もあるので、オペレーティング・システムを再起動します。

shutdown -r now

[root@localhost ~]# shutdown -r now

Connection to localhost closed by remote host.

Connection to localhost closed.


以上で、Oracle Linux 8のインストールは完了です。

続く