# Command order to get a CentOS 5.6 running with PHP 5.3 and ec2-consistent-snapshot running on AWS # Change hostname hostname YOUR_HOSTNAME vi /etc/sysconfig/network ------------------------------------ HOSTNAME=YOUR_HOSTNAME NETWORKING=yes NETWORKING_IPV6=no ------------------------------------ #Install PHP and modules and APC yum install php53 php53-mbstring php53-mysql php53-gd gd php53-imap php53-ldap php53-pdo php53-cli php53-pear php53-devel httpd-devel pcre-devel php-pear pear upgrade --force Console_Getopt pear upgrade --force pear pear upgrade-all pear version pecl install apc # Attach and mount a AWS EBS volumn (ec2-consistent-snapshot prefers xfs) # Make sure there is xfs support yum install kmod-xfs xfsdump xfsprogs dmapi mkfs.xfs /dev/sdf echo "/dev/sdf /vol xfs defaults,noatime 0 0" >> /etc/fstab mkdir /vol mount /vol # Mysql yum install mysql-server mkdir /vol/mysql chown -R mysql:mysql /vol/mysql vi /etc/my.cnf # Change the my.cnf file to ------------------------------------ [mysqld] datadir=/vol/mysql user=mysql log-warnings=2 log-error=/var/log/mysqld.log default-storage-engine=innodb skip-bdb socket=/var/lib/mysql/mysql.sock [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid ------------------------------------ service mysqld start mysqladmin -u root password YOUR_PASSWORD chkconfig mysqld on # ec2-consistent-snapshot perl -MCPAN -e shell cpan>o conf prerequisites_policy follow cpan>o conf commit perl -MCPAN -e "install(q{Bundle::CPAN})" perl -MCPAN -e "install Net::Amazon::EC2" yum -y install perl-DBD-MySQL yum -y install 'perl(File::Slurp)' yum -y install 'perl(DBI)' yum -y install 'perl(Net::SSLeay)' yum -y install 'perl(IO::Socket::SSL)' yum -y install 'perl(LWP::Protocol::https)' wget http://bazaar.launchpad.net/~alestic/ec2-consistent-snapshot/trunk/download/head:/ec2consistentsnapsho-20090928015038-9m9x0fc4yoy54g4j-1/ec2-consistent-snapshot mkdir /home/ec2/bin/ mv ec2-consistent-snapshot /home/ec2/bin/ chmod 700 /home/ec2/bin/ec2-consistent-snapshot # Create / EBS snapshot script cd /root vi snapshot_ebs_root.sh ------------------------------------ #!/bin/sh PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/home/ec2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/ho me/ec2/bin:/root/bin description="`hostname`-rootdrive-`date +%Y-%m-%d-%H-%M-%S`" ec2-consistent-snapshot --aws-access-key-id=YOUR_ACCESS_KEY --aws-secret-access-key=YOUR_SECRET_ACCESS_KEY \ --description=$description --region=eu-west-1 YOUR_VOLUME_ID ------------------------------------ chmod 700 snapshot_ebs_root.sh # Create /vol EBS snapshot script vi ./snapshot_ebs_vol.sh ------------------------------------ #!/bin/sh PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/home/ec2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/ho me/ec2/bin:/root/bin description="`hostname`-rootdrive-`date +%Y-%m-%d-%H-%M-%S`" ec2-consistent-snapshot --aws-access-key-id=YOUR_ACCESS_KEY --aws-secret-access-key=YOUR_SECRET_ACCESS_KEY \ --mysql-username=root --mysql-password=YOUR_DB_ROOT_PASSWORD --mysql-host=localhost --description=$description --mysql --region=eu-west-1 \ --freeze-filesystem='/vol' YOUR_VOLUME_ID ------------------------------------ chmod 700 snapshot_ebs_vol.sh #Set the cronschedule for EBS snapshots crontab -e ------------------------------------ 54 6-23 * * * /root/snapshot_ebs_vol.sh > /dev/null 2>&1 59 22 * * * /root/snapshot_ebs_root.sh > /dev/null 2>&1 ------------------------------------ # Change httpd DocumentRoot to /vol/www/default vi /etc/httpd/conf/httpd.conf mkdir /vol/www/default mkdir /vol/www/sites chown -R apache:apache /vol/www chkconfig httpd on service httpd start #Set server timezone cd /etc ln -sf /usr/share/zoneinfo/CET localtime
Wednesday, September 14, 2011
Setting up Centos 5.6 with PHP 5.3 on Amazon EC2 with ec2-consistent-snapshot
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment