Rewish

VMware Player上のCentOSに開発環境を構築 Vol.2

VMware Player上のCentOSに開発環境を構築 Vol.1の続き。

PHP開発環境をXAMPPからVMware Playerに移行するから順に書いてきたものの、肝心の XAMPPから移行 の部分については、「コアなXAMPPユーザーで無ければデータベースのデータを移すくらいでこと足りる」と書いてる途中で思い始めたので、今回は書いてないです。

この記事では、必要パッケージのインストールから設定までを書いていきます。

開発に必要なパッケージをインストール

PHPの開発ならApache・PHP・MySQLなどをインストールします。

今回は以下のパッケージを(面倒なので一気に)前回追加したRPMリポジトリからインストールします。

パッケージ名 概要
httpd Webサーバー
httpd-devel apxsを利用するために必要
php バージョンは5.2.6
php-mbstring マルチバイト文字列関数
php-gd GDライブラリ
php-mcrypt 暗号化関数
php-pear PEARコマンド(当然ながらPECLコマンドも入ります)
php-devel PECLのコンパイル用
php-mysql MySQL関数 (PDOも入ります)
mysql-server MySQLサーバー
expect ランダムなパスワードを生成するmkpasswdコマンド
samba ファイルサーバー
yum --enablerepo=utterramblings install httpd httpd-devel php php-mbstring php-devel php-mcrypt php-pear php-mysql php-gd mysql-server expect samba

Apache・MySQL・Sambaを自動実行に登録して起動

サーバー類はOS起動時に自動で開始するようにします。

chkconfig httpd on
chkconfig mysqld on
chkconfig smb on
service httpd start
service mysqld start
service smb start

MySQLの初期設定

まずrootユーザーのパスワードを設定します。今回はホスト名「localhost」のみにパスワードを設定します。他のホストで接続する場合は、下記のlocalhost部分を書き換えて設定して下さい。

mysql -u root
mysql> set password for root@localhost=password('パスワード');
mysql> exit

次に、パスワードが設定されていないユーザーを削除します。

mysql -u root -p
Enter password:先ほど設定したパスワードで応答

mysql> DELETE FROM mysql.user WHERE Password = '';
mysql> exit

phpMyAdminを設置する

MySQLユーザーの管理などはphpMyAdminから行うことにします。

svn checkout https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/tags/STABLE/phpMyAdmin phpMyAdmin
mv phpMyAdmin/ /var/www/
cp /var/www/phpMyAdmin/config.sample.inc.php /var/www/phpMyAdmin/config.inc.php
chmod 660 /var/www/phpMyAdmin/config.inc.php
chown -R root.apache /var/www/phpMyAdmin/
mkpasswd -l 46
ランダムな46桁の英数が表示されるのでコピーする
vi /var/www/phpMyAdmin/config.inc.php

設定ファイルを以下のように編集。

$cfg['blowfish_secret'] = '46桁の英数をここに貼り付ける';
$cfg['Lang']     = 'ja-utf-8';	// 追加

Escキー ⇒ :wqで上書きして設定ファイルを閉じる。

次にApache用のphpMyAdmin設定ファイルを新規作成。

vi /etc/httpd/conf.d/phpMyAdmin.conf
# 以下を貼り付ける
Alias /phpMyAdmin /var/www/phpMyAdmin

設定が完了したらサーバーを再起動しておきます。

service httpd restart

phpMyAdminには http://dev-srv/phpMyAdmin/ からアクセス可能です。

sambaの設定

WindowsからCentOS上のファイルを直接編集できるように、sambaでファイルサーバーを構築します。

まず、ユーザーを追加。今回はrewishと言うユーザーを追加しました。

useradd rewish
passwd rewish
パスワードを二回入力

Linuxユーザーをsambaに追加。

pdbedit -a rewish
パスワードを二回入力

設定ファイルを新規作成 (既に在る場合は以下を追加及び変更)。

vi /etc/samba/smb.conf

[global]
       unix charset = UTF-8
       dos charset = CP932
       display charset = UTF-8

       # MYGROUPの部分をWindowsのワークグループに変更
       # システムプロパティのコンピュータ名タブ参照
       workgroup = MYGROUP
       server string = srv
       security = user
       passdb backend = tdbsam

       # プリンタは不要
       load printers = no
       disable spoolss = yes

[homes]
       comment = Home
       path = %H/samba
       browseable = no
       writable = yes

       # ドットファイルを表示する
       hide dot files = no

       # ごみ箱の設定
       vfs objects = recycle
       recycle:repository = .recycle
       recycle:keeptree = no
       recycle:versions = yes
       recycle:touch = no
       recycle:maxsize = 0
       recycle:exclude = *.tmp ~$*

作成したユーザーのHOMEにsambaディレクトリを作成して、その中にWebディレクトリを作成。ユーザーを切り替えて作成する方がシンプル。

su - rewish
mkdir -p ~/samba/www
exit

設定が完了したらsambaを再起動。

service smb restart

動作確認

Explorer(IEではない)のアドレスバーに \dev-srv (バックスラッシュ二回の後にインストール時に設定したホスト名) と入力して移動、認証ダイアログが出たらユーザー名とパスワードを入力。wwwディレクトリなどが見えていれば取り敢えずOK。

※ネットワークのエラーが出る場合は設定がおかしいかも。

Apacheの設定 (バーチャルホスト)

ApacheのバーチャルホストとWindows側のhostsファイルを使って、簡単に複数プロジェクトの開発を行えるようにします。

以下では、http://dev.example.com/ にアクセスした場合、/home/rewish/samba/www/devディレクトリをドキュメントルートにするように設定します。

ドキュメントルートの作成

su - rewish
mkdir -p ~/samba/www/dev
exit

バーチャルホストの設定

DocumentRoot はsamba共有内ならどこでもOKです。フルパスで指定。

vi /etc/httpd/conf.d/vhost.conf

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot "/home/rewish/samba/www/dev"
    ServerName dev.example.com
</VirtualHost>
<Directory "/home/rewish/samba/www/dev">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

設定が完了したらApacheを再起動。

service httpd restart

hostsの設定

hostsファイルは以下の場所にあります。

Windows XPの場合
C:\WINDOWS\system32\drivers\etc
Windows 2000の場合
C:\WINNT\system32\drivers\etc

テキストエディタでhostsを開き以下のように編集。

127.0.0.1	localhost
192.168.0.5	dev.example.com

あらかじめdevディレクトリ内にindex.htmlなどを作成しておき、ブラウザから http://dev.example.com/ にアクセスして正常に表示されれば設定完了です。

プロジェクトが複数になった場合は、設定を増やせば良いだけです。

最後に

後はゴリゴリ開発する。ちょっと読みにくいのはご愛嬌。