つい先日、CentOS7.6で環境を構築したばかりのような気がしますが、CentOS8.0がリリースされたので、さっそく使ってみることにしました。
まず事前情報として確認していたのが、TLS1.0と1.1がデフォルトで無効になること、ファイアウォールがiptablesからnftablesになること、yumコマンドがdnfコマンドになること、など。
TLSに関しては特に問題ないし、ファイアウォールに関してはfirewalldを使っていれば何も変わりなく使えるし、yumコマンドに関してはそのまま使用できる(yumがdnfのラッパーとして動く)らしいから、特段問題なさそうな雰囲気。
とは言え、何があるかわからないのが世の常なので、備忘録代わりに手順をメモメモしていきます。
基本的な設定部分は、ほぼCentOS7.6のときと同じです。
CentOS8.0のダウンロードと準備
今回用意したOSは、2019年10月現在で最新版の、CentOS 8.0.1905。以下のCentOS公式サイトからダウンロードしました。
「CentOS Linux DVD ISO」という方をダウンロードし、ダウンロードしたISOイメージを空のDVD-Rに書き込みます。
Windows7以上でしたら、標準でディスクイメージ書き込みツールが備わっていますので、それを利用します。Windows7の場合は、ISOファイルを右クリックして、以下のように選択します。
上記画像はCentOS7.6のときのものを流用していますので、ファイル名はCentOS8.0のものに読み替えてください。Windows10の場合は、ISOファイルを右クリックして、以下のように選択します。
ディスクに書き込みができたら、CentOSをインストールするPCに入れて起動しましょう。
ちなみに、CentOS8.0のISOイメージファイルは6GBを超えています。物理サーバにインストールする場合はISOイメージをそのまま使うことができないので、片面2層のDVDメディアに焼くか、USBメモリ等を使う必要がありますのでご注意ください。
USBメモリにISOイメージを展開してブート可能にするには、以下のツールがおすすめです。
CentOS8.0のインストール
CentOSのインストーラーから、インストールを行います。
インストールディスクの起動
CentOSをディスクから起動すると、以下のような画面になります。
一番上の「Install CentOS Linux 8.0.1905」を選択すると、すぐにインストールが始まります。
二番目の「Test this media & install CentOS Linux 8.0.1905」を選択すると、メディアのチェックを行い、問題がなければインストールが開始されます。
ISOイメージからDVD-Rに正常に焼けていれば、異常が出ることはほぼ無いと思いますので、とりあえず一番上の「Install CentOS Linux 8.0.1905」を選択しましょう。
言語の設定
インストールを進める前に、まずは言語の設定から始まります。特に事情が無ければ「日本語」を選択しましょう。
左側のリストから「日本語」を選択すると、右側のリストは自動で「日本語(日本)」になります。選択できたら、右下の青いボタン「続行」をクリック。
インストールの概要
基本的な設定は自動で行われますので、ここで確認および設定が必須なのは「インストール先」のみ。他の設定は任意ですが、サーバの用途によって必要なパッケージが変わってくるので、ソフトウェアの選択はしておいた方がいいでしょう。ネットワークをあらかじめ設定しておきたい場合は、一緒にここで設定をしておきましょう。
それぞれ確認および設定が終わったら、右下の「インストールの開始」ボタンをクリックします。
VirtualBoxでインストールを行う場合、デフォルトの状態ではインストーラーの画面がウィンドウからはみ出てしまうことがあります。Linux側で解像度を変更してもダメな場合は、VirtualBox側の設定で「ディスプレイ」→「グラフィックコントローラー」の選択を「VboxVGA」もしくは「VboxSVGA」にすると、はみ出なくなります。
インストール先
インストール先のディスクを確認するだけでOKですので、そのまま「完了」をクリックしましょう。もしパーティション構成などを変更したい場合は、ここで設定します。
ソフトウェアの選択
CentOSを構成するベースとなる環境の選択と、追加インストールするパッケージの選択を行います。
今回は、特にGUIを使う必要がないため、ベース環境を「サーバー」とし、その他必要なパッケージを右側から選択しました。
ネットワークとホスト名
イーサネットの設定とホスト名をここで指定できます。
右上のスイッチを「オン」にすることで、ネットワークが有効になります。デフォルトはDHCPで設定されるようになっていますので、固定IPなどを設定する場合は、右下の「設定」をクリックして表示されるウィンドウで設定します。
左下の「ホスト名」を変更して「適用」をクリックすることで、インストール時にホスト名も設定できます。
インストール中
インストールが開始されると、画面下の方で進捗具合が表示されます。
インストール中にrootユーザーのパスワード設定や、ユーザーの作成ができますので、必要に応じて設定しましょう。少なくともrootパスワードは、ここで設定しておいた方がいいでしょう。できるだけ強力なパスワードを設定しておくことをおすすめします。
インストール後の設定
インストールが終わったら、ディスクを取り出してから再起動ボタンをクリックし、CentOSを起動しましょう。
インストール後、まず最初に設定しておいた方がいい項目がいくつかありますので、以下に設定方法をメモメモ。全てルートユーザーで実行します。
ちなみに、今回も社内テストサーバ用途での設定になりますので、セキュリティ関係はすっぱり切り落としています。
タイムゾーンの変更
インストール時に「時刻と日付」という項目でタイムゾーンの設定を日本時間に変更しなかった場合は、以下のコマンドで日本(Azia/Tokyo)に変更します。
# timedatectl set-timezone Asia/Tokyo
ホスト名の変更
インストール前に変更を忘れてしまった場合は、以下のように設定します。
# hostnamectl set-hostname [ホスト名]
または、対話形式で設定できるNetworkManagerを使うことが推奨されているので、こちらで設定してもOK。
# nmtui
一応、ファイルを直接変更する方法も。
# vi /etc/hostname
SELinuxの無効化
今回構築するのはテストサーバなので、とにかく厄介なSELinuxは無効化する。セキュリティ的には、あまりおすすめしない方法です。
# vi /etc/sysconfig/selinux
SELINUX = disabled に変更
今すぐ SELinux を無効化するには、以下のコマンド。
# setenforce 0
必要なパッケージのインストール
サーバを管理していくうえで必要な、インストーラーではインストールされなかったパッケージをインストールします。
CentOS8.0は、パッケージのインストールにyumコマンドではなくdnfコマンドを使うようになっています。使い方はyumコマンドとほぼ同じなので心配は不要です。
dnfコマンドのラッパーとして、yumコマンドが残されていますので、今まで通りyumコマンドを使用してもOKです。
telnetサーバ
今回もリモート操作できるように、レガシーなtelnet-serverをインストールします。社内テスト用サーバなのでセキュリティを考慮していませんが、通常はSSHなどを使いましょう。
# dnf -y install telnet-server
インストールが終わったら、自動起動を有効化し、起動します。
# systemctl enable telnet.socket
# systemctl start telnet.socket
そのままでは他のマシンから接続ができないので、ファイアウォールに例外登録します。以下のコマンドは改行せず、1行で入力&実行してください。
# firewall-cmd --permanent --zone=public --add-rich-rule "rule family="ipv4" source address="192.168.1.0/24" service name="telnet" log prefix="telnet" level="info" limit value="1/m" accept"
設定を反映させます。
# firewall-cmd --reload
Samba(ファイル共有)
今回の社内テスト用サーバはWebサーバが基本なので、DocumentRootをそのまま共有してしまった方が、FTPの手間が省けて楽。ということで、DocumentRootをSambaで共有する設定をします。まずはインストールから。
# dnf -y install samba
# dnf -y install samba-winbind
自動起動を有効化し、起動します。
# systemctl enable smb nmb
# systemctl start smb nmb
ファイアウォールに例外登録し、設定を反映させます。
# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload
実際は起動する前にsmb.confの編集を行い、共有するディレクトリや共有条件などを設定しますが、ここでは割愛します。
Apache(httpd)Webサーバ
インストール時点でWebサーバ構成にしていますので、既にインストールされています。ここでは、自動起動を有効化し、起動します。
# systemctl enable httpd
# systemctl start httpd
80番ポートを開放するため、ファイアウォールに例外登録し、設定を反映させます。
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --reload
実際は起動する前にhttpd.confの編集を行い、DocumentRootやWebサーバとしての設定を行いますが、ここでは割愛します。
PHPとMySQL
なぜかPHPとMySQLがインストールされていなかったのでインストールします。OSインストール時点で、それぞれ関連するパッケージにチェックを付け忘れたのかもしれません。
# dnf -y install php
デフォルトではPHP7.2がインストールされます。
# dnf -y install mysql
デフォルトではMySQL8.0がインストールされます。
とりあえずWebサーバとして稼働
ここまでの作業で、とりあえずCentOS8.0のインストールとWebサーバとして最低限の設定が終わりました。
設定を進めていくうえで、CentOS7.6との違いなどがあれば、また改めて記事にしてみたいと思います。ここまでの作業、オツカレサマデシタ!
コメント