【Linux】VirtualBoxインストール~CentOSへのnginx導入迄実施
はじめに
今回は、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公式サイトへアクセスし、赤枠の箇所をクリック。
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」をダウンロードする。
※任意の場所に保存する。ダウンロードには時間がかかります。
④TeraTermをダウンロード
1.以下サイトより、「TeraTermポータブル版」のダウンロードを実施。
ダウンロードしたzipファイルは、任意の場所に保存する。
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 3月 21 21:33 ifcfg-enp0s3_20210321
-rw-r--r--. 1 root root 281 3月 21 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
3月 21 16:25:55 testsv01 systemd[1]: Starting firewalld - dynamic firewal.....
3月 21 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)
3月 21 16:25:55 testsv01 systemd[1]: Starting firewalld - dynamic firewal.....
3月 21 16:25:56 testsv01 systemd[1]: Started firewalld - dynamic firewall...n.
3月 21 19:47:52 testsv01 systemd[1]: Stopping firewalld - dynamic firewal.....
3月 21 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...
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7222] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7222] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7224] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7226] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7227] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7230] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7231] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7333] d....
3月 21 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...
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7227] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7230] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7231] d...)
3月 21 17:06:03 testsv01 NetworkManager[2709]: <info> [1616313963.7333] d....
3月 21 17:06:03 testsv01 NetworkManager[2709]: <warn> [1616313963.7829] i...'
3月 21 17:06:03 testsv01 NetworkManager[2709]: <warn> [1616313963.8181] i...'
3月 21 19:58:03 testsv01 NetworkManager[2709]: <info> [1616324283.0664] c....
3月 21 19:58:03 testsv01 systemd[1]: Stopping Network Manager...
3月 21 19:58:03 testsv01 NetworkManager[2709]: <info> [1616324283.0817] e...)
3月 21 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 3月 21 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
3月 21 17:05:58 testsv01 chronyd[2661]: Source 131.234.220.232 offline
3月 21 17:05:58 testsv01 chronyd[2661]: Source 194.36.144.87 offline
3月 21 17:05:58 testsv01 chronyd[2661]: Source 212.83.179.156 offline
3月 21 17:05:58 testsv01 chronyd[2661]: Source 82.97.235.186 offline
3月 21 17:05:58 testsv01 chronyd[2661]: Can't synchronise: no selectable s...s
3月 21 17:05:59 testsv01 chronyd[2661]: Source 194.36.144.87 online
3月 21 17:05:59 testsv01 chronyd[2661]: Source 212.83.179.156 online
3月 21 17:05:59 testsv01 chronyd[2661]: Source 82.97.235.186 online
3月 21 17:05:59 testsv01 chronyd[2661]: Source 131.234.220.232 online
3月 21 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 3月 21 20:37 chrony.conf_20210321
-rw-r--r--. 1 root root 78 3月 21 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 3月 21 20:37 chrony.conf_20210321
-rw-r--r--. 1 root root 543 3月 21 11:02 config_20210321
-rw-r--r--. 1 root root 78 3月 21 20:01 resolv.conf_20210321
[root@testsv01 selinux]#
- 「config」ファイル編集
vi config
→SELINUXの値をenforcing
→disabled
に変更
内容)
# 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
3月 21 21:54:07 testsv01 systemd[1]: Starting nginx - high performance we.....
3月 21 21:54:07 testsv01 systemd[1]: PID file /var/run/nginx.pid not read...t.
3月 21 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アドレスを入力し、以下画面が表示されることを確認する。
192.168.38.100
Discussion