VMware Player上のCentOSに開発環境を構築 #2
『VMware Player上のCentOSに開発環境を構築 #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 | ファイルサーバー |
[root@dev-srv ~]# 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起動時に自動で開始するようにします。
[root@dev-srv ~]# chkconfig httpd on [root@dev-srv ~]# chkconfig mysqld on [root@dev-srv ~]# chkconfig smb on [root@dev-srv ~]# service httpd start [root@dev-srv ~]# service mysqld start [root@dev-srv ~]# service smb start
MySQLの初期設定
まずrootユーザーのパスワードを設定します。今回はホスト名「localhost」のみにパスワードを設定します。他のホストで接続する場合は、下記のlocalhost部分を書き換えて設定して下さい。
[root@dev-srv ~]# mysql -u root
mysql> set password for root@localhost=password('パスワード');
mysql> exit
次に、パスワードが設定されていないユーザーを削除します。
[root@dev-srv ~]# mysql -u root -p Enter password:先ほど設定したパスワードで応答 mysql> DELETE FROM mysql.user WHERE Password = ''; mysql> exit
phpMyAdminを設置する
MySQLユーザーの管理などはphpMyAdminから行うことにします。
[root@dev-srv ~]# svn checkout https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/tags/STABLE/phpMyAdmin phpMyAdmin [root@dev-srv ~]# mv phpMyAdmin/ /var/www/ [root@dev-srv ~]# cp /var/www/phpMyAdmin/config.sample.inc.php /var/www/phpMyAdmin/config.inc.php [root@dev-srv ~]# chmod 660 /var/www/phpMyAdmin/config.inc.php [root@dev-srv ~]# chown -R root.apache /var/www/phpMyAdmin/ [root@dev-srv ~]# mkpasswd -l 46 ランダムな46桁の英数が表示されるのでコピーする [root@dev-srv ~]# vi /var/www/phpMyAdmin/config.inc.php
設定ファイルを以下のように編集。
$cfg['blowfish_secret'] = '46桁の英数をここに貼り付ける'; $cfg['Lang'] = 'ja-utf-8'; // 追加
Escキー ⇒ :wqで上書きして設定ファイルを閉じる。
次にApache用のphpMyAdmin設定ファイルを新規作成。
[root@dev-srv ~]# vi /etc/httpd/conf.d/phpMyAdmin.conf # 以下を貼り付ける Alias /phpMyAdmin /var/www/phpMyAdmin
設定が完了したらサーバーを再起動しておきます。
[root@dev-srv ~]# service httpd restart
phpMyAdminには http://dev-srv/phpMyAdmin/ からアクセス可能です。
sambaの設定
WindowsからCentOS上のファイルを直接編集できるように、sambaでファイルサーバーを構築します。
まず、ユーザーを追加。今回はrewishと言うユーザーを追加しました。
[root@dev-srv ~]# useradd rewish [root@dev-srv ~]# passwd rewish パスワードを二回入力
Linuxユーザーをsambaに追加。
[root@dev-srv ~]# pdbedit -a rewish パスワードを二回入力
設定ファイルを新規作成 (既に在る場合は以下を追加及び変更)。
[root@dev-srv ~]# 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ディレクトリを作成。ユーザーを切り替えて作成する方がシンプル。
[root@dev-srv ~]# su - rewish [rewish@dev-srv ~]# mkdir ~/samba [rewish@dev-srv ~]# mkdir ~/samba/www [rewish@dev-srv ~]# exit
設定が完了したらsambaを再起動。
[root@dev-srv ~]# service smb restart
動作確認
Explorer(IEではない)のアドレスバーに \\dev-srv (バックスラッシュ二回の後にインストール時に設定したホスト名) と入力して移動、認証ダイアログが出たらユーザー名とパスワードを入力。wwwディレクトリなどが見えていれば取り敢えずOK。
※ネットワークのエラーが出る場合は設定がおかしいかも。
Apacheの設定 (バーチャルホスト)
ApacheのバーチャルホストとWindows側のhostsファイルを使って、簡単に複数プロジェクトの開発を行えるようにします。
以下では、http://dev.rewish.org/ にアクセスした場合、/home/rewish/samba/www/devディレクトリをドキュメントルートにするように設定します。
ドキュメントルートの作成
[root@dev-srv ~]# su - rewish [rewish@dev-srv ~]# mkdir ~/samba/www/dev [rewish@dev-srv ~]# exit
バーチャルホストの設定
DocumentRoot はsamba共有内ならどこでもOKです。フルパスで指定。
[root@dev-srv ~]# vi /etc/httpd/conf.d/vhost.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/home/rewish/samba/www/dev"
ServerName dev.rewish.org
</VirtualHost>
<Directory "/home/rewish/samba/www/dev">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
設定が完了したらApacheを再起動。
[root@dev-srv ~]# 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.rewish.org
あらかじめdevディレクトリ内にindex.htmlなどを作成しておき、ブラウザから http://dev.rewish.org/ にアクセスして正常に表示されれば設定完了です。
プロジェクトが複数になった場合は、設定を増やせば良いだけです。
最後に
後はゴリゴリ開発する。ちょっと読みにくいのはご愛嬌。