AT-RESEARCH
ページ最下部へ
TOP > コンピュータ > CentOS 6 > CentOS 6 インストールから初期設定まで

CentOS 6 インストールから初期設定まで

Web開発環境構築の為に、仮想マシン上でサーバーを構築しそれにアクセスすることで、本番のような環境を作りWeb制作に役たたせるのが目的。仮想マシン上にサーバーを構築する理由:ファイル(データベース)の扱いなど、いろいろな所でLinuxとWindowsのやり方が違うので、本番の環境に最小限の変更で実装させるため。

VMWareインストールからCentOSのインストールと初期設定まで
自分でやったことを忘れないために記録。

VMWare Player のダウンロード。そしてインストール。インストール時の選択などは、
「インストール先は変えない。」「製品更新確認する」「VM Ware Playerの改善には協力する」
ショートカットは、
「クイックには作らない」
を選びました。

VMwareを起動、CentOSのインストールを開始するため、仮想マシンの構成を決める。自動的インストールも対応するが、基本言語が英語になるし、オプションも選択できなくなるので、

「あとでOSをインストール」

を選択。ゲストOSは「Linux」、バージョンは「CentOS」を選択。 仮想マシン名は、自由に。場所は変えない。容量は20GBで

「複数のファイルに分割」「ハードウェアのカスタマイズ」

で細部の調整でメモリーの指定を確認。
メモリーは、GUIを使いたいなら652MB~、最低でも392MBは必要。日本語表示でのインストールを望むので、切り良く1024MBにした。CPUの仮想モードにチェックを入れると起動しなくなる。(CentOSが対応していないらしい)ネットワークはブリッジを選択。仮想マシンの構成が終わったら、ディスクをセットして起動。
起動から選択は

「Install or upgrade an existing system(一番上)」
「skip」

で、GUIインストール画面に。最初の選択で基本言語を

「japanes日本語」

を選ぶことで、日本語で表示される環境になる。キーボード

「日本語」
「基本ストレージ」

で、ストレージデバイスの警告が出るが、新規なので

「破棄して下さい(Y)」

を選ぶ。

コンピューターのホスト名を入力されるように言われるので、「ホスト名+ドメイン」(例:web.testserver.com)という形で入れる様に書いてあるところがほとんどだったので、それに習います。先頭のを「WWW」にはしない方がいいみたい。入力したら、左下にある「ネットワークの設定」から「System eth0」の設定を編集、「自動接続する」にチェックを入れて下にある適用をクリック。閉じて次へ。
タイムゾーンは、「アジア/東京」で左下の「システムクロックで~」のチェックを外す。
rootのパスワードを入れ、確認にも同じ物を入れる。
インストールタイプは、新規なので

「すべての領域を使用する」

を選択。プライベートな開発環境なので、左下のチェックは入れない。ストレージ構成の書き込み確認をしてくるので

「書き込む」

を選択。
インストールタイプの選択をされるので、

「Minimal」

を選択。追加オプションで、「ベースシステム」の「ベース」にチェックを入れる。

インストールが終わったら、ディスクを取り出して再起動になる。
再起動後は、Login画面になりますが、「root」以外は作られていないので、「root」で入ります。LinuxというOSの常識(実はWindowsでも同じなのですが)では、通常ログインに管理者は推奨されません。不用意な操作でシステムをクラッシュさせやすいので、一般ユーザーを作ります。

# useradd user   ← userに新しく作るユーザー名を入れる
# passwd user

一般ユーザーを作ったら、VMWare上での作業は、慣れないとやりにくいので、ここからTeraTermでログインして作業できるようにします。まずはIPアドレスを調べます。

# ifconfig

「eth0」に「inet addr:XXX.XXX.XXX.XXX」という部分がでています。これがアドレスです。これをTeraTermのアドレスに入れて、「接続」します。先ほど作った一般ユーザーでログインします。入れたら、rootユーザーになります。同時にVMWare側の端末を「Login」画面に戻しておきます。「exit」でログアウトして、ログイン画面になるはずです。VMWareのウィンドウは邪魔なので、最小化してしまいます。間違って終わらせないこと。
$ su -
パスワード:

まず設定がよくわかってない「SELinux」を止めます。

# setenforce 0

次回以降も起動させないために設定をいじります。

# vi /etc/sysconfig/selinux

SELINUX=enforcing
           ↓変更
SELINUX=disabled

将来的にSELinuxが使えるようになったら設定することにして次に行きます。
CentOSはRedHat系でインストールは「yum」コマンドか、「rpm」ファイルからのインストールが主になります。ただしこの方法は最新のバージョンをすぐに使えません。最新のものが使いたいときは、ソースを落としてきて、自らコーティング等を行う必要があります。が、これを行うには、インストール時にオプションで、「開発」>「開発ツール」を選択していないと使えないそうです。また、初心者にはかなり敷居が高いと思うし、自身も良くわかってないことは説明できないので、ここではやりません。「yum」インストールに慣れて、物足りなくなったら、次の段階として覚えることにして、今は「yum」コマンド周りをカスタマイズしようと思います。
「yum」にはプラグインというものがあります。これらを付加することで、機能強化できるわけです。まずはチェックの意味合いも兼ねて、

# yum version

と打ち込みます。すると

Loaded plugins: fastestmirror, security

と、こんなかんじで1行目が表示されます。「fastestmirror」「security」という2つが入っているようです。それぞれの意味は、

fastestmirror       … 自動的に最適なミラーサイトを選択
security            … セキュリテアップデートを対象とするオプションの選択が可能になる
確認がとれたので、まずはリポジトリの追加を行います。追加する際に最初に入っていたものを優先させ、追加になったものの優先順位を下げるようにします。これは、外部レポジトリの使用によってシステムファイルが書き換えられ、運用に悪影響が出ないようにするためです。
まずはyumのプラグインを入れます。

# yum -y install yum-plugin-priorities

標準のリポジトリ設定ファイルを編集します。

# vi /etc/yum.repos.d/CentOS-Base.repo

ファイルが開いたら、

[base][updates][extars]

のそれぞれに

「priority=1」

を加えます。

RPMforge EPEL ELRepo Remi リポジトリインストールわけですが、ダウンする前にそれぞれの確認を行います。

http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/で、「rpmforge-release-0.X.X-X.el6.rf.i686.rpm」の最新版を。(64bit版であれば、アドレスの「i386」は「x86_64」に、ファイル名は「i686」ではなく「x86_64」になります。以下同様に。)

最新版を確認したら、公開鍵を入れてからインストールします。順序を間違えるとおかしくなるので、順序は守ること。

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
( ↓ 32bitの場合)
# rpm -ivh http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
( ↓ 64bitの場合)
# rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

http://dl.fedoraproject.org/pub/epel/6/i386/で、「epel-release-X-X.noarch.rpm」の最新版を。

# rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
( ↓ 32bitの場合)
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
( ↓ 64bitの場合)
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

http://elrepo.org/で、OSに合わせた最新版を。

# rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm

Remiには細かいバージョンはないようなので、そのまま入れます。

# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
作業が終わったら、yumのプラグインの一つを追加します。GUI環境でインストールすると入っていたのですが、CUI環境では入っていません。パッケージの説明を見ると、「変更があった時に自動で保存・有効にする」みたいなことが書いてありました。いまいち自信なし。多分、入れても問題ない(入れなくても問題ないかもしれない)と判断したので入れておきます。

# yum -y install PackageKit-yum-plugin

プラグインのインストールが終わったら、インストール済みのパッケージ等を一括でアップデートします。

# yum -y update

これでカーネルも含め、インストールされているすべてのパッケージが最新版に更新されます。まずチェック→ダウンロード→確認・更新という流れで進みます。「-y」オプションを外すと、「→」の部分に確認が入ります。
次に「iptables」を設定します。カーネル2.4から実装されたファイアウォール機能です。サーバー(いま構築中のLinuxのことです)に対して指定されたパケットや、通過するパケット、このサーバーから送出するパケットの管理ができます。ポートなどの細かい設定ができるようですが、スキルの足りない私は、ほかのサイトのを丸写しってほとではないですが、必要なところだけ借用しています。内容は必要な部分のみにしています。

参考にしたサイト:http://tech.hitsug.net/?CentOS/iptables

# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#■↓ SSH
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#■↓ HTTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#■↓ FTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
#■↓ FTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
#■↓ SMTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
#■↓ POP3
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
#■↓ HTTPS
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#■↓ OP25B対策(サブミッションポート)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT
#■↓ MySQL(使用する場合)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
COMMIT

詳しい設定文の意味は後日調べることにして、このような感じにして見ました。
設定が終わったら、IPアドレスの固定を行います。これをやらないと、VMWare起動の度にアドレスが変わるという、開発環境としては不便この上ないのです。
直接やる方法もありますが、「システム管理の勉強」ではなく「Web開発環境の構築」が目的なので、設定プログラムから行います。

# /usr/sbin/system-config-network-tui

まず「DNS 設定」を見に行きます。そうすると、インストール時に入れた「ホスト名」とか「1番目の DNS」等が出てきます。この「1番目の DNS」アドレスを覚えておきます。「取り消し」で「デバイス設定」を選択、「eth0」の設定をします。「DHCP の使用」から「*」を外して、「静的 IP」「ネットマスク」「デフォルトゲートウェイ IP」を入力します。

「静的 IP」には「ifconfig」の時に出てきたアドレスを
「ネットマスク」には、「255.255.255.0」を
「デフォルトゲートウェイ IP」には、「DNS 設定」で見たアドレスを入れます。

入れたら、「OK」→「保存」→「保存して終了」で終わります。ここまでやったら、再起動させます。

VMWareなので、HDDイメージのバックアップをとっておくのもいいかもしれません。次回はNTPとかapacheとかphpとかMySQLとかの方を書きます。




ページ最上部へ