CentOS 8のインストールと初期設定を徹底解説!初心者向け完全ガイド
本記事では、LinuxディストリビューションCentOS 8をゼロからクリーンインストールするための基本的な手順と、インストール後のサーバー初期設定について詳しく解説します。初めてCentOSを導入する方でも迷わず進められるよう、スクリーンショット付きで丁寧に説明していきます。
CentOS 8の新機能・変更点とは?
CentOS 8は2019年9月24日にリリースされました。CentOSは、Red Hat社が提供する商用ディストリビューション「Red Hat Enterprise Linux(RHEL)」をベースとした互換性のあるLinuxディストリビューションです。
それでは、CentOS 8での主な変更点を見ていきましょう。
- Linuxカーネルが4.18に更新されました。
- パッケージマネージャーがyumからdnfへ移行しました。現在yumはdnfへのシンボリックリンクとして存在しています。
- メインリポジトリがBaseOSとAppStreamの2つに分割されました。これにより、ユーザーは異なるバージョンのパッケージを選択してインストールできるようになっています。
- カーネルを含むすべてのソフトウェアが更新されました。標準リポジトリからPHP 7.2をインストールできるようになりました。
- iptablesがnftablesに置き換えられました。
- ネットワーク設定にnetwork-scriptsはデフォルトで使用されなくなり、NetworkManagerによる管理が推奨されています。
- サーバー管理用WebインターフェースCockpitがデフォルトでインストールされるようになりました(初心者にとって便利な機能です)。
- コンテナ管理にはDockerやMobyの代わりにPodmanが採用されました。
- TCP/IPスタックが4.16版に更新され、より高いパフォーマンスとBBR・NV輻輳制御アルゴリズムのサポートが実現しました。
- 各種ソフトウェアの新しいバージョンが収録されています。
ISOイメージからCentOS 8をインストールする方法
今回はKVM仮想マシンにCentOSをインストールするため、公式ミラーサイト(https://www.centos.org/download/mirrors/)から事前にインストール用ISOイメージをダウンロードし、仮想サーバーにマウントしてOSをセットアップしました。物理サーバーにインストールする場合は、ISOイメージをUSBメモリに書き込んで起動してください。CentOS 8のインストールプロセスは前バージョンとほぼ変わりませんが、本記事は初めて作業を行う方向けのガイドとしてまとめています。
CentOS 8のインストールに推奨される最低要件は、CPUコアあたり10GB以上のディスク容量と712MB以上のRAMです。
まず、コンピュータまたは仮想マシンをCentOSのインストールイメージから起動します。最初の画面で次の操作を選択するよう求められるので、インストールを実行するためにメニューの最初の項目を選びます。
Install CentOS Linux 8.0.1905

選択すると、インストールプロセスが開始されます。

必要なソフトウェアの読み込み中は、特に操作は不要です。そのまま進行状況を待ちましょう。
黒い画面がCentOSロゴ付きの対話型画面に切り替わったら、キーボードとマウスを準備してください。

ウェルカム画面では、インストール中に使用する言語を選択し、続行(Continue)をクリックします。次のメニューでCentOSインストールの基本設定を行います。

インストールを開始するために必須の設定項目はインストール先(Installation Destination)のみですが、筆者はこの段階でネットワークや日付・時刻も一緒に設定することをおすすめします。

日付と時刻は、お住まいのタイムゾーンに合わせて設定してください。
ネットワークを設定するには、ネットワークとホスト名(Network & Host Name)をクリックします。

ホスト名(Host Name)欄にサーバー名を入力し、設定(Configure)をクリックしてネットワークインターフェースの詳細設定を行います。

「全般」タブで「利用可能になったら自動的にこのネットワークに接続する」にチェックを入れると、起動時にこのネットワークインターフェースが自動的に有効になります。
次に「IPv4の設定」タブ(IPv6を使用している場合は「IPv6の設定」タブ)を開き、IPアドレス、サブネットマスク、ゲートウェイ、DNSサーバーを入力します。

固定IPアドレスを設定する場合は、方式を「手動(Manual)」に変更して「追加(Add)」をクリックします。変更を保存したら、ネットワーク設定の初期画面に戻ります。

スクリーンショットの通り、IPアドレスが登録され、ネットワークインターフェースが接続済み(Connected)の状態になっています。
次のステップでは、ディスクのパーティション設定を行います。

ここではインストール手順の紹介のため、CentOS開発者が提供する自動ストレージ構成を使用しました。独自にパーティションを切りたい場合は「カスタム(Custom)」を選択してください。
なお、サーバーのストレージコントローラーがハードウェアRAIDに対応していない場合は、mdadmを使ってソフトウェアRAIDを構成することも可能です。
筆者の仮想マシンには以前のゲストOSがインストールされていたため、インストーラーがそれを検出しました。表示された後続のメニューで旧OSのパーティションを削除します。


パーティションは「すべて削除(Delete all)」をクリックして消去できます。その後、「領域の回収(Reclaim space)」をクリックして利用可能なディスク容量を更新してください。
インストールするパッケージ一覧は「ソフトウェアの選択(Software Selection)」で指定します。CentOS 8をサーバーとして運用するなら、最小限のインストール(Minimal Install)に加えて「標準(Standard)」と、仮想マシン上にゲストOSをインストールする場合は「ゲストエージェント(Guest Agents)」を選択すれば十分です。
設定が完了したら、「インストールの開始(Begin Installation)」をクリックしてインストールを始めましょう。

必要なコンポーネントの展開・インストール中に、rootユーザーのパスワード設定を求められます。必要に応じて一般ユーザーを作成することもできますが、これは任意です。

「Root Password」をクリックし、パスワードを入力して確認します。「完了(Done)」をクリックするとインストール画面に戻ります。

CentOS 8のインストールにかかる時間は約5〜7分です。インストール画面に「再起動(Reboot)」ボタンが表示されたら、インストール完了の合図なので、サーバーを再起動しましょう。

これでCentOS 8のインストールは完了です。
インストール後のCentOS 8基本設定
CentOS 8のインストール後の基本設定はCentOS 7とほぼ同様であり、筆者はすべてのサーバーで同じ基本設定を行っています。以下、順番に見ていきましょう。
システムアップデートと管理者ツールのインストール
前述の通り、CentOS 8ではyumがdnfに置き換えられました。
dnfはYUMの後継となるRPMパッケージマネージャーです。以前はFedoraディストリビューションで使われていましたが、今回CentOS 8にも導入されました。
新しくインストールしたサーバーで最初に行うのは、システムのアップデートです。
# dnf update -y
イメージが最新であれば、筆者の環境のように更新対象のパッケージがない場合もあります。
Dependencies resolved. Nothing to do. Complete!
アップデートが存在する場合は、忘れずに適用しておきましょう。
次に、EPELリポジトリを有効化し、サーバー管理に便利なツールをインストールします。
# dnf install epel-release -y
# dnf install mc wget screen nano net-tools bind-utils curl lsof vim -y
これらのユーティリティは筆者が常用しているものですが、お好みに合わせて必要なツールをインストールしてください。
筆者は自動アップデートを使用せず、必要な更新を常に手動で適用しています。自動アップデートを設定したい場合は、dnf-automaticパッケージをインストールします。
# dnf install -y dnf-automatic
アクティブな自動アップデートタスクを確認するには、次のコマンドを実行します。
# systemctl list-timers *dnf-*
CentOSでSELinuxを無効化する方法
サーバーの初期設定段階で、筆者は必ずSELinuxを無効化しています(変更を反映するにはサーバーの再起動が必要です)。
# nano /etc/sysconfig/selinux
# reboot
再起動せずに一時的にSELinuxを無効化したい場合は、次のコマンドを使用します。
setenforce 0
CentOS 8のネットワーク設定
OSインストール時にネットワーク設定を済ませているため、ここで追加の設定は不要です。なお、CentOS 8ではネットワークの管理はNetworkManagerとnmcliコマンドのみで行うことになり、network-scriptsはデフォルトでサポートされなくなりました。正直に言うと、筆者は以前NMを無効化して使わないようにしていたのですが、CentOS 8からは学んで使いこなす必要がありそうです。
ネットワークの状態は次のコマンドで確認できます。
# systemctl status NetworkManager
● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-29 08:23:11 NY; 3h 37min ago Docs: man:NetworkManager(8) Main PID: 870 (NetworkManager) Tasks: 3 (limit: 5060) Memory: 4.7M CGroup: /system.slice/NetworkManager.service └─870 /usr/sbin/NetworkManager --no-daemon
CentOS 8でホスト名を変更する方法
インストール時に正しいホスト名を設定しなかった場合や、後から変更したい場合は、いくつかの方法があります。/etc/hostnameファイルを直接編集するか、次のコマンドで変更できます。
# hostnamectl set-hostname mycentos8server
CentOS 8でFirewalldを設定する
必要なサービス(SSHおよびHTTP/HTTPS)をfirewalldの許可ゾーンに追加します。
firewall-cmd –-add-service=ssh
firewall-cmd --permanent –-add-service=http
firewall-cmd --permanent –-add-service=https
CentOSの時刻とタイムゾーンの変更
CentOSで現在の日時とタイムゾーンを確認するには、dateコマンドを実行します。
# date
今回はシステムインストール時にタイムゾーンを設定済みなので、NY時刻が表示されています。タイムゾーンを変更するには、次のコマンドを使用します。
# timedatectl set-timezone Asia/Tokyo
利用可能なタイムゾーンの一覧を表示するには、次のコマンドを実行します。
# timedatectl list-timezones
時刻の同期にはchronydが使用されます。systemctlでサービスを起動し、自動起動を有効にしましょう。
# systemctl start chronyd
# systemctl enable chronyd
# systemctl status chronyd
● chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-29 16:13:48 +06; 9s ago Docs: man:chronyd(8) man:chrony.conf(5) Main PID: 31700 (chronyd) Tasks: 1 (limit: 5060) Memory: 1.1M CGroup: /system.slice/chronyd.service └─31700 /usr/sbin/chronyd
Bash履歴の設定
bashのコマンド履歴をより便利に活用するため、筆者は.bashrcに数行の設定を追加し、必要な履歴情報をすぐに取得できるようにしています。
デフォルト設定でhistoryコマンドを実行すると、出力は次のようになります。
# history
1 dnf repolist 2 dnf install epel-release
どのコマンドが実行されたかは分かりますが、実行日時が表示されません。運用上、実行日時は非常に重要な情報です。そこで、historyの表示を見やすい形に改善しましょう。/root/.bashrcを開いて以下の行を追加します。
# nano /root/.bashrc
export HISTSIZE=10000
export HISTTIMEFORMAT="%d/%m/%y - %H:%M:%S "
これにより、historyを表示した際に、各コマンドが実行された正確な日時が確認できるようになります。
# history
1 Jun/06/29 - 16:16:29 dnf repolist 2 Jun/06/29 - 16:16:29 dnf install epel-release
Cockpit:CentOS 8のサーバー管理Webインターフェース
前述の通り、CentOS 8にはサーバー管理用WebインターフェースCockpitがプリインストールされています。systemctl経由でも管理可能で、以下のコマンドで起動と自動起動の設定ができます。
# systemctl enable cockpit.socket
# systemctl start cockpit.socket
CockpitのWebサーバーはデフォルトでTCP/9090ポートで待ち受けます。firewalldでこのポートへのアクセスを許可しましょう。
# firewall-cmd --get-active-zones
# firewall-cmd --add-port=9090/tcp --zone=MY_ACTIVE_ZONE --permanent
# firewall-cmd --reload
CockpitのWebインターフェースにアクセスするには、ブラウザでhttps://Your-CentOS8-IP:9090を開き、認証を行ってください。

Cockpitを使えば、サーバーの負荷状況の確認、ネットワーク・ストレージ・コンテナの管理、ログの閲覧などを直感的なGUIで行えます。
以上で、一般的なCentOSサーバーの基本設定は完了です。以降は、プロジェクトの要件に応じて個別の構成を進めていくことになります。
-
Office 2013 インストール時のトラブル完全解決ガイド
最近、多くのパソコンにOffice 2013をインストールする機会があり、その過程でさまざまな問題に遭遇しました。「申し訳ありません。問題が発生しました」や「問題が発生したため、操作を完了できません」といった厄介なエラーメッセージから、ダウンロードの遅さ、インストール中に特定の割合で停止してしまう現象まで、典型的なMicrosoft特有のトラブルに悩まされ続けました。 Windows 8やWindows 7にOffice 2013をインストールしようとして問題が発生している方のために、見つけた限りの解決策をできるだけ多くご紹介します。ここで取り上げていない別の問題に遭遇した場合は、ぜひコメント
-
KodiでNetflixを視聴する方法【究極のインストールガイド】
Netflixの契約者であり、かつKodi愛好家でもあるなら、両方のプラットフォームを組み合わせて、より充実した視聴体験を実現したいと考えているはずです。Kodiユーザーインターフェースの自由度の高いカスタマイズ機能を活かしながら、お気に入りのNetflixのドラマや映画を楽しめたら素晴らしいと思いませんか?そこで今回は、KodiでNetflixを利用する方法を詳しく解説します。 KodiにNetflixアドオンをインストールする Kodiには、NetflixXBMCとして知られる優れたNetflixアドオンが用意されており、この人気メディアセンター上でお気に入りのコンテンツをストリーミング再