CentOS環境に ntpdをインストールして自動的に時刻を取得して合わせる設定にする
2019/03/02
CentOS環境に ntpdをインストールして自動的に時刻を取得する
VirtualBoxに LAMP環境を作ったけど時刻がずれていた
「VirtualBoxにCakePHP3を設置。必要なCentOS、Apache、PHP、MySQL、Composerをインストールし設定する」の記事で、VirtualBox環境に CentOS7を入れて、LAMP環境を構築し、CakePHP3でアプリを開発できる環境を構築しました。
ですが、構築した仮想マシンの時計がずれていることに気が付きました。
なので、その仮想マシンの時計を合わせたときの手順を解説します。
時刻を確認して、ntpdをインストールする手順
時刻を修正するにあたっては、まず現在の状況を確認します。
そのために、下記のコマンドを実行して、現在の時刻を確認します。
1 2 |
# date 2018年 7月 12日 木曜日 03:27:38 JST |
もう 8月なのですが、まだ 7月半ばの日時が表示されています。
上記は OSが把握している日時なのですが、これがずれている場合は、ハードウェアの時刻もずれている可能性がありますので、下記のコマンドを実行して、ハードウェアの時刻も確認します。
1 2 |
# hwclock -r 2018年07月11日 11時34分50秒 -0.127403 秒 |
続いて、時刻を NTPサーバに定期的にアクセスし、自動的に時刻を合わせてくれるサービスがインストールされているかを確認します。
1 2 |
# systemctl status ntpd Unit ntpd.service could not be found. |
「Unit ntpd.service could not be found.」という結果は、該当のサービスが入っていないということですので、下記の yumコマンドを実行してインストールします。
1 |
# yum install ntp |
インストールした ntpdの設定をする
ntpdをインストールしたら、ntpdの設定を行います。
ntpdの設定は、「/etc/ntp.conf」に記述されています。
NTPサーバを変更したい場合は、「/etc/ntp.conf」の 20行目付近にある下記の記述のサーバを変更します。
1 2 3 4 5 6 |
# Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst |
ほとんどの場合は、デフォルトの設定のままで問題ありません。
ですが、1秒以下の単位での時刻が正しい必要がある場合などは、NTPサーバを国内のサーバに変更するなどの対応を行うといいでしょう。
下記に NTPサーバの一覧がありますので、この中から NTPサーバを選択し、「/etc/ntp.conf」ファイルの該当の個所を更新します。
http://wiki.nothing.sh/page/NTP/%BF%E4%BE%A9%B8%F8%B3%AB%A5%B5%A1%BC%A5%D0#h946fa09
インストールした ntpdを有効にするため、下記のコマンドで起動を実施します。
1 |
# systemctl start ntpd |
起動コマンドを実行したら、下記のコマンドで起動したことを確認します。
1 2 3 4 5 6 7 8 9 10 11 |
# systemctl status ntpd ● ntpd.service - Network Time Service Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled) Active: active (running) since 土 2018-08-04 12:30:25 JST; 1 weeks 0 days ago Process: 5136 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 5137 (ntpd) CGroup: /system.slice/ntpd.service mq5137 /usr/sbin/ntpd -u ntp:ntp -g 8月 04 12:30:25 localhost.localdomain ntpd[5137]: Listen normally on 5 lo ::1 UDP 123 (以下略) |
また、Apacheや MySQLなどと同じく、サーバを再起動したときに NTPも自動起動する設定にしておく必要がありますので、下記のコマンドを実行します。
1 2 |
# systemctl enable ntpd Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service. |
自動起動の設定ができたかどうかを、下記のコマンドで確認します。
1 2 |
# systemctl is-enabled ntpd enabled |
「enabled」になっていると自動起動が設定されています。
続けて、下記のコマンドで、ハードウェアの時刻も合わせておきます。
1 |
# hwclock -w |
改めてハードウェアの時刻を表示して、ハードウェアの時刻も正しいものになったことを確認します。
1 2 |
# hwclock -r 2018年08月04日 12時13分55秒 -0.569721 秒 |
これでサーバの時刻を設定することができました。
NTP、NTPサーバ(Network Time Protocolサーバ)とは何か?
「NTP(Network Time Protocol)」とは、ネットワークに接続されている機器が正しい時間を維持することができるように、正しい時刻を取得して同期するために使用する通信プロトコルのことです。
その正しい時刻を提供しているサーバを「NTPサーバ(Network Time Protocolサーバ)」と言います。
つまりは
インターネット上には、正しい時間を提供する「NTPサーバ」というサーバがあります。
私たちが構築、利用している Webサーバや、パソコンは、その NTPサーバに定期的にアクセスすることで時刻を調整し、正しい時刻にしています。
その調整するために NTPサーバにアクセスするための手続きが NTPというプロトコル、ということになります。
そして、日本国内の NTPサーバについては、下記に解説があります。
http://wiki.nothing.sh/page/NTP/%BF%E4%BE%A9%B8%F8%B3%AB%A5%B5%A1%BC%A5%D0#h946fa09
また、自宅の Windowsパソコンが、スリープから回復すると日付がずれるという現象が発生したことがありましたが、その時、NTP、NTPサーバについて調べました。
その時の記事が下記にありますので、あわせて参考にしてみてください。
Windows 10パソコンで日付、時間がずれる!原因と時計を合わせる解決方法
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
本当に?GMO系ロリポップ・ヘテムルを無料で運用する方法があった!
ロリポップ、ヘテムルを株主優待を利用して実質無料で運営しよう!という解説記事です。株主優待で提供されるサービスの内容を解説し、無料になる仕組みを解説します。
-
Webサイト公開時に重複コンテンツを排除する.htaccessのリダイレクトの設定のまとめ
サイトを公開する際にはURLの正規化は必須です。正規化とは何かを解説し、.htaccessに設定すべきリダイレクトの設定を具体的に説明します。
-
Apacheの起動しているかの確認方法と起動、再起動、終了のコマンド
Apacheが起動しているかを確認する方法の解説に加え、Apacheの起動、停止、再起動のコマンドを解説。再起動のコマンドには restart、condrestart、reload、gracefulがあり、違いを解説。
-
Selenium WebDriver、Pythonをインストールし Chromeの自動操作の環境構築手順のまとめ
Selenium WebDriverを使ってChromeを自動操作する環境を構築する手順のまとめ。使用するPythonのインストールから、サンプルスクリプトの動作確認までを詳細解説。
-
Gitで「fatal: Authentication failed for ‘https://example.com/git_repositories/example.git/’」のエラーが出た場合の対処方法の一つ
Gitのリモートリポジトリにアクセスする際、Authentication failedのエラーが。しかし、ID、PASSが間違っているのではなく、リモートリポジトリのURLが間違っている場合もあるので再度確認を。
-
Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法
Pythonをコマンドラインで実行する際、引数を付与して実行する方法の解説。その時問題となる日本語(全角文字)を利用する方法を解説。Windows環境での解説。
-
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonはMySQLに接続するライブラリは別途インストールが必要。なのでMySQL-pythonライブラリのインストール方法とサンプルスクリプトで動作検証までを解説。
-
コピーコンテンツ対策.htaccessで直リンク禁止しリダイレクトで対応
不正なコピーコンテンツからの直リンクを拒否する.htaccessの設定方法。拒否するサイトを指定、許可するサイトを指定する方法、単純な拒否と画像の差し替えを解説。
-
X Serverへの引越しの注意点まとめ。ロリポップとの違いと対処方法 6事例
ロリポップからX Serverに引越し。ロリポップとX Serverの違いに注目することでX Serverの設定方法を明確にします。またX Serverならではの設定ポイントなども解説。
-
PythonでUTF-8など日本語(全角文字)を使う方法。コメントにも必要。
Pythonの標準では日本語(全角文字)を利用できないので、利用する際は文字コードを宣言する必要がある。「# coding: utf-8」の様に記述すればOK。