VMWare

VMWare Server の開発環境作り直し

インストールしたもののメモです。

OSインストール

Index of /Linux/centos/5/isos/i386. CentOS5.7を今回は使用しました。
ISOファイルをダウンロードして、最小構成でインストール。

VMWare Toolsインストール

VMWare上のCentOSは時間がずれるのでVMWare Toolsをインストール。
VMWare Serverの管理画面から[Install VMware Tools…]を選択します。
選択すると、CDドライブにインストール用のファイルがセットされます。

[root@localhost ~]# mount /dev/cdrom /mnt/
[root@localhost ~]# cd /mnt/
[root@localhost ~]# /etc/yum.conf
gpgcheck=0 ← 0に変更

[root@localhost ~]# cp VMwareTools-7.7.6-203138.i386.rpm /tmp/
[root@localhost ~]# cd /tmp/
[root@localhost ~]# yum localinstall VMwareTools-7.7.6-203138.i386.rpm
[root@localhost ~]# /etc/yum.conf
gpgcheck=1 ← 元に戻す

一旦、サーバを停止しvmxファイルを変更します。

tools.syncTime = "TRUE" ← TRUEに変更

サーバを再度起動し、grubの設定を変更します。
このパラメータの追加(divider=10)はCentOS5.7では合った方が精度が良いよ?とナレッジに記載あったので追加しました。
VMware KB: Timekeeping best practices for Linux guests.

[root@localhost ~]# vi /boot/grub/grub.conf
kernel /vmlinuz-2.6.18-274.el5 ro root=/dev/VolGroup00/LogVol00 divider=10

ntpdインストール

[root@localhost ~]# yum install ntp
[root@localhost ~]# vi /etc/ntp.conf 
tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

[root@localhost ~]# vi /etc/ntp/step-tickers 
0.vmware.pool.ntp.org
1.vmware.pool.ntp.org

[root@localhost ~]# service ntpd start
[root@localhost ~]# chkconfig ntpd on

インストールと設定

まずはifconfigでipを確認して、puttyまたはpoderosaで接続する。

viコマンドでvimを使うようにする

何かとvimの方が便利なので、aliasで設定

[root@localhost ~]# vi /etc/bashrc 

alias vi='vim' ← 追加

[root@localhost ~]# source /etc/bashrc 

不要なサービス停止

yum自動アップデート停止

[root@localhost ~]# /etc/rc.d/init.d/yum-updatesd stop
yum-updates を停止中:                                      [  OK  ]
[root@localhost ~]# yum remove yum-updatesd

SELinuxを無効化

[root@localhost ~]# vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled

iptables停止・自動起動無効

[root@localhost ~]# service iptables stop
[root@localhost ~]# chkconfig iptables off

RPMリポジトリを追加

[root@localhost ~]# rpm -import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
[root@localhost ~]# vi /etc/yum.repos.d/utterramblings.repo

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

enabled=0にしているので、通常のyumコマンドではこのリポジトリは使われない。

使う場合は

[root@localhost ~]# yum --enablerepo=utterramblings install パッケージ
[root@localhost ~]# yum --enablerepo=utterramblings update パッケージ

とする。

再起動

[root@localhost ~]# reboot

Apache,PHP,MySQLインストール

[root@localhost ~]# yum --enablerepo=utterramblings install httpd httpd-devel php php-mbstring php-devel php-mcrypt php-pear php-mysql php-gd mysql-server

Apache,MySQLの起動と自動起動設定

[root@localhost ~]# chkconfig httpd on
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# service httpd start
[root@localhost ~]# service mysqld start

MySQLのユーザ設定

rootのパスワードを設定して、パスワードがブランクのユーザを削除

[root@localhost ~]# mysql -u root
mysql> set password for root@localhost=password('password');
mysql> exit

[root@localhost ~]# mysql -u root -p
mysql> DELETE FROM mysql.user WHERE Password = '';
mysql> exit

Apacheの設定

sampleユーザ追加

[root@localhost ~]# adduser sample
[root@localhost ~]# su - sample
[root@localhost ~]# chmod 755 /home/sample/

[sample@localhost ~]$ mkdir ~/public_html

[sample@localhost ~]$ vi ~/public_html/phpinfo.php ← 確認用
<?php
phpinfo();


&#91;sample@localhost ~&#93;$ exit
&#91;/bash&#93;

<h4>バーチャルホスト設定</h4>

[root@localhost ~]# vi /etc/httpd/conf.d/vhosts.conf

NameVirtualHost *:80# sample<VirtualHost *:80>
        DocumentRoot /home/sample/public_html
        ServerName test.sample.com
        <Directory "/home/sample/public_html">
                Options Indexes FollowSymLinks MultiViews Includes ExecCGI
                AddType text/html .shtml
                AddHandler server-parsed .shtml
                AddHandler cgi-script .cgi .pl
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

確認

[root@localhost ~]# httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server test.sample.com (/etc/httpd/conf.d/vhosts.conf:5)
         port 80 namevhost test.sample.com (/etc/httpd/conf.d/vhosts.conf:5)
Syntax OK

Windowsのhostsファイル変更

C:\Windows\System32\drivers\etc\hosts

192.168.1.3       test.sample.com

http://test.sample.com/phpinfo.phpにアクセスして確認.

ここまでで一通り開発環境が出来ました。
ソースのアップはrsync等で同期すると簡単にできると思います。

Windowsからrsyncを利用する方法も書きました。
suusuke – blog – Windows で rsync を使用する.

追加

ここからは有ると便利な設定等を追記していきます。

PHP Xdebugインストール

gcc,gcc-c++インストール

[root@localhost ~]# yum -y install gcc gcc-c++

Xdebugインストール

既にphp-devel,php-pearはインストールしてある状態なのでpeclコマンドでインストール。

[root@localhost ~]# pecl install xdebug

....


Build process completed successfully
Installing '/usr/lib/php/modules/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.1.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=xdebug.so" to php.ini

/usr/lib/php/modules/xdebug.soにxdebug.soがインストールされました。

php.iniに追記

/etc/php.ini

zend_extension="/usr/lib/php/modules/xdebug.so"

「体系的に学ぶ 安全なWebアプリケーションの作り方」の仮想マシンを VMware Server で動かす

電子書籍ファンのための出版社直営電子書籍モール「ブックパブ」.

購入して初めはただ読んでいたのですが、折角VMware Playerのイメージも付いているので実行して試してみたくなりました。

既に、Windowsマシンには VMware Server 2 がインストールされているのでそれにイメージを追加すれば動くと思ったのですが、動かず...

次に素直に VMware Player をインストールしようとしましたが何とも共存できない?のか VMware のプロセスを切っている状態でも VMware のプロセスを切って下さいとアラートが出てインストールできない。

そこで、VMware vCenter Converter Standalone Client という素晴らしいソフトが有る事を知ったのでそれで、VMware Server 2 用のイメージに変換してみました。

VMware Player 用のイメージの変換

まずは、VMware vCenter Converter、物理マシンから仮想マシンへの変換. から VMware vCenter Converter Standalone Client をダウンロードインストールします。

「マシンの変換」からソースとなるVMware Player のイメージファイルを指定して、出力は VMware Server 2.0 のイメージを指定してやると1,2分でイメージファイルが出来上がります。

VMware Server にイメージの追加

VMware Server の管理画面(WEB)からイメージを追加します。
Firefox、IE9ではうまく管理画面が動かなかったので、仕方なくIE Testerでイメージを追加しました。

メニューの「Virtual Machine」⇒「Add Virtual Machine To Inventory」から変換したイメージファイルをしてして、イメージを起動します。

IPさえ分かればputtyやpoderosaから操作できるので、IPの確認。

あれ?eth0 が無い。

「体系的に学ぶ 安全なWebアプリケーションの作り方(wasbook)」の仮想マシンを mac の VirtualBox で動かす – techlog.

ViretualBoxで動かす方法を書いてる方が居たのでそちらを参考に。

root@wasbook:~# vi /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth1 ←eth1に変更
iface eth1 inet dhcp ←eth1に変更

root@wasbook:~# /etc/init.d/networking restart ←network再起動
root@wasbook:~# ifconfig -a
eth1      Link encap:Ethernet  HWaddr 00:0c:29:b4:51:86  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb4:5186/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:378 errors:0 dropped:0 overruns:0 frame:0
          TX packets:241 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:38473 (38.4 KB)  TX bytes:32978 (32.9 KB)
          Interrupt:18 Base address:0x2000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:17593 (17.5 KB)  TX bytes:17593 (17.5 KB)

poderosaからも無事繋がりましたー。

sshfs が非常に便利 Windows編

ローカル環境だけでは本番環境と同じ環境が作れないという事が有ると思いますが、そのような場合はVMWareなどを使って仮想化して開発環境を作っていると思います。

仮想化したサーバーのソースを修正する場合は、ちょっとしたものであればputty等で直接修正しても良いのですが、開発となるとそうはいきません。

そんな時は、仮想化したサーバーをマウントして直接ホストから変更できるようにします。

Macの場合は
sshでリモートサーバーをマウント、便利にsshfs
で対応してたのですが、Windowsでもssh経由でマウントが簡単に出来たのでその時のメモ。

といっても、インストールするのは2つだけ。
Dokan

  • Dokanライブラリ
  • Dokan SSHFS

の順でインストールすれば簡単にマウントできます。

ファイルのアップとかもエクスプローラーから簡単に出来ますので大変便利です。