仮想WEBサーバーの構築(3) / サーバーセットアップ

OSインストールが完了し、gnomeログイン画面が表示されたならばROOTユーザーでログインし、サーバー動作に必要なソフトウェアをインストール・セットアップします。

 

セットアップ完了直後の仮想PCはネットワークが動作してません。

なにはさておきセットワークを設定します。

 

今回の仮想PCでは、eth0には仮想ネットワークのvmnet0が、eth1にはvmnet2が接続されています。

vmnet0 / vmnet2のネットワークにあわせたIPアドレス等を設定します。(今回は固定IPアドレス設定で設定しています。)

 

ネットワーク設定が終了したら、ifup eth0 / ifup eth1を実行してネットワークを起動します。

 

ネットワークが起動したならば、OSインストールで設定したntpdを起動します。

ネットワークが正しく動作かつ、上位のntpサーバーのIPアドレスが正しく設定できているならば、ntpは起動できていますので、ntpqコマンドで動作状況を確認します。

 

システムの時計が設定終了したならば、インストールしたソフトウェアを最新のものにアップデートします。

最初にアップデータを起動すると、yumインストーラのアップデートが実行されます。

 

先のアップデートはyumに関するものなので、再度アップデータを起動します。

ここでインストールされたソフトウェアに対してアップデート有無が確認され、最新版へのアップデートを実行します。

 

CentOSが最新版になったならば、続いて必要ソフトウェアをインストールします。

まず、システム稼動状態を確認するため、gnome system monitorをインストールします。

標準リポジトリに格納されていますので特に問題なくインストールできるかと思います。

 

インストールが終わったならば動作確認。

正しくCPUが2個、メモリが2GB確保されています。

 

つづいてApache WEBサーバー・PHP・Mysqlをインストールします。

 

つづいて移植前のWEBサーバーでは、WordPress高速化のためphpのキャッシュ(php-eaccelerator)をインストールしていますが、このソフトウェアはCentOSでは標準で用意されていません。 RHEL6用に用意されているrpmを流用します。

 

今回は、rpm-phone.netにて、検索キーワード”php-eaccelerator-0.9.6.1-1.el6″にて検索。

RHEL6用でコンパイルされているものをダウンロード。

インストーラでインストールします。

 

その他使用状況に応じてソフトウェアを追加します。

今回はこれ以外に、テキストエディタのgeditとGUI版のFireWall設定アプリをインストールしています。

 

つづいて、/etc/fstabを編集してnfsマウントポイントの設定。

このWEBサーバーの前身となる1CPUリソースのWEBサーバーでは、ApacheのDocumentRootは親サーバーのディスクにありますので、同様にnfs-mountします。

またMysqlのデータベースも親サーバーにありますので、同様にnfs-mountします。

 

ただし、今回この仮想サーバーにインストールしたMysqlはクライアントモードでのみ動作しデーモンは立ち上げませんので、Mysqlデータベースディレクトリのnfs-mountは特に意味を成しません。(あくまで同一環境に仕立て上げるために設定しています。)

 

nfs-mountが完了したら、移植元の現行WEBサーバーより

/etc/httpd/  ディレクトリ以下の設定ファイル

/etc/php.ini

/etc/php.d/* ディレクトリ以下の設定ファイル

これらをコピーしてきます。

なお、これら設定ファイルの移行はリソース規模は違うものの同じ設定で動作するWEBサーバーが既に起動しているためです。 通常ならばここで各種設定を実行する必要があります。

 

httpd.confは各WEBサーバーの動作環境に依存しますのでここでは割愛しますが、php-eacceleratorについてはWordPressで利用する場合、そのままキャッシュを有効にすると動作が怪しくなることが多いと思います。

これはキャッシュ最適化処理が効き過ぎるとWordPressでは互換が怪しくなるためで、/etc/php.d/eaccelerator.ini の41行目あたりにある、eaccelerator.optimizer設定をデフォルトの”1″から”0″にします。

この設定を有効にするとキャッシュ効率は落ちますが、WordPressとの互換は確保されます。

 

またおとよの環境では、ApacheのDocumentroot(コンテンツの設置場所)はnfs-mountディスクを指していますのでCentOS標準ではありません。 このためhttpd.confをコピーした後、/etc/init.d/httpd restartと、Apacheを再起動するとエラーとなります。

これはSELINUXがシステム標準と違う設定でApacheが動作しようとしたためロックしているためで、

# echo 0 > /selinux/enforce

とコマンドを打ち込んで暫定的にSELINUXを停止してhttpdが動作するか確認します。

 

動作が確認できたならば、SELINUXを恒久的に動作停止するため、/etc/selinux/config に下記設定を行います。

 

つづいてホスト名がlocalhostのままですので、ホスト名を設定します。

/etc/sysconfig/network

をエディタで開いて、”HOSTNAME=localhost” となっている部分を書き換えます。

 

そして最後にFireWallの設定。

意外にこの存在を忘れてしまって、外部から接続できずハマることがあるので要注意。

 

以上で、ローカルアクセスだけではなく、外部からもWEBサーバーが機能するようになりました。

その後、WordPressを別サーバーで動作させるための各種設定(引っ越し手続き)が必要となりますが、新規作成した仮想PCのWEBサーバーセットアップとしてはここまでとなります。