VMware + CentOS5 でローカル環境をさくっと作る手順

VMware + CentOS5 でローカル開発環境を作るのって結構時間がかかりますよね。
さくっと作れるようなメモです。

CentOS 5.5 (2010-05-18)時点の情報に内容を更新しました。


□まず作業用ユーザを作る

yum -y install sudo
useradd hoge
visudo

yum で必要なプログラムをインストール

      • centos5-setup.sh ---


# install programs
sudo yum -y install yum-fastestmirror yum-priorities ntp
sudo yum -y install httpd
sudo yum -y install screen zsh emacs
sudo yum -y install anthy anthy-el scim-anthy
sudo yum -y install fonts-japanese
sudo yum -y install postfix

# X Window System
# sudo yum -y groupinstall 'X Window System'
# sudo yum -y install switchdesk

sudo yum remove sendmail

# service on
sudo chkconfig sshd on
sudo chkconfig smb on
#sudo chkconfig ntpd on

# service off
sudo chkconfig atd off
sudo chkconfig isdn off
sudo chkconfig netfs off
sudo chkconfig nfslock off
sudo chkconfig sendmail off
sudo chkconfig bluetooth off
sudo chkconfig cups off
sudo chkconfig smartd off
sudo chkconfig portmap off

sudo chkconfig avahi-daemon off
sudo chkconfig autofs off
sudo chkconfig hidd off
sudo chkconfig acpid off
sudo chkconfig apmd off
sudo chkconfig mdmonitor off
sudo chkconfig rpcgssd
sudo chkconfig rpcidmapd
sudo chkconfig rpcsvcgssd


# depends on
#sudo chkconfig iptables off
#sudo chkconfig ip6tables off
#sudo chkconfig sendmail

# original file backup
sudo cp /etc/selinux/config /etc/selinux/config.orig

#network
sudo cp /etc/sysconfig/network /etc/sysconfig/network.orig
sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.orig
sudo cp /etc/hosts /etc/hosts.orig
sudo cp /etc/resolv.conf /etc/resolv.conf.orig

# service
#sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orig
sudo cp /etc/php.ini /etc/php.ini.orig
sudo cp /etc/my.cnf /etc/my.cnf.orig

# delete old php 5.1.6, MySQL 5.0.77
yum remove php
yum remove php-devel
yum remove php-common
yum remove curl
yum remove curl-devel

yum remove mysql mysql-server

      • /centos5-setup.sh ---

PHP 5.3 のインストール

以下を参考にremi repo を使い、PHP 5.3系をインストールします。
CentOS 5にPHP 5.3をインストール(yumで): みズとおかズ
http://okazu.air-nifty.com/blog/2009/10/centos-5php-53y.html

取得先を設定する

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-7.el5.remi.noarch.rpm
rpm -Uvh *.rpm

インストールする

yum install php* --enablerepo=remi
すると沢山エラーが出てインストールできないので、まずは

yum -y install php php-devel --enablerepo=remi
yum -y install php-gd php-mbstring php-pdo php-mcrypt php-xml php-ncurses --enablerepo=remi

□+ MySQL 5.1 のインストール


yum -y install mysql mysql-server --enablerepo=remi
yum -y install php-mysql --enablerepo=remi

/etc/my.cnf の設定 (UTF-8の場合)
InnoDB Pluginが利用できるので、2行コメントアウトするのを忘れずに。


default-character-set=utf8
skip-character-set-client-handshake

#
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

□memcache のインストール

RPMforgeのインストール(remiを使うようにしたので必要なし)
AdditionalResources/Repositories/RPMForge - CentOS Wiki
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge


rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
vi /etc/yum.repos.d/rpmforge.repo

enable = 1

enable = 0


# yum install -y memcached --enablerepo=remi
# yum install -y php-pecl-memcache --enablerepo=remi

# 設定確認
# cat /etc/sysconfig/memcached


PORT="11211"
USER="nobody"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

うまくできなかったら、以下を見てlibeventを含め、ソースからコンパイル
Ian Winter » Blog Archive » Installing memcached on CentOS 5 with libevent

APCのインストール

yum install -y php-pecl-apc --enablerepo=remi

または peclでインストール
(以下、peclでのインストール方法だが、yumで入れている場合は必要なし。)


pecl channel-update pecl.php.net
pecl install apc
(yum -y install gcc httpd-devel が必要かも。)

以下も必要なし。 /etc/php.d/apc.ini などにあり。
vi php.ini

  • -

extension=apc.so

  • -

Xdebugのインストール・設定
エラー表示が詳細で細かくなり、デバッグが半端なく早くなるので、超お薦めです。

PHP 5.3.x に対応したものは、yumではインストールできないっぽいので、peclで。

pecl install channel://pecl.php.net/xdebug-2.1.0RC1

yum install -y php-pecl-xdebug --enablerepo=remi


pecl install xdebug

php.ini


display_errors = On
html_errors = On

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

pecl : xhprof (プロファイリングツール)のインストール
http://pecl.php.net/package/xhprof


tar xvfz xhprof-0.9.0.tgz
cd xhprof-0.9.0/extension/
phpize
./configure --with-php-config=/usr/bin/php-config
make
make test
make install

php.iniに
extension=xhprof.so

グラフ表示用に graphvizのインストール


wget http://www.graphviz.org/graphviz-rhel.repo
mv graphviz-rhel.repo /etc/yum.repos.d
yum -y install graphviz

PHP の設定


display_errors = On
date.timezone = Asia/Tokyo
;date.timezone = JST

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8

SELinuxのオフ

"/etc/selinux/config"を開く、下記の行を入れ替える

SELINUX=enforcing
以下のように
SELINUX=disabled

IPv6のオフ
/etc/modprobe.conf に

alias net-pf-10 off
alias ipv6 off

□必要かわからないが

/etc/sysconfig/network に

NOZEROCONF=yes


□ファイル編集


vi /etc/selinux/config
vi /etc/httpd/conf/httpd.conf
vi /etc/sysconfig/network


VMware Tools のインストール
(VMware Player 3以降だと必要ないかも)
- デバイス→CD/DVD(IDE)→ linux.iso に接続
- sudo mount /dev/cdrom /media
- sudo mkdir /tmp/vmware-tools
- sudo cp /media/* /tmp/vmware-tools

コンパイル&インストール


sudo cd /tmp/vmware-tools
sudo tar zxvf VMwareTools-x.x.x-xxxx.tar.gz
sudo cd /tmp/vmware-tools/vmware-tools-distrib/
sudo ./vmware-install.pl
-
□ネットワークの設定

system-config-network


□ゲストOS Linux(CentOS5) から、ホストOS(WindowsVista)の共有フォルダをマウントする

mount -t cifs -o user=root //192.168.128.2/samba /opt/www/example.jp

MySQL の設定


- /etc/init.d/mysqld start
- /usr/bin/mysqladmin -u root password 'NEW PASSWORD'
- /usr/bin/mysqladmin -u root -h localhost.localdomain password 'NEW PASSWORD'

- /usr/bin/mysql_secure_installation
- chkconfig mysqld on


phpMyAdminのインストール

本家からソースを持ってきて上書きした方がいいかも

- yum -y install phpmyadmin --enablerepo=remi
- vi /usr/share/phpmyadmin/config.inc.php
blowfish_secretに適当な文字列を設定する
- アクセスできるIPアドレスの設定
vi /etc/httpd/conf.d/phpmyadmin.conf
- ログアウトするたびにログインするのが面倒な人は以下を設定
$cfg['LoginCookieValidity'] = '36000'; // 10hours

□開発用ツールのインストール
cvc, subversion, git など
yum -y install subversion

VMware イメージファイルのファイルサイズの変更

1. vmwareのツールでサイズを大きくする
vmware-vdiskmanager.exe -x <拡張後のサイズ> 仮想ディスクファイル.vmdk

2. linux上でパーティションサイズを大きくする
- LVMのコマンド
- GParted Live CD

参考:
http://www.drk7.jp/MT/archives/001159.html

□ メールの設定

sudo alternatives --config mta
sudo vi /etc/aliases
sudo newaliases

□ 個人設定 

- useradd your_user
- シェルの設定ファイルなど。


以上のような感じで、大体の環境が作れるかと思います。