AWS CloudFormation WordPress 3 Japanese version on ubuntu 10.04 LTS (Lucid Lynx) EBS-backed Instance All-in-One template
Jump to navigation
Jump to search
CloudFormation
CloudFormation の勉強のために作ってみました。どうせつくるなら使える構成なるように工夫してみました。結局 user-data のお化けになってしましましたね。push 型デプロイの限界ですね。やっぱり CMDB というか、chef, puppet で push+pull でデプロイするのがいいですねぇ。CloudFormation はその意味では有用なので勉強しナイト。
ubuntu + WordPress All-In-One CloudFormation Template
ubuntu Generic AMI から debian/ubuntu のパッケージ管理の流儀にのっとって構成するようにしました。また EC2 特有の IP address 空間に対応する為に Split DNS を構成しています。WordPress については、現在の ubuntu パッケージが古いので、パッケージは導入せず、debian のお作法は踏襲して独自に構成しています。User-data の途中のバイナリーデータは Split DNS の構成ファイル群を tar で固めたものです。(Emacsian でない方は user-data の最後の行は削除してください ;)
http://public.webops.jp/ubuntu-wordpress3-jp-all-in-one.template
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "WordPress 3 Japanese version on ubuntu 10.04 LTS (Lucid Lynx) EBS-backed Instance All-in-One template",
"Parameters": {
"KeyName": {
"Type": "String",
"Description" : "Name of an existing EC2 KeyPair to enable SSH access into the WordPress web server"
},
"MyHostName": {
"Default": "www.example.com",
"Type": "String",
"Description": "Server hostname"
},
"MyDomainName": {
"Default": "example.com",
"Type": "String",
"Description": "Server domain name"
},
"MySQLrootPwd": {
"Default": "admin",
"NoEcho": "true",
"Description" : "MySQL root password",
"Type": "String",
"MinLength": "1",
"MaxLength": "41",
"AllowedPattern" : "[a-zA-Z0-9]*",
"ConstraintDescription" : "must contain only alphanumeric characters."
},
"WordPressDBName": {
"Default": "wordpress",
"Description" : "The WordPress database name",
"Type": "String",
"MinLength": "1",
"MaxLength": "64",
"AllowedPattern" : "[a-zA-Z][a-zA-Z0-9]*",
"ConstraintDescription" : "must begin with a letter and contain only alphanumeric characters."
},
"PhpMyAdminPwd": {
"Default": "padmin",
"NoEcho": "true",
"Description" : "phpMyAdmin password",
"Type": "String",
"MinLength": "1",
"MaxLength": "41",
"AllowedPattern" : "[a-zA-Z0-9]*",
"ConstraintDescription" : "must contain only alphanumeric characters."
},
"InstanceType": {
"Default": "t1.micro",
"Type": "String",
"Description" : "EC2 instance type, e.g. m1.small, m1.large, etc"
},
"WebServerPort": {
"Default": "80",
"Type": "String",
"Description" : "TCP/IP port for the WordPress web server"
}
},
"Mappings" : {
"AWSInstanceType2Arch" : {
"t1.micro" : { "Arch" : "64" },
"m1.small" : { "Arch" : "32" },
"m1.large" : { "Arch" : "64" },
"m1.xlarge" : { "Arch" : "64" },
"m2.xlarge" : { "Arch" : "64" },
"m2.2xlarge" : { "Arch" : "64" },
"m2.4xlarge" : { "Arch" : "64" },
"c1.medium" : { "Arch" : "32" },
"c1.xlarge" : { "Arch" : "64" },
"cc1.4xlarge" : { "Arch" : "64" }
},
"AWSRegionArch2AMI" : {
"us-east-1" : { "32" : "ami-2cc83145", "64" : "ami-2ec83147" },
"us-west-1" : { "32" : "ami-831d4fc6", "64" : "ami-8d1d4fc8" },
"eu-west-1" : { "32" : "ami-4090a634", "64" : "ami-4290a636" },
"ap-southeast-1" : { "32" : "ami-e8c4bdba", "64" : "ami-eec4bdbc" },
"ap-northeast-1" : { "32" : "ami-624ee463", "64" : "ami-644ee465" }
}
},
"Resources" : {
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"KeyName" : { "Ref" : "KeyName" },
"SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
"InstanceType" : { "Ref" : "InstanceType" },
"ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
{ "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] },
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["",[
"#!/bin/bash -ex","¥n",
"echo 'Asia/Tokyo' > /etc/timezone","¥n",
"dpkg-reconfigure --frontend noninteractive tzdata","¥n",
"service rsyslog restart","¥n",
"service cron restart","¥n",
"aptitude update","¥n",
"aptitude -y safe-upgrade","¥n",
"aptitude -y install bind9","¥n",
"aptitude install python-ipy","¥n",
"cat <<EOF | base64 -d > /tmp/Ec2SplitDnsKitLite.tar.bz2","¥n",
"QlpoOTFBWSZTWafs3lUABr9/1d6wAQB+5///f+/eSv////oQEAACAIIAAgAoYAwfBQKhFAAAqgAA","¥n",
"AAAAABDQRGhoap5Twmqep6epPUbU2obSPUAAZA0AAAHqDmTTQyABiMgyAGmCBiAaNNABkDQAcyaa","¥n",
"GQAMRkGQA0wQMQDRpoAMgaADmTTQyABiMgyAGmCBiAaNNABkDQAcyaaGQAMRkGQA0wQMQDRpoAMg","¥n",
"aABIkBBAAgAQTBPRU8TaRM1PSNHpiTMp6T1HlDTyfp9QB9f3OT/2YSl0e1h1Jd6GExXANaIaGkPF","¥n",
"AIXb228kF5RM8Cfh5OagAUsMBobpKUXYrM4mETwgZOcRR4kIG0mAGIAwSGQIiIFkI5ANkCyIA/Z8","¥n",
"NAPnmvFJnlGK/66wlAu+QxjYftMCUm0X5/T8OQ6fv4fl6j6zuO8/7PykF4Yfzx1tOLhpDDTWbApU","¥n",
"nV76wFq0QhxmI4r3AITIrqsxUUWY0F9TYbXJsFgRn/zfH/M6i5n6IIZgjbrBerT+OQav5GzAv7z+","¥n",
"n+970W5v4bo1HhEdARC9YB3IRh9sYADXBhX0l2T2CVzUw39cI+/uR0beKD/ImmZGHrLg7dvO23Qi","¥n",
"N3BI8VTTPoPCJSm1L7vxpZdx6ZYow5g4x0mXFLTBgfhzlg3RtDcaai6iDidPnlii0qkp9Gi7qVJl","¥n",
"/wkHTtgsYIxLhcw9mfT0uMKS35hS3N9lrui8Qmw2rWFXkz0UVdfdfOHXecLabiMSpKTMJKdQ4i3C","¥n",
"hCVnQq/YsJU5VIXCCydSIILlNq4ezt5p85pyS5mXtDZ40Kieus7n6iKuvF+2x6Q6TY7AKAUckYYK","¥n",
"kZKb4oYwZKMAEdnBwrMBzmB7xgKN1SZSlasNRKpRpjm25IOk0IsrBYUyWWzwMOR3jUcQmRvMDwN4","¥n",
"sgvbgEdNJlAUYsYrbQI9ZGZmZG8BI7oYjHC5PLqnomIpwMPEBf/teLCBgHPN+MOUIPFLvNBkQuIR","¥n",
"zrR7TSl8DxXiMGV5uMyQuIYBC9sAznUMYU9PtCDJbWf1DiHxAwli11Bj2qhNcJ/BNGqV/SQ6pwHv","¥n",
"mFEzgHqulJ8oHVsiM9JaBww3A24CVAZVtpaJCqD1xVjDS9s4X4E6SmGD0FCKUJP3b50ZThCOf50d","¥n",
"g2tJ80cmcA0nkJKxWCPmCQQ6A3uPm8gc+wNXQP8vdWRYCI3najniFhAUG8ZNxKygI25YV9ALcEen","¥n",
"1s9YNr5SIjkuZXMb5nedhI7gTGiO4oVAjWVqzWd5gMYxngDIB0RgsrJwsgZkLIywsTbbb+kxR78c","¥n",
"ClkjV249khINjQeTcM7T6vahUXlYAXPjOoaCSQElPy6MqvzP+fvn/T+f/EU+UAWddAAcFiurzV18","¥n",
"t4XmnikwAaLrdaQQgunXk6JGEXF8DMHx42LzlF3xnU5scCUiYVJdK8vLdWrDYAfVZfXWW2PQ1+3D","¥n",
"MMdVoCYA5TJYkGut9N82hB1k/O0VHMu2bYze8AOH1mpXVuGJkajQizLLLR7iFFG+UkEuD2k9FZpX","¥n",
"GE1mkZQUFgq5gE9iLMLV19GFMvHAGFZ74vqyRlpCmgrp0Bg8XW+AjP3BwBlDFoMGPAsXQE0GGBFJ","¥n",
"BZIjFE7YpTtGbQ+edcQAgGkwGYpEMTK4MxxtXNakoMMc4xNqTCKXhvsNCRdBlE/sglZGlyFkFbRE","¥n",
"wrhZASACqUEDdXRzZCRBz5LzXCdUGvh3ee6W1TLKorSCHqQQ1OQLQ3Tx8AOo1PcS5ROokI7DjYFV","¥n",
"h7SPNcrIos5rCs7Ri/1UOkR8ljgV3iFyD4gd0rn3n8vFWMPu9qguQHyGQ4iOcAA3em+3+nvbNi7M","¥n",
"ifLYmr/UCewXmPchF9TgqgeQA/I+zs+gOcAy7Vnn+KBkIhd+aPvJqZHzx++0Gn5brizwSqVkg9gB","¥n",
"Y2yD9Y0vJ9wfKHnFkqHq9glvR/YOQBeOYhllAQNkoPeS/VL6ffb+B/EG+k9sdwAVuaUZHqMfoTTZ","¥n",
"9tf9CpIRlsP3wQxL/VhQ+wwxG702oOZoDf6f61z8mK6eH16SYaGes1gG3fxFYqfw7O38oX8fUTqb","¥n",
"cDrRvCOw2EhrMUkBrP0oc63nLCtKbszsyAhd/2d9ec2oz3nWyGhGrUYBV/aFYkSeZRJGdT6ACD6f","¥n",
"gy1CRhrN0zQl4PR6uENF5oQYM8y8G0WC6rERCDAhb6JM2Kpg0QNtjwRARk0IkWMTACQLcXvKV10a","¥n",
"DG08cDhBDIgMTXKP0QaGV5PzOrRZBlmaOaRG+c5zYyhRdZG+0zykpNKIq9U6tTR1ueJe03ft6yWb","¥n",
"xbzXY+fTOK5DHmEgiAzgHhjhMVdNwqy9HgxLrviFMBXQxSIfxwcj9Jy01zjbwMSjXyFfg1mHzHqN","¥n",
"stjxrMP8AGgjRwQSVqknavZpaWuCaWb5wpygq3kXTWwcxjnEKGsoyzpCR2z2znGM5Tm0E9IaCrA3","¥n",
"jO610wqGwg5JIl6zcX6nXpg6zhPvDuDmN/xxBFAmDEwwDBe1qXgwteyyoNH3gza0KanHj7B/Cohl","¥n",
"TFaMcEZlD0DlEw5HWuuYyA8oAPrQpIgaPBqPcQY7Ib8zVZwu6ibTFt2y7TfLo/c7VqipHkDUcDLs","¥n",
"uKD7+3HzZ8osB0aFhvrNUYKYUXSDRzptLQiWU5JItBzYmjXZfFZKyNWaSxMuBRbVBAFJFgsqa9y8","¥n",
"xo2mJqG8N4MDrTAP7AGgJgE76TPEJ9HBAEzGIImlI8e3WczBrQWhyCSiQEhVGgPB14shw0yIRy47","¥n",
"9OkxAybRkB4Vt5xwOoR5Pn6tKEUFsQzYNZ7cLJPHEmM7zuJ73ktYYh1ELRWc6BNboiAzgRLLAJkh","¥n",
"xpDgxDaDhzU9FCgbTtIyqpB+YXEaEBUulbK5dsabZzQcAMg6rYswCQyAGYwE5RMJzQRKYpJwShEZ","¥n",
"ZJobeDRBc/ZnQwuvzeUhsZAkPdkAey1JHDiHGmFElVLBg2lO1Yoa/cAVllhgxtL30RF6bfkAPzAL","¥n",
"hkbzNi8K9K1pI1dVL6Fn5/KeXFXsIZQ2oVoZX5vjGsWkWSPFq5GvVzaDXbzGIVTXU129m4UmeCnK","¥n",
"WtlwGaJmoZgGIbkktHAZ1Cr1G3aldYrWDA2miIQ0oUgog6MAjLIYjLqqHtVxEwu4QGLPjQjgQlTO","¥n",
"NslUyQNLwO6OCRktLNIBaBOTIYNvpJsIKyotkASJupJyiREaUZHmpzESho0yzNPYgle5iovqzJmx","¥n",
"cD4Q2IXqCoc5s1rI52dxM3pGhAalgiGNsEzSN9LPQTh8qEoOZs3lBjwclIizK1V7SPxCapeMCC0p","¥n",
"E2FSEtNkQqFQDTzauT36Mwd2jnpcK0sqYYlbEMbNJugkUG8QoSjEUJEGUmGycySCQYUALnWE1Uqg","¥n",
"0Q1AFgz3Qwzzz36MTDmkYhmjNYIq4MYiKuCeHoDKliCGEKMXANjKlsFMGAGQrEmGggQWkgUwoDBg","¥n",
"EphtQNELMq4ZVA5FkBqY1ehXXR7ZrUNNLfBu3CNCC4D2Y8FINKYbGHaqddOo4Xadgx0r3r3Yb6HV","¥n",
"bA9K9yKI2pnQLD9ACyDjp5C/d0HLDWWegmMaDhiVgjvDwkaipxjdY2hbDLN480DAD/ElmbOMEttb","¥n",
"m4g4CDVrFsICeSoBo39nf6IS2mTaF3GOl5Xo+twetIQ/4u5IpwoSFP2byqA=","¥n",
"EOF","¥n",
"tar xfj /tmp/Ec2SplitDnsKitLite.tar.bz2 -C /tmp/","¥n",
"mkdir -p /usr/local/etc/init","¥n",
"mkdir -p /usr/local/etc/bind/templates","¥n",
"cp /tmp/Ec2SplitDnsKitLite/init/ec2-set-hosts /usr/local/etc/init/","¥n",
"cp /tmp/Ec2SplitDnsKitLite/init/ec2-set-dns-zone /usr/local/etc/init/","¥n",
"cp /tmp/Ec2SplitDnsKitLite/templates/* /usr/local/etc/bind/templates/","¥n",
"mv /etc/bind/named.conf.local /etc/bind/named.conf.local.deb-orig","¥n",
"cp /tmp/Ec2SplitDnsKitLite/bind/named.conf.local /etc/bind/","¥n",
"mv /etc/bind/named.conf.options /etc/bind/named.conf.options.deb-orig","¥n",
"cp /tmp/Ec2SplitDnsKitLite/bind/named.conf.options /etc/bind/","¥n",
"chmod +x /usr/local/etc/init/ec2-set-hosts","¥n",
"chmod +x /usr/local/etc/init/ec2-set-dns-zone","¥n",
"ln -s /usr/local/etc/init/ec2-set-hosts /etc/rc2.d/S12ec2-set-hosts","¥n",
"ln -s /usr/local/etc/init/ec2-set-dns-zone /etc/rc2.d/S13ec2-set-dns-zone","¥n",
"echo ", {"Ref" : "MyHostName"}, " > /etc/hostname","¥n",
"/usr/local/etc/init/ec2-set-hosts","¥n",
"/usr/local/etc/init/ec2-set-dns-zone","¥n",
"/bin/hostname -F /etc/hostname","¥n",
"mv /etc/dhcp3/dhclient.conf /etc/dhcp3/dhclient.conf.deb-orig","¥n",
"sed -e 's/__DOMAIN__/", {"Ref" : "MyDomainName"}, "/g' /tmp/Ec2SplitDnsKitLite/dhcp3/dhclient.conf.tmpl > /etc/dhcp3/dhclient.conf","¥n",
"mv /etc/resolv.conf /etc/resolv.conf.deb-orig","¥n",
"sed -e 's/__DOMAIN__/", {"Ref" : "MyDomainName"}, "/g' /tmp/Ec2SplitDnsKitLite/dhcp3/resolv.conf.tmpl > /etc/resolv.conf","¥n",
"/etc/init.d/bind9 restart","¥n",
"service rsyslog restart","¥n",
"service cron restart","¥n",
"echo mysql-server-5.1 mysql-server/root_password password ", {"Ref" : "MySQLrootPwd"}, " | debconf-set-selections","¥n",
"echo mysql-server-5.1 mysql-server/root_password seen true | debconf-set-selections","¥n",
"echo mysql-server-5.1 mysql-server/root_password_again password ", {"Ref" : "MySQLrootPwd"}, " | debconf-set-selections","¥n",
"echo mysql-server-5.1 mysql-server/root_password_again seen true | debconf-set-selections","¥n",
"echo mysql-server-5.1 mysql-server/start_on_boot boolean true | debconf-set-selections","¥n",
"aptitude -y install mysql-server-5.1","¥n",
"aptitude -y install wordpress","¥n",
"a2enmod rewrite","¥n",
"/etc/init.d/apache2 stop","¥n",
"/bin/bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress localhost","¥n",
"mv /etc/wordpress /etc/wordpress-cfn","¥n",
"mv /usr/share/doc/wordpress /etc/wordpress-cfn/doc","¥n",
"apt-get -y remove wordpress","¥n",
"aptitude keep-all","¥n",
"aptitude -y purge wordpress","¥n",
"rm /var/www/localhost","¥n",
"rm -rf /var/www/wp-uploads","¥n",
"cat /etc/wordpress-cfn/config-localhost.php | fgrep -v '/localhost' > /etc/wordpress-cfn/config-cfn.php","¥n",
"chmod 640 /etc/wordpress-cfn/config-cfn.php","¥n",
"chgrp www-data /etc/wordpress-cfn/config-cfn.php","¥n",
"mv /etc/wordpress-cfn/wp-config.php /etc/wordpress-cfn/wp-config.php.deb-orig","¥n",
"cat <<EOF > /etc/wordpress-cfn/wp-config.php","¥n",
"<?php","¥n",
"require_once('/etc/wordpress-cfn/config-cfn.php');","¥n",
"¥n",
"define('WP_CORE_UPDATE', true);","¥n",
"define('DB_CHARSET', 'utf8');","¥n",
"define('DB_COLLATE', '');","¥n",
"¥n",
"define('ABSPATH', '/var/www/blog/');","¥n",
"define('WP_DEBUG', false);","¥n",
"define('WPLANG', 'ja');","¥n",
"¥n",
"require_once(ABSPATH . 'wp-settings.php');","¥n",
"?>","¥n",
"EOF","¥n",
"cat <<EOF > /etc/wordpress-cfn/apache2.conf","¥n",
"<Directory /var/www/blog>","¥n",
"¥tOptions +FollowSymLinks","¥n",
"¥tAllowOverride FileInfo","¥n",
"¥tDirectoryIndex index.php","¥n",
"</Directory>","¥n",
"EOF","¥n",
"wget -qO - http://ja.wordpress.org/latest-ja.tar.gz > /tmp/wordpress-latest-ja.tar.gz","¥n",
"tar xfz /tmp/wordpress-latest-ja.tar.gz -C /var/www","¥n",
"mv /var/www/wordpress /var/www/blog","¥n",
"chown -R www-data:www-data /var/www/blog","¥n",
"ln -s /etc/wordpress-cfn/wp-config.php /var/www/blog/","¥n",
"ln -s /etc/wordpress-cfn/apache2.conf /etc/apache2/conf.d/wordpress.conf","¥n",
"echo phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2 | debconf-set-selections","¥n",
"echo phpmyadmin phpmyadmin/reconfigure-webserver seen true | debconf-set-selections","¥n",
"echo phpmyadmin phpmyadmin/dbconfig-install boolean true | debconf-set-selections","¥n",
"echo phpmyadmin phpmyadmin/dbconfig-install seen true | debconf-set-selections","¥n",
"echo phpmyadmin phpmyadmin/mysql/admin-pass password ", {"Ref" : "MySQLrootPwd"}, " | debconf-set-selections","¥n",
"echo phpmyadmin phpmyadmin/mysql/app-pass password ", {"Ref" : "PhpMyAdminPwd"}, " | debconf-set-selections","¥n",
"echo phpmyadmin phpmyadmin/app-password-confirm password ", {"Ref" : "PhpMyAdminPwd"}, " | debconf-set-selections","¥n",
"aptitude -y install phpmyadmin","¥n",
"cat <<EOF > /etc/phpmyadmin/apache2-auth.conf","¥n",
"<Directory /usr/share/phpmyadmin>","¥n",
"¥t<IfModule mod_authn_file.c>","¥n",
"¥tAuthType Basic","¥n",
"¥tAuthName ¥"phpMyAdmin auth¥"","¥n",
"¥tAuthUserFile /etc/phpmyadmin/htpasswd.admin","¥n",
"¥t</IfModule>","¥n",
"¥tRequire valid-user","¥n",
"</Directory>","¥n",
"EOF","¥n",
"cp /etc/phpmyadmin/htpasswd.setup /etc/phpmyadmin/htpasswd.admin","¥n",
"chgrp www-data /etc/phpmyadmin/htpasswd.admin","¥n",
"ln -s /etc/phpmyadmin/apache2-auth.conf /etc/apache2/conf.d/phpmyadmin-auth.conf","¥n",
"echo postfix postfix/main_mailer_type select Internet Site | debconf-set-selections","¥n",
"echo postfix postfix/main_mailer_type seen true | debconf-set-selections","¥n",
"echo postfix postfix/mailname string ", {"Ref" : "MyHostName"}, " | debconf-set-selections","¥n",
"echo postfix postfix/mailname seen true | debconf-set-selections","¥n",
"aptitude -y install postfix","¥n",
"/etc/init.d/apache2 start","¥n",
"aptitude -y install emacs23-nox","¥n" ]]}}
}
},
"InstanceSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "HTTP and SSH access",
"SecurityGroupIngress" : [ {
"IpProtocol" : "tcp",
"FromPort" : "22", "ToPort" : "22",
"CidrIp" : "0.0.0.0/0"
},{
"IpProtocol": "tcp",
"FromPort": { "Ref": "WebServerPort" },
"ToPort": { "Ref": "WebServerPort" },
"CidrIp": "0.0.0.0/0"
}
]
}
}
},
"Outputs" : {
"WordPress": {
"Value": { "Fn::Join": [ "", [ "http://", { "Fn::GetAtt": [ "Ec2Instance", "PublicIp" ] }, "/blog/" ]]},
"Description" : "URL of the WordPress website"
},
"phpMyAdmin": {
"Value": { "Fn::Join": [ "", [ "http://", { "Fn::GetAtt": [ "Ec2Instance", "PublicIp" ] }, "/phpmyadmin/" ]]},
"Description" : "URL of the phpMyAdmin. *** Requires authorization by default. You can manage usernames and passwords with htpasswd command in the /etc/phpmyadmin/htpasswd.admin file. ***"
},
"InstanceId" : {
"Value" : { "Ref" : "Ec2Instance" },
"Description" : "InstanceId of the newly created EC2 instance"
},
"AvailabilityZone" : {
"Value" : { "Fn::GetAtt" : [ "Ec2Instance", "AvailabilityZone" ] },
"Description" : "Availability Zone of the newly created EC2 instance"
},
"PublicIP" : {
"Value" : { "Fn::GetAtt" : [ "Ec2Instance", "PublicIp" ] },
"Description" : "Public IP address of the newly created EC2 instance"
},
"README" : {
"Value" : " ",
"Description" : "|||| Enable phpMyAdmin : sudo htpasswd /etc/phpmyadmin/htpasswd.admin admin |||| Change MySQL root passowrd : sudo dpkg-reconfigure mysql-server-5.1 |||| Change phpMyAdmin passowrd : sudo dpkg-reconfigure phpmyadmin ||||"
}
}
}
License
Split DNS を構成する為の、Python script は ubuntu の ec2-init から流用しています。サイズを圧縮する都合上削除したコメントを下記に記します。
# # Set up the hostname for ec2. # Copyright 2008 Canonical Ltd. # # Author: Chuck Short <chuck.short@canonical.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. #
Operations
実際には、ユニークなデータとして、MySQL の WordPress DB と wp-content の保存・同期の仕組みが必要。