実機サーバーの構築(Centos編)

「サーバー」とは?

普通の人で「サーバー」と名前の付くもので御存知なのは、「コーヒーサーバー」や、「ウォーターサーバー」ではないでしょうか?

コーヒーサーバーや、ウォーターサーバーは、コーヒーを煎れておいたり、水のタンクをセットしておいて、欲しい時にカップを持っていくと、いつでもコーヒーやおいしい水が飲める機器ですね。

コンピュータの「サーバー」も、これに似ていて、人が操作するパソコンが「このファイルが欲しい」という要望をサーバーに送ると、蓄積してあったファイルを送ってくれる機能があります。これが、「ファイルサーバー」です。

他にも、データを蓄積しておいて、必要なデータを送ってくれる「データベースサーバー」や、WEBのデータや画像を送ってくれる「WEBサーバー」などがあります。

サーバーの画面

このように、サーバーは人間が操作するのではなく、人が操作するパソコン(これをクライアントといいます)からの要請を受けて必要なデータを提供するものなので、サーバー自体は操作性を要求されません。

このため、

のように、最近の方は殆ど見た事がないであろう、 CUI(Character User Interfaceの略)を使う事が多いです。つまり、コマンドをキーボードで入力して、返ってくる結果も全部文字列ってやつですね

上記画面はその例ですが、yum -y update というコマンドを入力して結果が返ってきています。

例外的に GUI(Graphical User Interface)操作を必要とするサービスを提供する事も在りますので、X-WindowというGUIシステムを後付けできます。

これは、CentosのGUIシステムです。どことなく普段使っているWindowに似ていますね。

CentOSサーバーの構築

実際の構築ですが、細部はオーダーにあわせますので、非常にざっくりしたところですが、

サーバーの最初の構築は、これを参考に、最低限のパッケージとGUI(X-Window)のインストールで行います。

http://isoredirect.centos.org/centos/
から、DVDのisoファイルをダウンロードします。結構時間がかかります。何しろ
CentOS-6.10-x86_64-bin-DVD1.iso    3.7G
CentOS-6.10-x86_64-bin-DVD2.iso    2.0G
と、2つ合計で6GB近いので、光環境でも数時間単位ですね。

No,1ディスクで起動し、インストールを進行させます。
途中、 Minimal Desktopを選択して進行します。 そのままデフォルトで行うと、 Desktopになり、先ほどのCUIのみになります。

「インストールが完了しました」との表示が出たら再起動し、初期設定です。

実機へのインストールでは、この場面でネットワークが上手く起動しない事がありますが、

今回の例ですと、GUI環境を設定してあるので、設定>ネットワークからネットワークを起動する事ができます。
コマンドで打つ方法もありますが、今回はGUI環境だったので割愛します。

ネットワーク接続が確率できると、ifconfig で調べたeth0 のIPアドレスを使って、Tera TermでTelnetログインができるようになります。
今回の例では、192.168.11.14でした。

# yum -y update
# yum -y install yum-cron
# /etc/rc.d/init.d/yum-cron start
# chkconfig yum-cron on

まず、なにはなくとも、サーバーのセキュリティを確保します。
そのため、アップデートは真っ先に行います。
また、yum-cronをインストールして、必ず定期的にアップデートを実行させます。

# getenforce
Enforcing ← これだとSELinuxは有効
# vi /etc/sysconfig/selinux
#SELINUX=enforcing ← 有効をコメントアウト
SELINUX=disabled ← 停止指示を新設

# /etc/rc.d/init.d/iptables stop ← iptablesを停止。
# chkconfig iptables off ← 再起動しても iptables を停止

SELinuxと、 ファイアウォールは停止します。
基本的に実機のサーバーの構築は、ローカルに対するサーバーで、ルーターの内側に設置し、インターネットには公開しないためです。
ただ、目的によっては、ルーターに設定してインターネットに公開する場合もあるので、その場合はファイヤーウォールを有効にする必要があります。
また、その場合はサーバーへのログインを、SSHキーによる鍵認証に切り換える必要があります。

ログイン用のユーザーを作成し、そのユーザーでログイン
$ cd $HOME
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ vi ~/.ssh/authorized_keys
Tera Termで作成した、公開キーをエディタで開き、内容を貼り付けする。
$ chmod 600 ~/.ssh/authorized_keys

パスワードでのログイン禁止、rootのログイン禁止
# vi /etc/ssh/sshd_config
#PasswordAuthentication yes
↓
PasswordAuthentication no ← パスワード認証無効化
 
#PermitRootLogin yes
↓
PermitRootLogin no ← rootログイン無効化

# /etc/rc.d/init.d/sshd reload
sshd を再読み込み中:                                       [  OK  ]

日本語にも対応させておきます。

# yum -y install nkf

また、インストール時に特に指定しないと、ホスト名(コンピュータの名前)が、localhost.localdomain になっていますので、その場所のルールに従って、名前を変えてください。

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.localdomain
↓
HOSTNAME=centos610

これで、このサーバーの名前は、centos610になりましたので、Tera Termでログインする際など、このサーバーを指定する際の名前として使用できます。

後は必要に応じて、各サーバープログラムをインストールしていきます。

yum -y install samba4 samba4-client

をコマンドで指定すると、ファイルサーバーになります。
後はファルサーバーの設定をかければ、立派なファイルサーバーの完成となります。