Rewish

ウェブデザイン、HTML、CSS、JavaScript、PHP、WordPress、Movable Typeなど、Web制作で役立つかも知れないBlog.

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

カテゴリー
PHP/MySQL, ツール/サービス
タグ
Linux, VMware

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

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

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

目次

  1. 開発に必要なパッケージをインストール
  2. MySQLの初期設定
  3. phpMyAdminを設置する
  4. sambaの設定
  5. Apacheの設定 (バーチャルホスト)

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

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/ にアクセスして正常に表示されれば設定完了です。

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

最後に

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