WHAT'S NEW?
Loading...

XAMPPでWeb開発などをしている人は直ぐにVMPlayerに変えたほうが良い【7/8】

さて、今回はCentOSにインスコ(インストール)されているパッケージなどをアップデートする予定だ。

基本的に、と言うよりむしろ現在では当然の如く、yumコマンドでパッケージをインストールする(ソースコンパイルやrpmを作ったりするのは一度やって置くべきだ)。

Yumex(Yum Extender)というGUIソフトを使うと、グラフィカルにインスコすることも出来るが、ここではあえてコマンドラインで入力する事にする。

まずはCentOSにログインしよう。前回OSのシャットダウンではなく、VMPlayerを直接閉じていれば、勝手にサスペンド状態になり、直前の状態から再開することが可能になる。これがVMPlayerの便利なところのひとつだ。


「仮想マシンの再生」をクリックすると、「仮想マシンの状態を復元しています...」となり、だいたい20秒前後で元の状態に戻る。こりゃ便利。




CentOSが起動したら、VMPlayer内を一度クリックし、マウス制御をVMPlayer内に移す。
そしてツールバーの「アプリケーション」>「アクセサリ」>「GNOME端末」をクリックする。


ちなみに「GNOME端末」は良く使うので、アイコンを画面上部のツールバーにドラッグしておくと便利だ。

GNOME端末が起動したら、rootユーザになるために、スイッチユーザする。つまり、suコマンドだ。

$ su -
パスワード:
#
となる。

あとはyumコマンドを使い、すべてのシステムを一気にアップデートするだけだ。
# yum -y update
と入力する。当然すべてのシステムをアップデートするので、それなりに時間がかかる。
空いた時間を利用して、寿司でも食べに行って来るが良い。

 

だいたい10分くらいで終わる。寿司なんか喰ってる場合ではないぞ。


さて、無事にシステムのアップデートが終わったら、次に以下のパッケージをインストールし、Webサーバとして設定を行おうじゃないか。
  • httpd 2.2
  • php 5.3
  • mysql-server 5.1
ただし、CentOSはデフォルトでは悲しいくらいに古いパッケージしかインスコできない。phpも5.3なんか絶対に入らない。何が入るかと言うと、5.1.6だ。あの配列に致命的なバグのある5.1.6だ。なんでこんなクソバージョンをインスコさせるのか、担当者の脳みそにウジがわいているとしか思えない。

というわけで、最新のパッケージに関しては別リポジトリを追加し、そこから最新の環境を落とすことにする。

が!実は最初に古くてもいいから上記3つがインスコされていなければならないということが分かった。何度かやってみたが、パッケージ間の依存関係が問題で、素直にインスコできなかった。
なので、古いバージョンのパッケージを入れ、それを新しいリポジトリからアップデートさせることにする。

その前に、今回のようにGNOMEなどのGUI環境をインストールしていると、自動的にhttpdがインストールされてしまう。カラッポの状態からインストールしたいので、もしかしたら無意味かもしれないが、いったんhttpdをアンインスコしておく。
# yum -y remove httpd*
次に、古い状態のパッケージをインスコするのだが、ここではhttpdとphpのみとする。なぜなら、この時点でMySQLが入っていると、なぜかアップデートできなかったからだ。
# yum -y install httpd php
さて、これでしょぼいバージョンのhttpdとphpがインスコされた状態になった。今度はこれらを、最新版のパッケージが置いてあるリポジトリから一気にアップデートさせよう。

その前にまずはリポジトリの追加設定だ。日本国内で個人でリポジトリを公開してくれている人がいるので、その人のリポジトリを利用させてもらう。名前はwingだ。

リポジトリ設定ファイル置き場の/etc/yum/repos.d/に移動、設定ファイルの設置となる。以下のコマンドを打つ。
# cd /etc/yum.repos.d/
# wget http://wing-net.ddo.jp/wing/wing.repo
そして念のため、rpmforgeという超有名なリポジトリも一緒に設定を済ませておく事にする。
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

これで、wingリポジトリとrpmforgeの設定が完了した。今回つかうのはwingだけだ。余計なパッケージが入ってしまうと問題なので、rpmforgeはいったん無効にしておく。
# vi rpmforge.repo
enabled=1になっている部分をenabled=0として無効化させておく。

2010年7月6日追記
最近wingをチェックしてみたところ、phpが5.2にダウングレードしていることが分かった。もしwingからphp5.3を使用したい場合、別にwingに限ったやり方ではないが、リポジトリ設定ファイルを編集すればよい。

幸いにもwingにはextras(http://wing-net.ddo.jp/wing/)が存在するので、その中からphp5.3をインスコさせるようにしてみる。具体的にはwing.repoに以下を追記だ。

/etc/yum.repos.d/wing.repo

[wing-extras]
name=CentOS $releasever - $basearch - wing Repository
baseurl=http://wing-net.ddo.jp/wing/extras/el$releasever/$basearch/
enabled=0
gpgcheck=0

これを[wing]と[wing-source]の間にでも追加しておこう。
そしてyumのオプションで
# yum --enablerepo=wing-extras ~
とすれば、extras内のphpがインスコできるという仕組み。

とりあえず、yumでインスコする前に、
# yum list | grep php
などしてバージョンを確かめてる癖をつけておこう。

この状態で一気にアップデートしてみよう。
# yum --enablerepo=wing update

特に問題なくアップデートが終わったはずだ。

もしエラーがでるようなら、rpmforgeのenabledを1にもどして再度実行だ。

それでは次に、インスコを見送っていたMySQLをインスコする。
※CentOS5.5で試した場合、rpmforgeのenabledが0じゃないとインスコできなかった

# yum --enablerepo=wing install mysql-server
これでAMP(Apache、PHP、MySQL)環境が揃った。
ただこのままでは、httpdを起動すると警告が出るので、最低限の設定だけ済ませておく。
# vi /etc/httpd/conf/httpd.conf
このファイルはhttpdの設定ファイルだ。今のままだとServerNameという部分がコメントアウトされてしまっているので、
ServerName centos.torhamzedd.com:80
などに変更しておこう。

次に、httpdとMySQLの起動と、再起動したときなどに勝手に起動するような設定も行う。
# service httpd start
# service mysqld start
これでhttpdとmysqlが起動した。
次は自動起動の設定だ。
# chkconfig httpd on
# chkconfig mysqld on
これでOK。次回からサーバを再起動すると、勝手にこれらが起動した状態になってくれる。

一応だが念のため、httpdとphpだけ動作確認をしておく。
デフォルトだと/var/www/htmlがドキュメントルートになっているので、この場所にindex.phpというファイルを作り、中身は以下のようにしておく。
phpinfo();
※php開始タグは省略しているので、実際にファイルを作る際は入れて置くこと

これでブラウザでURLにlocalhostと打つと、phpinfoが表示される。

 

さて、次回はphpのライブラリ、httpdとmysqlの設定などを行う予定だ。

つづく。