0-9
EC2インストール後にすること

#環境変数系(instance_nameは変更してください)
echo ‘instance_name’ > /etc/instance_name
echo ‘
export EC2_ACCOUNT_KEY=nnnn-nnnn-nnnn
export EC2_AMI_BUCKET=ami-backet_name
export EC2_LOG_BUCKET=log-backet_name
export INSTANCE_NAME=`cat /etc/instance_name`
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export EC2_HOME=~/src/ec2-api-tools
’ » /etc/profile

#基本設定
perl -pi -e ‘s{HOME=/(\r?\n)}{$&TZ=Asia/Tokyo$1}’ /etc/crontab
/etc/init.d/crond restart
yes | cp /usr/share/zoneinfo/Japan /etc/localtime

#/varを/mntに
echo “
# move to /mnt
mv /var /mnt/var
ln -s /mnt/var /var
” » /etc/rc.local

#s3cmd入れる
cd /etc/yum.repos.d
wget http://s3cmd.org/repo/CentOS_5/s3tools.repo
yum update
yum install s3cmd
mkdir ~/src
cd ~/src

#yumで入らない場合
cd ~/src
wget http://downloads.sourceforge.net/project/s3tools/s3cmd/0.9.9.91/s3cmd-0.9.9.91.tar.gz?use_mirror=jaist
tar -zxf s3cmd-0.9.9.91.tar.gz
mv s3cmd-0.9.9.91.tar.gz s3cmd-0.9.9.91
cd s3cmd-0.9.9.91/
yes | yum install python-devel python-setuptools
python setup.py install

s3cmd —configure


#jre入れる
cd ~/src
#64bit
wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=37394
#32bit
wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=37390
mv `ls jre-*` jre-rpm.bin
sh jre-rpm.bin
rpm -ivh `ls jre-*.rpm`

#ec2-api-tools入れる
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
unzip ec2-api-tools.zip
mv ec2-api-tools-1.3-46266 ec2-api-tools
mkdir ~/bin
cd ~/bin
ln -s ../src/ec2-api-tools/bin/ec2-register ec2-register

#logrotateの設定
echo ‘/var/log/httpd/*log {
missingok
daily
notifempty
rotate 90
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
gzip /var/log/httpd/*-`date +%Y%m%d`
s3cmd sync /var/log/httpd/*-`date +%Y%m%d`.gz s3://$EC2_LOG_BUCKET/${INSTANCE_NAME}/logrotate/`date +%Y`/`date +%m`/`hostname`/
endscript
}’ > /etc/logrotate.d/httpd

mkdir ~/bin

#ec2-create-amiの作成
echo ‘rm -fr /mnt/img-mnt/ami/
mkdir -p /mnt/img-mnt/ami/
chmod 700 /mnt/img-mnt/ami/
echo “” | ec2-bundle-vol -d /mnt/img-mnt/ami/ —privatekey ~/.ec2/pk.pem —cert ~/.ec2/cert.pem —user $EC2_ACCOUNT_KEY —fstab /etc/fstab
’ > ~/bin/ec2-create-ami

#ec2-throw-amiの作成
echo ‘ec2-create-ami
echo “created ami done”
export ami_name=`ec2-upload-s3 | tail -n 1`
echo “upload done : ami $ami_name”
ec2-register -n ${INSTANCE_NAME} -a x86_64 -K ~/.ec2/pk.pem -C ~/.ec2/cert.pem $ami_name
’ > ~/bin/ec2-throw-ami

#ec2-upload-s3の作成
echo ‘cur_time=`date +%Y%m%d_%H%M%S`
acc_key=`perl -ne “print \\$1 if /access_key[=\s]+(.+)$/” ~/.s3cfg`
sec_key=`perl -ne “print \\$1 if /secret_key[=\s]+(.+)$/” ~/.s3cfg`
ec2-upload-bundle —bucket $EC2_AMI_BUCKET/${INSTANCE_NAME}/${cur_time}/ —manifest /mnt/img-mnt/ami/image.manifest.xml —access-key $acc_key —secret-key $sec_key
echo $EC2_AMI_BUCKET/${INSTANCE_NAME}/${cur_time}/image.manifest.xml
’ > ~/bin/ec2-upload-s3

chmod 700 ~/bin/ec2-*

mkdir ~/.ec2
#pk-*.pem cert-*.pemをアップする
cd ~/.ec2
ln -s `ls pk-*.pem` pk.pem
ln -s `ls cert-*.pem` cert.pem

#httpd
yes | yum install httpd php php-mysql php php-pecl-apc php-pecl-memcache php-mbstring php-pear mysql gcc
chkconfig httpd on

#mysqld
yes | yum install mysql-server
chkconfig mysqld on

#64bit
yum install php-devel.x86_64
#32bit
yum install php-devel
pecl install json
perl -pi -e ‘s/32/64/’ /etc/php.d/apc.ini
echo ‘
Include conf/vhosts/*.conf
<LocationMatch “.svn”>
Order allow,deny
Deny from all
</LocationMatch>
’ » /etc/httpd/conf/httpd.conf
perl -pi -e ‘s/^(StartServers\s+)\d+/${1}80/’ /etc/httpd/conf/httpd.conf
perl -pi -e ‘s/^(MinSpareServers\s+)\d+/${1}50/’ /etc/httpd/conf/httpd.conf
perl -pi -e ‘s/^(MaxSpareServers\s+)\d+/${1}80/’ /etc/httpd/conf/httpd.conf

yum install gcc gcc-c++ libxml libxslt-devel freetype-devel libpng-devel