仮想サーバーCentOS6.9構築
仮想サーバーのCentOS6.9の構築手順を説明する。
目次
JenkinsTips
1.はじめに
目的
仮想サーバーとして利用するため、CentoOS6.9をインストールし、各種設定を行う。
概要
CentOS6.9を最小構成でインストールし、仮想サーバーとして利用するためソフトウェアのインストールを行う。
インストール対象
◎ telnet
◎ wget
◎ openssl
◎ KVM
2.操作手順
CentOS6.9のインストーラーを起動し、インストールをはじめる。
インストーラーの起動
CentoOS6.9の起動選択画面が表示される。
「Install」を選択する。
Enterを押す。
インストーラーが起動するまで暫く待つ。
Installerが開始したことを確認する。
インストーラーの起動
インストーラーの起動を確認し、「Next」を押す。
言語設定
「Japanese(日本語)」を選択し、「Next」を押す。
「日本語」を選択し、「次(N)」を押す。
ストレージの設定
「基本ストレージデバイス」を選択し、「次(N)」を押す。
「選択したすべてのデバイス(略)に適用します。(A)」にチェックが入っていることを確認する。
「はい。含まれていません。どのようなデータであっても破棄してください。(Y)」を押す。
サーバーの設定
「ホスト名」を入力し、「次(N)」を押す。(IP一覧で指定した名前を間違えないように入力すること)
「アジア/東京」が選択されていることを確認する。
「システムクロックでUTCを使用(S)」からチェックを外し、「次(N)」を押す。
「すべての領域を使用する」を選択する。
「パーティションのレイアウトをレビューまたは修正する(V)」にチェックをいれる。
「次(N)」を押す。
ストレージ容量が、55GBを超過する場合、後述の図のように/homeへの割当が発生する場合がある。
検証用サーバーなどで、すべての容量を/に割り当てるためには、以降の手順を行う。
レイアウトレビューを開かないと、割当が発生しているかわからないため、必ず確認を行う。
「lv_home」を選択し、「削除(D)」を押す。
※この時点で、lv_homeがなく、lv_rootと、lv_swapしかなければ、「次(N)」を押す。(13項へ)
確認メッセージが出るので、「削除(D)」を押す。
lv_homeが消えていることを確認する。
「lv_root」を選択し、「編集(E)」を押す。
サイズを最大サイズまで増やす。(最大サイズは、表示されているので同じ値にすると良い)
「OK(O)」を押す。
容量が増えて上部のグラフがすべて使用されていることを確認する。
「次(N)」を押す。
「フォーマット(F)」を押す。
変更をディスクに書き込む(W)」を押す。
フォーマットが終了するまで暫く待つ。
「次(N)」を押す。
OSのインストールが開始されるので終了まで待つ。
完了メッセージが表示されたことを確認し、「閉じる(C)」を押す。
※この後
画面が暗転したことを確認し、サーバーの電源をOFFにする。
電源を入れて、起動し始めた直後に、インストールメディアを取り出す。
初回起動時の設定
セットアップの開始
「進む(F)」を押す。
「はい、ライセンスに同意します」を選択していることを確認する。
「進む(F)」を押す。
ユーザー作成
root以外のユーザーを追加できる。
使用する場合は、ユーザーの名前と、パスワードを入力すること。
「進む(F)」を押す。
※追加しない場合も同じ
日付と時刻の設定
「ネットワーク上で、日付と時刻を同期化します(Y)」にチェックを入れる。
※特に指定がない場合は、最初から選択されているNTPサーバーをそのまま利用する。
「進む(N)」を押す。
メッセージが表示されるので、開始するまで暫く待つ。
Kdumpの設定
「終了(F)」を押す。
※Kdumpが不要な場合は、kdumpを有効にしますかのチェックを外す。
「はい(Y)」を押す。
「OK(O)」を押す。
以上で初期設定が終了するので、メッセージの指示に従い再起動する。
3.アカウント設定
サーバーにユーザーを追加するための手順を記す。
ユーザー追加
ユーザーを作成する。
以下のコマンドを実行して、新たにユーザーを追加する。
# useradd -u 500 [追加するユーザー名]
追加したユーザーのパスワードを設定する。
# passwd [追加するユーザー名]
パスワードの確認があるので、同じパスワードを再度入力する必要がある。
Sudoリスト更新
sudoリストに追加が必要な場合は、下記のコマンドを実行し、viエディターを用いてリストにユーザーを追加する。
# visudo
Rootユーザーの記述があるので、同じ場所にユーザーを追加する。
追記内容は以下の通り
[追加するユーザー名] ALL=(ALL) ALL
記載内容の間は、半角空白が一つ以上入っていれば問題ない。
rootユーザーの記述と位置を揃えると見栄えがよい。
4.ネットワーク設定
ネットワークを利用するのに必要な設定を記載する。
ホスト名の設定
既存のネットワーク設定を確認する。
# cat /etc/sysconfig/network
ファイルの中身が表示されるので、不足がある場合は、以下の内容から追記する。
設定ファイルの編集
# vi /etc/sysconfig/network
追記の例)
HOSTNAME=Aries (任意のホスト名)
GATEWAY=192.168.3.1 (使用するGWのIPアドレス)
GATEWAYDEV=eth0 (NICが複数ある場合にのみ指定する。ゲートウェイデバイス名)
記載内容の確認のため再度catコマンドでファイルの内容を表示する。
# cat /etc/sysconfig/network
イーサネットインターフェースの設定
NICの設定を確認する。
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
(eth0部分は、利用するNICデバイスの名称にあわせる。)
設定ファイルの編集
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
足りない場合、以下の内容から追記する。
DEVICE=eth0 (4-1で指定したデバイス名)
BOOTPROTO=none (ブート時のプロトコル使用を行わない。)
DNS1=192.168.3.1
HWADDR=A1:B2:C3:D4:E5:F6 (任意のMACアドレス)
IPADDR=192.168.3.34 (任意のIPアドレス)
NETMASK=255.255.255.0
NM_CONTROLLED=no (NetworkManager からの変更を拒否する。)
ONBOOT=yes (起動時にアクティブにする)
USERCTL=no (root以外での変更不可)
記載後、設定が正しく行えたことを確認する。
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DNSの設定
DNSの設定をresolv.comfにも記載する。
設定内容を確認する
# cat /etc/resolv.conf
nameserverの記述がなければ以下の内容を追記する。
# vi /etc/resolv.conf
以下の内容を追記する。
nameserver 192.168.3.1
記載後、設定が正しく行えたことを確認する。
# cat /etc/resolv.conf
ネットワーク設定確認
ここまでの記載に間違いがなければ、反映のためネットワークを再起動する。
# service network restart
この時、ネットワークが起動していなければ、Stopの処理時に失敗するが問題はない。
ネットワークの起動が終了した場合は、設定内容を確認する。
# ifconfig
設定内容と相違ない値が表示されることを確認する。
Pingコマンドで、接続状況を確認する。
1.ゲートウェイへ接続できることを確認する。
# ping 192.168.3.1
2.インターネットへの接続を確認する。
# curl google.com
5.フィルタリングの設定
ファイアウォール設定(有効)
Netfilterを利用して利用可能なアクセスを制限したい場合、以降の手順を実施する。
既存の設定内容を確認する
# iptables -nL
iptablesを編集し、必要な内容を追記する。
# vi /etc/sysconfig/iptables
記載内容について
-Aは設定の追加、最後尾に追加されるため、先に記述するほうが優先度は、高くなる。
わかりにくくならないよう、記述では後付(-A)に統一し、-Iの記述は使用しない。
各記載に関する補足
-A:最後尾にルール追加
INPUT:受信パケット
OUTPUT:送信パケット-p:プロトコルを指定する。(tcp、udp、icmp、all)
-i:インターフェースの指定
-j:アクションを指定(許可 ⇒ ACCEPT、破棄 ⇒ DROP)
–dport:送信先ポートの番号指定
設定例)
a.任意のWEB(HTTPや、HTTPS用)アクセス関連のポート開放
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT
b.TeraTeam関連のポート 解放
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 23 -j ACCEPT
iptablesを再起動し設定を反映させる。
# service iptables restart
追記後の設定内容を確認する
# iptables -nL
ファイアウォールの設定(無効)
フィルタリングを向こうにする場合は、以降の手順を実施する。
※この手順では、サーバーの再起動が必要となります。
iptablesの停止
# service iptables stop
iptables起動設定の確認
# chkconfig --list iptables
起動の設定が有効な場合、onの綱目が存在する。
停止を設定する
# chkconfig iptables off
iptables起動設定の確認
# chkconfig --list iptables
すべての項目が、offであることを確認する。
SElinuxの状態確認
# getenforce
Enforcing SElinux有効 & アクセス制御有効
permissive SElinux警告 & アクセス制御無効
disabled SElinux無効 & アクセス制御無効
SElinuxを無効にする。
# setenforce 0
SElinuxの設定ファイルを更新する
# vi /etc/sysconfig/selinux
以下の通りに記載を変更する。
SELINUX=disabled
有効にする場合は、SELINUX=enforcingに設定する。
設定を反映するためサーバーを再起動する。
# reboot
6.ソフトウェアインストール
リモート利用を想定されるため、それらを想定してよく使うソフトウェアをインストールする。
telnetのインストール
yumで、telnetをインストールする
telnetクライアント
# yum -y install telnet
telnetサーバー
# yum -y install telnet-server
どちらも成功することを確認し、設定を行う。
設定ファイル更新
# vi /etc/xinetd.d/telnet
インストール時は、disable = yesとなっているため、更新する。
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
更新後、サービスを起動する。
# /etc/rc.d/init.d/xinetd start
正常に動作しているか確認のため、ローカルホストへの接続を行う。
# telnet localhost
※作成したユーザー等でログインして、telnetの成功を確認する。
EPELリポジトリのインストール
yumコマンドで、EPELリポジトリをインストールする。
# yum -y install epel-release
成功することを確認する。
wgetのインストール
yumコマンドで、wgetをインストールする。
# yum -y install wget
成功することを確認する。
opensshのインストール
yumコマンドで、oensshをインストールする。
# yum –y install openssh
opensshを起動する。
# /etc/rc.d/init.d/sshd start
opensshの自動起動を設定する。
# chkconfig sshd on
設定内容を確認する。
# chkconfig --list sshd
2~5がonになっていることを確認する。
Tera Termでの接続確認
リモートでの利用の確認を行うため、別の端末からTera Termで接続を行う。
サービス項目が、SSHであることを確認、OKを押す
続行を押す。
ログインするユーザーを入力し、OKする。
ログインに成功する
KVMのインストール
yumコマンドで 必要なモジュールをインストールする。
※この手順では、サーバーの再起動が必要となります。
# yum -y install libguestfs libguestfs-tools libguestfs-tools-c libvirt libvirt-client python-virtinst qemu-kvm virt-manager virt-top virt-viewer
すべて成功することを確認する。
KVM(libvirt) の自動起動を設定する。
# chkconfig libvirtd on
設定を確認する。
# chkconfig –list libvirtd
2~5がonになっていることを確認する。
設定を反映するためサーバーを再起動する。
# reboot
RDPのインストール
Windowsのリモートデスクトップ接続を利用する場合に導入する。
yumコマンドで、xrdpをインストールする。
# yum -y install xrdp
xrdpの自動起動を設定する。
# chkconfig xrdp on
設定を確認する。
# chkconfig –list xrdp
2~5がonになっていることを確認する。
xrdpを起動する。
# service xrdp start
リモートデスクトップ接続を確認する。
リモートデスクトップ接続を起動する。
接続に成功することを確認する。
アプリケーションメニューの選択
アプリケーションメニューから、仮想マシンマネージャーを起動する。
アプリケーション > システムツール > 仮想マシンマネージャー
インターフェースの表示
仮想マシンマネージャーが表示されることを確認する。
以上で、インストールと動作確認を終了する。