LoginSignup
10

More than 3 years have passed since last update.

CentOS 7 でサーバー構築(インストール編)

Last updated at Posted at 2018-02-12

(2020年8月改変)
本投稿は CentOS 7.8 (2003) で更新しました。

はじめに

CentOS 7お名前.com VPS にインストールしたときの手順をご紹介します。
VPSプランは2ギガメモリプランです。
12ヶ月まとめ払いならば1ギガメモリプランとさほど金額差はありませんのでおすすめです。
記事では CentOS 7 インストールから各種さまざまなサーバーアプリケーションのセットアップまでを複数に渡ってご紹介したいと思います。

さて、今回の本題に入りたいと思います。
お名前.com VPS は、初期セットアップでCentOSがインストール済ですが、どのバージョンがインストールされているかは恐らく契約した時期によって違うかと思います。
現在(2020年8月)では、ゲストOSとして CentOS7.7 (1908) がインストール可能ですが、勉強のために本家サイトから 7.8 のISOイメージをダウンロードしてインストールする手順を踏むことにします。

CentOS 7 ダウンロード

ブラウザーで CentOS 本家サイト (https://www.centos.org) を開きましょう。
2020年8月時点では下記のようなサイトになっていました。

image.png

CentOS Linux ボタンをクリックしてください。
下記の画面が表示されます。2019年にリリースされた8系がありますが、今回は7系から目的のISOイメージを探します。

image.png

7 (2003) のタブをクリックしてください。
ISO 列にある x86_64 リンクをクリックすると、ダウンロードするサーバーの一覧が表示されます。
どのISOイメージが必要であるかはインストールするサーバーによって違いますので、環境に合わせて選択してください。

image.png

ダウンロードするサーバーの一覧から適当なサーバーを選択してください。

image.png

ファイルの一覧が表示されますので、適切なファイルを選択してダウンロードしてください。
通常版は CentOS-7-x86_64-DVD-2003.iso で良いと思います。

image.png

CentOS 7 ISOファイルアップロード

お名前.com VPS コントロールパネルにログインし、さきほどダウンロードしたISOファイルをアップロードします。
お名前.com VPS コントロールパネルのコンソール画面下の方に「ISOファイルアップロード(SFTP)」と書かれた接続先情報(下図)がありますので、この情報で SFTP 接続し、ISOファイルをアップロードします。

image.png

「ISOファイルアップロード(SFTP)」接続先情報から「接続先」と「ユーザ名」をメモしておき、「SSH Key」は「SSH Private Key」リンクからダウンロードしておきましょう。SFTP 接続で鍵認証する際に必要となります。

「ISOファイルアップロード方法」というリンク先に詳しく説明がされていますので、ここでは詳しく説明しません。
SFTP 接続ができたらimagesというディレクトリがありますので、その中にISOファイルを転送してください。

お名前.com VPS ディスク構成変更

お名前.com VPS 2ギガメモリプランでは、ストレージが200ギガあります。デフォルトでは20/180G構成になっていますが、OS領域を60Gに変更したいと思います。残りの140Gは、次の記事で記載しますが、/home にマウントするための領域として活用します。

お名前.com VPS コントロールパネルの「VM設定」タブを選択します。
3段目に「ディスク構成変更」がありますので、「カスタム」を選択、スライダーバーで60/140Gに変更後、「ディスク構成の変更によって縮小するディスクは、初期化(全データ消去)されます。取得済みのスナップショットは削除されます。」チェックボックスにチェックし、「決定」ボタンを押下します。
「ディスク構成を変更すると既存データはすべて消滅しますよ~」という警告ダイアログが出ますが、「はい」を選択して変更してください。(※私は初回インストールなので迷わず実行しましたが、お手持ちの環境により自己責任でご判断ください。

image.png

↓ 3段目に設定があります。

image.png

※ディスク構成の変更は VPS が起動中だとできませんので、お名前.com VPS コントロールパネルの「シャットダウンボタン」を押下し、停止させてから実施してください。

CentOS 7 インストール

本題の CentOS 7 インストールに取り掛かります。

お名前.com VPS コントロールパネルの「OS再インストール」タブを選択します。
「OS」にアップロード済のISOファイルを選択します。(リストの最後に出ているはずです。)
「確認」ボタンを押下してください。

image.png

内容確認画面を確認のうえ、「実行」ボタンを押下してください。

image.png

以下のとおり表示されましたら、OS再インストールの準備完了です。

image.png

「コンソール画面」タブを選択してください。
VPSの仮想ドライブには先程挿入したISOイメージファイルが表示されています。
「起動」ボタンを押下して、VPSを起動してください。

image.png

VPS起動後にコンソール画面の「クリックして開始」領域をクリックすると、コンソール画面が表示されます。
または、右上の四角アイコンをクリックすると、別画面でコンソールが表示されます。

インストーラメニュー画面が表示されますので「Install CentOS 7」を選択します。(↑↓キー操作でEnterを押下して決定します。)

image.png

言語選択の画面が表示されるので、自身に適切な言語を選択してください。
ここでは「日本語」を選択しています。
「続行」を押下して次に進めます。

image.png

インストールの概要では、「インストール先」の項目のみ「!」マークが出ていますので、ここを設定する必要があります。
それ以外の項目はそのままで良いので、「インストール先」を押下してください。

image.png

インストール先のパーティションを選択します。
60Gのパーティションを選択してください。(チェックが付いている状態であればOKです。)
画面下の方にある「追加の空き領域を利用できるようにする」にチェックをつけておいてください。
以前にインストール済のOSが存在している場合、空き領域が減っていますので、このチェックを入れておくことで完了後に表示されるデバイス領域の確保ダイアログで不要な領域を削除することができます。
「完了」ボタンを押下してください。

image.png

デバイス領域の確保ダイアログが表示されます。
すでに領域が使用されている場合は60G領域の下に確保済のパーティションがツリー形式で表示されます。この画像では未使用なので、60G領域の下は「空き領域」のみの表示となります。
すべて空き領域となっている場合はこの操作は必要ありませんが、説明のために一度削除してみます。
60Gの領域を選択した状態で「すべて削除」を押下します。

image.png

↓ アクション項目がすべて「保存」から「削除」に変わりますので、「領域の再利用」ボタンを押下してください。

image.png

インストールの概要に戻りますが、さきほど表示されていた「!」は消えています。
「インストールの開始」ボタンを押下してください。インストールが始まります。

image.png

インストールがバックグラウンドで開始され、ユーザーの設定画面が表示されます。
rootパスワードを設定します。「ROOTパスワード」を押下してください。

image.png

rootパスワードを入力し、「完了」ボタンを押下してください。

image.png

ユーザーの作成はここでは行いません。イントール後に140Gのストレージを /home にマウントしたあとで作成します。
「CentOSは正しくインストールされましたが、設定が必要な項目が残っています。(以下省略)」といった表示が出ていますが、気にせずにそのまま「設定完了」を押下します。

image.png

インストールがすべて完了すると、「再起動」ボタンが表示されますので、押下してください。

image.png

OS が再起動され、ログインプロンプトが表示されます。

image.png

CentOS 7 のインストールはこれで完了なので、お名前.com VPS コントロールパネルの「取り出す」ボタンを押下し、VPSの仮想ドライブに挿入された CentOS 7 ISOファイルを取り出してください。

image.png

シリアルコンソールの設定

お名前.com VPS は、ブラウザー越しにサーバーをメンテナンスできるようにコンソール画面がコントロールパネルに備わっています。
しかし、ブラウザーのコンソール画面では文字列のコピー&ペースト等ができず、このまま作業を続けていくには不便です。
なので、シリアルコンソールを設定することにします。
お名前.com VPSは、ssh越しにシリアルコンソールに接続するための機能を提供していますので、この機能を利用できるようにします。

root ユーザーでログインします。
/etc/default/grub を変更します。下記のとおりバックアップを取ってから作業を行います。

[root@localhost ~]# cp /etc/default/grub /etc/default/grub.org
[root@localhost ~]# vi /etc/default/grub
/etc/default/grub(変更前)
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
/etc/default/grub(変更後)
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet console=tty0 console=ttyS0,115200"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

下記のコマンドで設定を反映します。

[root@localhost ~]# /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg

特にエラーがでなければOKです。
シリアルコンソールの設定自体はこれでOKで、reboot してしまえば反映されますが、画面サイズがデフォルトの 24 x 80 となりますので、先に設定を変更しておきます。
シリアルコンソール接続するのは root のみで行い想定として、root.bash_profile を変更します。

[root@localhost ~]# vi /root/.bash_profile

最後の行に下記の1行を追加してください。
行数(rows)と文字数(columns)を設定するのみです。作業する環境に合わせて適宜調整すればよいかと思います。

/root/.bash_profile
stty rows 40 columns 130

これで設定完了です。
reboot します。

再起動が完了した後、シリアルコンソール接続できるようになります。
お名前.com VPS の場合、SSHクライアントを利用してSSH越しにシリアルコンソール接続が可能となります。
ネットワークの設定ミスなどでサーバーに直接SSH接続ができないようになったケースにおいては、シリアルコンソール接続がサーバーに接続可能な手段となります。
一般ユーザーの設定と、SSH接続の設定が完了するまでは、シリアルコンソール接続で作業を進めます。

SELinux の無効化

SELinux は無効化してしまいます。賛否はあるかもしれませんが、個人的に面倒な設定に巻き込まれるより割り切って無効化してしまったほうが良いと考えています。

下記のコマンドで今の状態を確認します。

[root@localhost ~]# getenforce
Enforcing

Enforcing と出ていますので、SELinux は有効です。

SELinux の設定ファイル /etc/selinux/config を変更します。

[root@localhost ~]# vi /etc/selinux/config
/etc/selinux/config(変更前)
# 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=enforcing
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
/etc/selinux/config(変更後)
# 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
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

変更が完了したら、reboot します。
reboot 後にログインし、getenforce コマンドで確認すると、下記のとおり Disabled となっています。

[root@localhost ~]# getenforce
Disabled

さいごに

CentOS 7 のインストール作業をご紹介しました。
次の記事では、140Gのストレージに論理ボリュームを作成し、/home にマウントする方法についてご紹介したいと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10