🙄

【Linux】VirtualBoxインストール~CentOSへのnginx導入迄実施

2021/03/21に公開

はじめに

今回は、VirtualBoxインストール~CentOSへのnginx導入迄実施し、WEBサーバを構築しようと思います。
※WindowsPCで作業することを前提に記事を執筆しています。

作業PCスペック

今回の作業にて使用するPCのスペックになります。

項目
OS名 Microsoft Windows 10 Pro
バージョン 10.0.19042 ビルド 19042
システムの種類 x64-ベース PC
CPU Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz、3601 Mhz、4 個のコア、8 個のロジカル プロセッサ
インストール済みの物理メモリ (RAM) 32.0 GB

使用するソフトウェア等

  • Oracle VM VirtualBox

Oracle社製の仮想化ソフトウェアパッケージ

  • CentOS7.6 1810

フリーのLinuxディストリビューション

  • TeraTerm

CentOSに接続するためのターミナルソフト

作成する仮想マシンのスペック

項目
CPU(プロセッサー数) 1
メモリ容量 2048MB
ディスク容量 8GB

今回構築する構成

  • マシンの構成

  • ネットワーク構成

作業準備

【作業準備の流れ】
①VirtualBoxをダウンロード
②VirtualBoxをインストール
③CentOSをダウンロード
④TeraTermをダウンロード
⑤TeraTerm初期設定

①VirtualBoxをダウンロード

1.VirtualBox公式サイトへアクセスし、赤枠の箇所をクリック。

VirtualBox公式サイト

2.「Windows hosts」をクリックし、任意の場所にインストーラーを保存する。
※今回は、WindowsPCで検証することを前提に記事を書いています。

②VirtualBoxをインストール

1.VirtualBoxのインストーラーを起動すると、以下のような画面が表示される。
そのまま「Next」をクリック。

2.インストール場所の選択画面が表示される。
そのまま「Next」をクリック。

3.オプション選択画面が表示される。
そのまま「Next」をクリック。

4.Warningメッセージが表示される。
インストールにあたってネットワーク設定がリセットされ、一時的にネットワークが切断されるという内容。

問題ないので、そのまま「Yes」をクリック。

5.インストールの確認画面が表示される。
そのまま「Install」をクリック。

6.インストールが完了すると、完了画面が表示される。
「Start Oracle VM VirtualBox 6.1.18 after installation」にチェックを入れたまま、「Finish」をクリック。

7.VirtualBoxの画面が表示される。
そのまま表示させたままにする。

③CentOSをダウンロード

以下ページにアクセスし、「CentOS-7-x86_64-DVD-1810.iso」をダウンロードする。
※任意の場所に保存する。ダウンロードには時間がかかります。

CentOSダウンロードページ

④TeraTermをダウンロード

1.以下サイトより、「TeraTermポータブル版」のダウンロードを実施。
ダウンロードしたzipファイルは、任意の場所に保存する。

TeraTermダウンロードサイト

2.保存したzipファイルを任意の場所へ展開し、「ttermpro.exe」を起動する。

3.ターミナル画面が起動することを確認する。

⑤TeraTerm初期設定

1.英語表記→日本語表記へ変更

  • 「Setup」→「General」と選択する。

  • 「LanguageUI:」を「Default.lng」→「Japanese.lng」に変更する。

  • ツールバーの言語が日本語になったことを確認する。

2.ログ保存設定

  • 「設定」→「その他の設定」と選択する。

  • 「その他の設定」画面より「ログ」タブを選択する。

以下の項目を設定し、「OK」をクリック。

項目 備考
標準ログファイル名 %Y%m%d_%H%M%S.log 当日の年月日と時間を表示
標準のログ保存先フォルダ ログの保存先を選択 任意の場所を選択する
自動的にログ採取を開始する チェックを入れる TeraTerm起動時にログ取得を開始する。

3.設定保存

「1.英語表記→日本語表記へ変更」と「2.ログ保存設定」で設定した内容を保存する。

  • 「設定」→「設定の保存」をクリックする。

  • 「TERATERM.INI」を選択し、上書き保存する。
    保存完了後、TeraTermの画面を閉じる。

  • 再度「ttermpro.exe」を実行し、TERATERMが日本語表記になっていることを確認。

作業手順

【作業の流れ】
①ホストネットワーク設定
②仮想マシン作成
③仮想マシン設定
④OSインストール
⑤OS設定
⑥nginxインストール
⑦WEB画面表示確認

①ホストネットワーク設定

内部向けのネットワークを作成していきます。
※ローカルで仮想マシンにアクセスするために必要なネットワークになります。

1.「ファイル」より「ホストネットワークマネージャー」をクリック。

2.ホストネットワークマネージャーが起動される。
「作成」をクリック。

3.ホストネットワークが作成される。
作成確認後、IPアドレス/マスク(192.168.38.1/24)の部分を控えた後に「閉じる」をクリック。
※「DHCPサーバー」は使用しないため、チェックを外す。

②仮想マシン作成

仮想マシン(CentOS)を作成していきます。

1.「Oracle VM VirtualBoxマネージャー」より「新規」をクリック。

2.「名前とオペレーティングシステム」の設定画面に遷移する。

以下のように設定し、「次へ」をクリック。

項目 備考
名前 testsv01 サーバー名を入力する。(任意でOK)
タイプ Linux CentOSのため「Linux」を選択
バージョン Red Hat (64-bit) CentOSのため「RedHat(64-bit)を選択

3.メモリーサイズを「2048」MBに設定し、「次へ」をクリック。

4.「仮想ハードディスクを作成する」にチェックを入れ、「作成」をクリック。

5.「VDI(VirtualBox Disk Image)」にチェックを入れ、「次へ」をクリック。

6.「可変サイズ」にチェックを入れ、「次へ」をクリック。

7.仮想マシンが作成できたことを確認。

③仮想マシン設定

1.対象サーバを右クリックし、「設定」をクリック。

2.「システム」→「プロセッサー」と選択し、プロセッサー数が「1」であることを確認。

3.「CentOS7.6 1810」のメディアをセットする。

  • 「ストレージ」を選択し、右側のディスクマークをクリックする。

  • 「ディスクファイルを選択」をクリック。

  • ダウンロードしたメディアファイルを選択し、「開く」をクリック。

  • 「コントローラー:IDE」にメディアファイルがセットされていることを確認。

4.NIC設定

  • 「ネットワーク」を選択し、「アダプター1」の設定を確認する。

以下設定であることを確認。

項目 備考
ネットワークアダプターを有効化 チェックを入れる。 NIC有効化
割り当て NAT 外部に接続するためのネットワーク

  • 「アダプター2」を設定する。

以下のように設定をする。

項目 備考
ネットワークアダプターを有効化 チェックを入れる。 NIC有効化
割り当て ホストオンリーアダプタ CentOSにSSH接続するために必要なネットワーク
名前 VirtualBox Host-Only Ethernet Adapter 「①ホストネットワーク設定」にて設定したネットワーク

設定完了後、「OK」をクリックする。

④OSインストール

1.作成した仮想マシンを選択し、「起動」をクリック。

2.起動ハードディスクを選択で、対象のメディアファイルを選択し、「起動」をクリック。

3.「Install CentOS 7」をクリック。
クリックすると、処理が走る。

4.「CentOS7へようこそ」の画面にて、以下のように日本語を選択し、「続行」をクリック。

5.「地域設定」と「ソフトウェア」が以下のようになっていることを確認。

  • 地域設定
項目
日付と時刻 アジア/東京 タイムゾーン
キーボード 日本語
言語サポート 日本語(日本)
  • ソフトウェア
項目
インストールソース ローカルメディア
ソフトウェアの選択 最小限のインストール

6.「インストール先」をクリックする。

7.対象のディスクを選択し、「完了」をクリック。

8.インストール先が「自動パーティションが選択されました」になったことを確認。

8.「ネットワークとホスト名」をクリックする。

8.「ネットワークとホスト名」の設定画面が表示される。

9.「ホスト名」を「testsv01」と入力し、「適用」をクリックする。

10.現在のホスト名が「testsv01」に設定されたことを確認。

11.Ethernet(enp0s3)の部分を「オン」にする。

※以下の部分になります。

12.Ethernet(enp0s8)の部分が「オフ」であることを確認し、「完了」をクリックする。

※以下の部分になります。

13.「ネットワークとホスト名」の部分が「有線(enp0s3)が...接続されました」であることを確認後、「インストールの開始」をクリック。

※「KDUMP」と「SECURITY POLICY」は変更なしでOK

14.インストール画面に遷移するので、「ROOTパスワード」をクリックする。

15.任意のパスワードを2回入力し、「完了」をクリックする。

16.「ユーザーの作成」をクリックする。

17.ユーザー作成に必要な項目を入力し、「完了」をクリックする。

項目
フルネーム 任意のフルネーム
ユーザー名 任意のユーザー名
このユーザーを管理者にする チェックを入れる。
このアカウントを使用する場合にパスワードを必要とする チェックを入れる。
パスワード 任意のパスワード
パスワードの確認 再度、同じパスワードを入力

18.ユーザーの設定が完了することを確認する。

19.インストール完了後、「再起動」をクリックする。

20.再起動完了後、以下のような画面が表示される。

⑤OS設定

以下の設定を実施していきます。
※必要最低限の設定になります。

【OS設定の流れ】
1.IPアドレス設定
2.TeraTermにてSSH接続
3.Firewalld無効化
4.NetworkManager無効化
5.DNS設定
6.NTPクライアント設定
7.SELinux無効化

1.IPアドレス設定

  • サーバーにログインを実施する。

※作成したユーザーでログインする。

  • rootユーザーにスイッチする。
コマンド
sudo -i

パスワードが求められるため、rootパスワードを入力する。

  • ネットワークインタフェースの状態を調べる。
    「enp0s8」にIPアドレス情報がないことを確認する。(ホストオンリーアダプタ)
    「enp0s3」が起動していることを確認する。(NAT)
コマンド
ip a

確認例)

  • ネットワークインタフェースの設定ファイルが保存されているディレクトリに移動する。
コマンド
cd /etc/sysconfig/network-scripts/
  • 「ls」を実行し、「ifcfg-enp0s8」が存在することを確認
コマンド
ls -l | grep ifcfg-enp0s8

実行例)

  • 「ifcfg-enp0s3」「ifcfg-enp0s8」をバックアップする。

バックアップ用フォルダを作成する。

コマンド
mkdir bk

「ifcfg-enp0s3」「ifcfg-enp0s8」をコピーする。

コマンド
cp -p ifcfg-enp0s3 bk/ifcfg-enp0s3_20210321
cp -p ifcfg-enp0s8 bk/ifcfg-enp0s8_20210321

※「-p」はパーミッション(権限)ごとコピーするという意味のオプション

バックアップされていることを確認する。

コマンド
ls -l bk/

実行例)

実行例
[root@testsv01 network-scripts]# ls -l bk/
合計 8
-rw-r--r--  1 root root 325  321 21:33 ifcfg-enp0s3_20210321
-rw-r--r--. 1 root root 281  321 11:06 ifcfg-enp0s8_20210321
[root@testsv01 network-scripts]#
  • 「ifcfg-enp0s3」を編集する。

viエディタにてファイルを編集する。

コマンド
vi ifcfg-enp0s8

PEERDNS="no"を追加する。
※DNSサーバーが自動で更新されてしまうことを防ぐため。

設定内容(例)
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="58893c85-e887-451c-93f3-a50062231dec"
DEVICE="enp0s3"
ONBOOT="yes"
PEERDNS="no" ← これを追加
  • 「ifcfg-enp0s8」を編集する。

viエディタにてファイルを編集する。

コマンド
vi ifcfg-enp0s8

以下のようにする。

設定内容(例)
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
NAME=enp0s8
UUID=717bbf55-6d08-4ba0-b4d1-37f9cdb5d2fc
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.38.100
PREFIX=255.255.255.0

それぞれの設定の意味

項目 説明
TYPE Ethernet インタフェースの種類を指定(初期設定のままでOK)
BOOTPROTO none プロトコル未使用のため、「none」を指定
IPV6INIT no IPv6をインタフェースにて使用しないため「no」を選択
NAME enp0s8 プロファイル名(そのままでOK)
UUID 717bbf55-6d08-4ba0-b4d1-37f9cdb5d2fc ifcfgとNetworkManagerのコネクションとの関連付けを行う(そのままの値でOK)
DEVICE enp0s8 NIC名(そのままの値でOK)
ONBOOT yes OS起動時のNICの起動可否(「yes」に設定)
IPADDR 192.168.38.100 ホストネットワーク(192.168.38.1~254の間のIPアドレスを入力)
PREFIX 255.255.255.0 ホストネットワークのサブネットマスク(/24:255.255.255.0)を入力
※外に出るネットワークではないため、デフォルトゲートウェイは未設定
  • 「ifcfg-enp0s3」を確認。

「ifcfg-enp0s3」が設定した通りになっていることを確認。

コマンド
cat ifcfg-enp0s3
  • 「ifcfg-enp0s8」を確認。

「ifcfg-enp0s8」が設定した通りになっていることを確認。

コマンド
cat ifcfg-enp0s8
  • ネットワークサービスを再起動。
コマンド
systemctl restart network
  • ネットワークインタフェースの状態を調べる。
    「enp0s8」に設定したIPアドレスが反映されていることを確認。
コマンド
ip a

実行結果)

2.TeraTermにてSSH接続

  • 「ttermpro.exe」を起動する。

  • 「TeraTerm:新しい接続」の場面で、以下の値を入力後に「OK」をクリック。
項目 説明
ホスト 192.168.38.100 ネットワークインタフェース「enp0s8」のIPアドレス
TCPポート 22 「SSH」のポート番号
サービス SSH SSH接続をするため

  • 「セキュリティ警告」の画面が表示されるが、そのまま「続行」をクリック。

  • 「ユーザ名」と「パスフレーズ」を入力し、「OK」をクリックする。

※OSインストール時に設定したユーザー名/パスワードを入力。

  • 対象マシンにSSH接続できたことを確認。

  • rootユーザーにスイッチする。
コマンド
sudo -i

3.firewalld無効化

ファイアウォール「firewalld」の停止/自動起動無効を実施する。

  • firewalldの起動状況を確認

「active(running)」であることを確認。

コマンド
systemctl status firewalld

実行例)

実行例
[root@testsv01 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2021-03-21 16:25:56 JST; 3h 15min ago
     Docs: man:firewalld(1)
 Main PID: 2708 (firewalld)
   CGroup: /system.slice/firewalld.service
           mq2708 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

 321 16:25:55 testsv01 systemd[1]: Starting firewalld - dynamic firewal.....
 321 16:25:56 testsv01 systemd[1]: Started firewalld - dynamic firewall...n.
Hint: Some lines were ellipsized, use -l to show in full.
[root@testsv01 ~]#
  • firewalldの自動起動設定を確認

「enable」になっていることを確認

コマンド
systemctl is-enabled firewalld

実行例)

実行例
[root@testsv01 ~]# systemctl is-enabled firewalld
enabled
[root@testsv01 ~]#
  • firewalldを停止
コマンド
systemctl stop firewalld

実行例)

実行例
[root@testsv01 ~]# systemctl stop firewalld
[root@testsv01 ~]#
  • firewalld自動起動無効化
コマンド
systemctl disable firewalld

実行例)

実行例
[root@testsv01 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@testsv01 ~]#
  • firewalldの起動状況を確認

「inactive (dead)」であることを確認。

コマンド
systemctl status firewalld

実行例)

実行例
[root@testsv01 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

 321 16:25:55 testsv01 systemd[1]: Starting firewalld - dynamic firewal.....
 321 16:25:56 testsv01 systemd[1]: Started firewalld - dynamic firewall...n.
 321 19:47:52 testsv01 systemd[1]: Stopping firewalld - dynamic firewal.....
 321 19:47:52 testsv01 systemd[1]: Stopped firewalld - dynamic firewall...n.
Hint: Some lines were ellipsized, use -l to show in full.
[root@testsv01 ~]#
  • firewalldの自動起動設定を確認

「disable」になっていることを確認

コマンド
systemctl is-enabled firewalld

実行例)

実行例
[root@testsv01 ~]# systemctl is-enabled firewalld
disabled
[root@testsv01 ~]#

4.NetworkManager無効化

「NetworkManager」の停止/自動起動無効を実施する。

  • NetworkManagerサービス確認

「active (running)」であることを確認。

コマンド
systemctl status NetworkManager

実行例)

実行例
[root@testsv01 ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2021-03-21 16:25:57 JST; 3h 28min ago
     Docs: man:NetworkManager(8)
 Main PID: 2709 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           tq2709 /usr/sbin/NetworkManager --no-daemon
           mq4134 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /v...

 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7222] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7222] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7224] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7226] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7227] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7230] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7231] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7333] d....
 321 17:06:03 testsv01 NetworkManager[2709]: <warn>  [1616313963.7829] i...'
 3月 21 17:06:03 testsv01 NetworkManager[2709]: <warn>  [1616313963.8181] i...'
Hint: Some lines were ellipsized, use -l to show in full.
[root@testsv01 ~]#
  • NetworkManagerの自動起動設定を確認

「enable」であることを確認

コマンド
systemctl is-enabled NetworkManager

実行例)

実行例
[root@testsv01 ~]# systemctl is-enabled NetworkManager
enabled
[root@testsv01 ~]#****
  • NetworkManagerを停止
コマンド
systemctl stop NetworkManager

実行例)

実行例
[root@testsv01 ~]# systemctl stop NetworkManager
[root@testsv01 ~]#
  • NetworkManagerの自動起動を停止
コマンド
systemctl disable NetworkManager

実行例)

実行例
[root@testsv01 ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
[root@testsv01 ~]#
  • NetworkManagerサービス確認

「inactive (dead)」であることを確認。

コマンド
systemctl status NetworkManager

実行例)

実行例
[root@testsv01 ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
   Active: inactive (dead) since 日 2021-03-21 19:58:03 JST; 1min 41s ago
     Docs: man:NetworkManager(8)
 Main PID: 2709 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/NetworkManager.service
           mq4134 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /v...

 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7227] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7230] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7231] d...)
 321 17:06:03 testsv01 NetworkManager[2709]: <info>  [1616313963.7333] d....
 321 17:06:03 testsv01 NetworkManager[2709]: <warn>  [1616313963.7829] i...'
 3月 21 17:06:03 testsv01 NetworkManager[2709]: <warn>  [1616313963.8181] i...'
 321 19:58:03 testsv01 NetworkManager[2709]: <info>  [1616324283.0664] c....
 321 19:58:03 testsv01 systemd[1]: Stopping Network Manager...
 321 19:58:03 testsv01 NetworkManager[2709]: <info>  [1616324283.0817] e...)
 321 19:58:03 testsv01 systemd[1]: Stopped Network Manager.
Hint: Some lines were ellipsized, use -l to show in full.
[root@testsv01 ~]#
  • NetworkManagerの自動起動設定を確認

「disable」であることを確認

コマンド
systemctl is-enabled NetworkManager

実行例)

実行例
[root@testsv01 ~]# systemctl is-enabled NetworkManager
disabled
[root@testsv01 ~]#

5.DNS設定

DNSサーバをGoogleの「Public DNS」に設定する。
(8.8.8.8/8.8.4.4)

詳しくは、以下サイト参照。
Public DNS

  • 「/etc」に移動する。
コマンド
cd /etc
  • 「resolv.conf」のバックアップを取得する。

「bk」フォルダを作成

コマンド
mkdir bk

「resolv.conf」を「bk」フォルダにコピーする。

コマンド
cp -p resolv.conf bk/resolv.conf_20210321

「resolv.conf」のバックアップが「bk」フォルダに保存されていることを確認。

コマンド
ls -l bk/

実行例)

実行例
[root@testsv01 etc]# ls -l bk/
合計 4
-rw-r--r--. 1 root root 78  321 20:01 resolv.conf_20210321
[root@testsv01 etc]#
  • 「resolv.conf」を編集する。

nameserverに「8.8.8.8」と「8.8.4.4」を設定する。

コマンド
vi resolv.conf

設定内容)
※デフォルトでnameserverが入力されていた場合は、削除する。

設定内容
; generated by /usr/sbin/dhclient-script
nameserver 8.8.8.8
nameserver 8.8.4.4
  • 「resolv.conf」の設定内容を確認

設定した内容が反映されていることを確認

コマンド
cat resolv.conf
  • networkサービスの再起動を実施

DNSの設定内容を反映させる。

コマンド
systemctl restart network

6.NTPクライアント設定

時刻同期設定をする。

  • 「chronyd」サービス確認

サービスが起動していることを確認。

コマンド
systemctl status chronyd

実行例)

実行例
[root@testsv01 etc]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2021-03-21 16:25:55 JST; 4h 5min ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
 Main PID: 2661 (chronyd)
   CGroup: /system.slice/chronyd.service
           mq2661 /usr/sbin/chronyd

 321 17:05:58 testsv01 chronyd[2661]: Source 131.234.220.232 offline
 321 17:05:58 testsv01 chronyd[2661]: Source 194.36.144.87 offline
 321 17:05:58 testsv01 chronyd[2661]: Source 212.83.179.156 offline
 321 17:05:58 testsv01 chronyd[2661]: Source 82.97.235.186 offline
 321 17:05:58 testsv01 chronyd[2661]: Can't synchronise: no selectable s...s
 321 17:05:59 testsv01 chronyd[2661]: Source 194.36.144.87 online
 321 17:05:59 testsv01 chronyd[2661]: Source 212.83.179.156 online
 321 17:05:59 testsv01 chronyd[2661]: Source 82.97.235.186 online
 321 17:05:59 testsv01 chronyd[2661]: Source 131.234.220.232 online
 321 17:06:46 testsv01 chronyd[2661]: Selected source 82.97.235.186
Hint: Some lines were ellipsized, use -l to show in full.
[root@testsv01 etc]#
  • 「chronyd」サービス自動起動設定確認

「enable」であることを確認。

コマンド
systemctl is-enabled chronyd

実行例)

実行例
[root@testsv01 etc]# systemctl is-enabled chronyd
enabled
[root@testsv01 etc]#
  • 設定ファイルバックアップ

「/etc」に移動する。

コマンド
cd /etc

作成済みの「bk」フォルダにバックアップを取得する。

コマンド
cp chrony.conf bk/chrony.conf_20210321

バックアップファイルの確認

コマンド
ls -l bk/

→「chrony.conf_20210321」が存在することを確認。

実行例)

実行例
[root@testsv01 etc]# ls -l bk
合計 8
-rw-r--r--. 1 root root 1108  321 20:37 chrony.conf_20210321
-rw-r--r--. 1 root root   78  321 20:01 resolv.conf_20210321
[root@testsv01 etc]#
  • 時刻同期するNTPサーバー設定

日本標準のNTPサーバ「ntp.nict.jp」を設定する。

コマンド
vi chrony.conf

設定内容)

設定内容
     1  # Use public servers from the pool.ntp.org project.
     2  # Please consider joining the pool (http://www.pool.ntp.org/join.html).
     3  # server 0.centos.pool.ntp.org iburst ←コメントアウト
     4  # server 1.centos.pool.ntp.org iburst ←コメントアウト
     5  # server 2.centos.pool.ntp.org iburst ←コメントアウト
     6  # server 3.centos.pool.ntp.org iburst ←コメントアウト
     7  server ntp.nict.jp iburst ← 追加
  • 「chrony.conf」が正常に保存されていることを確認。
コマンド
cat chrony.conf
  • 「chronyd」サービスを再起動させる。
コマンド
systemctl restart chronyd
  • 時刻同期確認
コマンド
chronyc sources

→先頭に「*」が存在することを確認。

確認例)

確認例
[root@testsv01 etc]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-a2.nict.go.jp             1   6    37    40  -9268ns[ +340us] +/- 4237us
[root@testsv01 etc]#

7.SELinux無効化

SELinuxとは?
→ユーザーのアクセス制御をするもの

今回の構成では、使用しないため無効化する。

  • ディレクトリ移動
コマンド
cd /etc/selinux/
  • ファイルバックアップ

「/etc/bk」に「config」ファイルをバックアップする。

コマンド
cp -p config /etc/bk/config_20210321

「config」ファイルがバックアップされていることを確認。

コマンド
ls -l /etc/bk

実行例)

実行例
[root@testsv01 selinux]# ls -l /etc/bk
合計 12
-rw-r--r--. 1 root root 1108  321 20:37 chrony.conf_20210321
-rw-r--r--. 1 root root  543  321 11:02 config_20210321
-rw-r--r--. 1 root root   78  321 20:01 resolv.conf_20210321
[root@testsv01 selinux]#
  • 「config」ファイル編集
コマンド
vi config

→SELINUXの値をenforcingdisabledに変更

内容)

内容
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled ← ここを「enforcing」→「disabled」に変更
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
  • 「config」ファイル確認

変更した内容が反映されていることを確認。

コマンド
cat config
  • 設定を反映させるために、再起動を実施。
コマンド
reboot
  • OS起動後、再度SSH接続を実施し、以下コマンドを実行。
コマンド
getenforce

Disabledであることを確認。

確認例)

確認例
[test@testsv01 ~]$ getenforce
Disabled
[test@testsv01 ~]$

⑥nginxインストール

WEBサーバである「nginx」のパッケージをインストールする。

  • yumリポジトリを登録

※CentOS7用になります。

コマンド
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

※nginxのリポジトリについては、以下サイト参照
nginxをyumでインストールする手順 (CentOS/RedHat)

  • 「nginx」パッケージをインストールする。
コマンド
yum -y install nginx
  • 「nginx」パッケージがインストールできたことを確認する。
コマンド
rpm -qa | grep nginx

実行例)

実行例
[root@testsv01 ~]# rpm -qa | grep nginx
nginx-release-centos-7-0.el7.ngx.noarch
nginx-1.18.0-2.el7.ngx.x86_64
[root@testsv01 ~]#
  • nginxのサービスを開始する。
コマンド
systemctl start nginx
  • nginxのサービスが開始されていることを確認する。

ステータスがactive (running)であることを確認する。

コマンド
systemctl status nginx

確認例)

確認例
[root@testsv01 ~]# systemctl status nginx
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2021-03-21 21:54:07 JST; 4s ago
     Docs: http://nginx.org/en/docs/
  Process: 3619 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 3620 (nginx)
   CGroup: /system.slice/nginx.service
           tq3620 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.c...
           mq3621 nginx: worker process

 321 21:54:07 testsv01 systemd[1]: Starting nginx - high performance we.....
 321 21:54:07 testsv01 systemd[1]: PID file /var/run/nginx.pid not read...t.
 321 21:54:07 testsv01 systemd[1]: Started nginx - high performance web...r.
Hint: Some lines were ellipsized, use -l to show in full.
[root@testsv01 ~]#
  • nginxの自動起動設定をする。
コマンド
systemctl enable nginx

実行例)

実行例
[root@testsv01 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@testsv01 ~]#
  • nginxの自動起動設定確認をする。

enableであることを確認する。

コマンド
systemctl is-enabled nginx

実行例)

実行例
[root@testsv01 ~]# systemctl is-enabled nginx
enabled
[root@testsv01 ~]#

⑦WEB画面表示確認

任意のブラウザに対象サーバーのIPアドレスを入力し、以下画面が表示されることを確認する。

今回入力するIPアドレス
192.168.38.100

Discussion