1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | # 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