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/ にアクセスして正常に表示されれば設定完了です。
プロジェクトが複数になった場合は、設定を増やせば良いだけです。
最後に
後はゴリゴリ開発する。ちょっと読みにくいのはご愛嬌。