Merge "Make YAML template easier to read"
This commit is contained in:
commit
9bcca34746
@ -1,35 +1,54 @@
|
||||
HeatTemplateFormatVersion: '2012-12-12'
|
||||
Description: 'AWS CloudFormation Sample Template WordPress_Single_Instance:
|
||||
WordPress is web software you can use to create a beautiful website or blog. This
|
||||
template installs a single-instance WordPress deployment using a local MySQL database
|
||||
to store the data.'
|
||||
Description: >-
|
||||
Heat Sample Template WordPress_Single_Instance:
|
||||
WordPress is web software you can use to create a beautiful website or blog.
|
||||
This template installs a single-instance WordPress deployment using a local
|
||||
MySQL database to store the data.
|
||||
Parameters:
|
||||
KeyName: {Description: Name of an existing EC2 KeyPair
|
||||
to enable SSH access to the instances, Type: String}
|
||||
KeyName:
|
||||
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
|
||||
Type: String
|
||||
InstanceType:
|
||||
Description: WebServer EC2 instance type
|
||||
Type: String
|
||||
Default: m1.small
|
||||
AllowedValues: [m1.tiny, m1.small, m1.medium, m1.large, m1.xlarge]
|
||||
ConstraintDescription: must be a valid EC2 instance type.
|
||||
DBName: {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.}
|
||||
DBUsername: {Default: admin, NoEcho: 'true',
|
||||
Description: The WordPress database admin account username, Type: String,
|
||||
MinLength: '1', MaxLength: '16', AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*',
|
||||
ConstraintDescription: must begin with a letter and contain only
|
||||
alphanumeric characters.}
|
||||
DBPassword: {Default: admin, NoEcho: 'true',
|
||||
Description: The WordPress database admin account password, Type: String,
|
||||
MinLength: '1', MaxLength: '41', AllowedPattern: '[a-zA-Z0-9]*',
|
||||
ConstraintDescription: must contain only alphanumeric characters.}
|
||||
DBRootPassword: {Default: admin, NoEcho: 'true',
|
||||
Description: Root password for MySQL, Type: String,
|
||||
MinLength: '1', MaxLength: '41', AllowedPattern: '[a-zA-Z0-9]*',
|
||||
ConstraintDescription: must contain only alphanumeric characters.}
|
||||
DBName:
|
||||
Description: The WordPress database name
|
||||
Type: String
|
||||
Default: wordpress
|
||||
MinLength: '1'
|
||||
MaxLength: '64'
|
||||
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
|
||||
ConstraintDescription: must begin with a letter and contain only alphanumeric characters.
|
||||
DBUsername:
|
||||
Description: The WordPress database admin account username
|
||||
Type: String
|
||||
Default: admin
|
||||
NoEcho: 'true'
|
||||
MinLength: '1'
|
||||
MaxLength: '16'
|
||||
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
|
||||
ConstraintDescription: must begin with a letter and contain only alphanumeric characters.
|
||||
DBPassword:
|
||||
Description: The WordPress database admin account password
|
||||
Type: String
|
||||
Default: admin
|
||||
NoEcho: 'true'
|
||||
MinLength: '1'
|
||||
MaxLength: '41'
|
||||
AllowedPattern: '[a-zA-Z0-9]*'
|
||||
ConstraintDescription: must contain only alphanumeric characters.
|
||||
DBRootPassword:
|
||||
Description: Root password for MySQL
|
||||
Type: String
|
||||
Default: admin
|
||||
NoEcho: 'true'
|
||||
MinLength: '1'
|
||||
MaxLength: '41'
|
||||
AllowedPattern: '[a-zA-Z0-9]*'
|
||||
ConstraintDescription: must contain only alphanumeric characters.
|
||||
LinuxDistribution:
|
||||
Default: F17
|
||||
Description: Distribution of choice
|
||||
@ -50,7 +69,7 @@ Mappings:
|
||||
RHEL-6.2: {'32': rhel62-i386-cfntools, '64': rhel62-x86_64-cfntools}
|
||||
RHEL-6.3: {'32': rhel63-i386-cfntools, '64': rhel63-x86_64-cfntools}
|
||||
Resources:
|
||||
WikiDatabase:
|
||||
WebServer:
|
||||
Type: AWS::EC2::Instance
|
||||
Metadata:
|
||||
AWS::CloudFormation::Init:
|
||||
@ -79,77 +98,62 @@ Resources:
|
||||
UserData:
|
||||
Fn::Base64:
|
||||
Fn::Join:
|
||||
- ''
|
||||
- - '#!/bin/bash -v
|
||||
|
||||
'
|
||||
- '/opt/aws/bin/cfn-init
|
||||
|
||||
'
|
||||
- '# Setup MySQL root password and create a user
|
||||
|
||||
'
|
||||
- mysqladmin -u root password '
|
||||
- {Ref: DBRootPassword}
|
||||
- '''
|
||||
|
||||
'
|
||||
- cat << EOF | mysql -u root --password='
|
||||
- {Ref: DBRootPassword}
|
||||
- '''
|
||||
|
||||
'
|
||||
- 'CREATE DATABASE '
|
||||
- {Ref: DBName}
|
||||
- ';
|
||||
|
||||
'
|
||||
- 'GRANT ALL PRIVILEGES ON '
|
||||
- {Ref: DBName}
|
||||
- .* TO "
|
||||
- {Ref: DBUsername}
|
||||
- '"@"localhost"
|
||||
|
||||
'
|
||||
- IDENTIFIED BY "
|
||||
- {Ref: DBPassword}
|
||||
- '";
|
||||
|
||||
'
|
||||
- 'FLUSH PRIVILEGES;
|
||||
|
||||
'
|
||||
- 'EXIT
|
||||
|
||||
'
|
||||
- 'EOF
|
||||
|
||||
'
|
||||
- 'sed -i "/Deny from All/d" /etc/httpd/conf.d/wordpress.conf
|
||||
|
||||
'
|
||||
- 'sed -i "s/Require local/Require all granted/" /etc/httpd/conf.d/wordpress.conf
|
||||
|
||||
'
|
||||
- sed --in-place --e s/database_name_here/
|
||||
- {Ref: DBName}
|
||||
- / --e s/username_here/
|
||||
- {Ref: DBUsername}
|
||||
- / --e s/password_here/
|
||||
- {Ref: DBPassword}
|
||||
- '/ /usr/share/wordpress/wp-config.php
|
||||
|
||||
'
|
||||
- 'systemctl restart httpd.service
|
||||
|
||||
'
|
||||
- "\n"
|
||||
- - "#!/bin/bash -v"
|
||||
- ""
|
||||
- /opt/aws/bin/cfn-init
|
||||
- ""
|
||||
- "# Setup MySQL root password and create a user"
|
||||
- Fn::Join:
|
||||
- ""
|
||||
- - "mysqladmin -u root password '"
|
||||
- {Ref: DBRootPassword}
|
||||
- "'"
|
||||
- Fn::Join:
|
||||
- ""
|
||||
- - "cat << EOF | mysql -u root --password='"
|
||||
- {Ref: DBRootPassword}
|
||||
- "'"
|
||||
- Fn::Join:
|
||||
- ""
|
||||
- - 'CREATE DATABASE '
|
||||
- {Ref: DBName}
|
||||
- ;
|
||||
- Fn::Join:
|
||||
- ""
|
||||
- - 'GRANT ALL PRIVILEGES ON '
|
||||
- {Ref: DBName}
|
||||
- '.* TO "'
|
||||
- {Ref: DBUsername}
|
||||
- '"@"localhost" '
|
||||
- 'IDENTIFIED BY "'
|
||||
- {Ref: DBPassword}
|
||||
- '";'
|
||||
- FLUSH PRIVILEGES;
|
||||
- EXIT
|
||||
- EOF
|
||||
- ""
|
||||
- sed -i "/Deny from All/d" /etc/httpd/conf.d/wordpress.conf
|
||||
- sed -i "s/Require local/Require all granted/" /etc/httpd/conf.d/wordpress.conf
|
||||
- Fn::Join:
|
||||
- ""
|
||||
- - 'sed -i '
|
||||
- -e s/database_name_here/
|
||||
- {Ref: DBName}
|
||||
- / -e s/username_here/
|
||||
- {Ref: DBUsername}
|
||||
- / -e s/password_here/
|
||||
- {Ref: DBPassword}
|
||||
- / /usr/share/wordpress/wp-config.php
|
||||
- ""
|
||||
- systemctl restart httpd.service
|
||||
Outputs:
|
||||
WebsiteURL:
|
||||
Value:
|
||||
Fn::Join:
|
||||
- ''
|
||||
- - http://
|
||||
- Fn::GetAtt: [WikiDatabase, PublicIp]
|
||||
- Fn::GetAtt: [WebServer, PublicIp]
|
||||
- /wordpress
|
||||
Description: URL for Wordpress wiki
|
||||
Description: URL for Wordpress service
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user