Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- heat_template_version: 2013-05-23
- description: Simple template to deploy multi-tier LAMP stack
- resources:
- my_ApachePHP:
- type: OS::Nova::Server
- properties:
- networks:
- - network: portgroup
- image: linux_img
- flavor: m1.medium
- key_name: linux_key
- user_data_format: RAW
- user_data:
- str_replace:
- params:
- $LOGFILE : /tmp/installlog.log
- template: |
- #!/bin/bash -v
- die(){
- _WC-NOTIFY_ --data-binary '{"status": "FAILURE"}'
- exit 1
- }
- echo "Connecting to yum repository to install apache" > $LOGFILE
- echo `whoami` >> $LOGFILE
- echo "-------------------------------------------------------" >> $LOGFILE
- # If any command fails the deploy will fail immediately and an error message will be displayed.
- echo "Installing Apache Server" >> $LOGFILE
- echo "" >> $LOGFILE
- echo "-------------------------------------------------------" >> $LOGFILE
- yum install -y httpd >> $LOGFILE 2>&1 || die
- echo "Apache installed" >> $LOGFILE
- echo "-------------------------------------------------------" >> $LOGFILE
- echo "Starting httpd service" >> $LOGFILE
- /sbin/service httpd restart >> $LOGFILE 2>&1 || die
- echo "-------------------------------------------------------" >> $LOGFILE
- echo "Apache Server installed and started" >> $LOGFILE
- echo "" >> $LOGFILE
- echo "--------------------------------------------------------" >> $LOGFILE
- echo "Installing PHP Server" >> $LOGFILE
- echo "" >> $LOGFILE
- yum install -y php php-mysql >> $LOGFILE 2>&1 || die
- echo "Configure port for app on https" >> $LOGFILE
- sed -i "s/Listen 80/#Listen 80/g" /etc/httpd/conf/httpd.conf >> $LOGFILE 2>&1 || die
- echo "Performing mod_ssl and openssl install for https" >> $LOGFILE
- yum install -y mod_ssl openssl >> $LOGFILE 2>&1 || die
- echo "Updating ipaddress" >> $LOGFILE
- ipaddr=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
- echo "ServerName $ipaddr" >> /etc/httpd/conf/httpd.conf
- echo "Restarting Apache" >> $LOGFILE
- /sbin/service httpd restart >> $LOGFILE 2>&1 || die
- echo "Apache server restarted"
- echo "Disable firewall" >> $LOGFILE
- service iptables stop
- my_MySQL:
- type: OS::Nova::Server
- properties:
- networks:
- - network: portgroup
- image: linux_img
- flavor: m1.medium
- key_name: linux_key
- user_data_format: RAW
- user_data:
- str_replace:
- params:
- $LOGFILE : /tmp/installlog.log
- $UserID : mysqluser
- $Password : password
- $DBName : mysqldbinst1
- $MYSQLINSTALLER_HOME : /tmp/mysqlinstaller
- template: |
- #!/bin/bash -v
- die(){
- _WC-NOTIFY_ --data-binary '{"status": "FAILURE"}'
- exit 1
- }
- echo "Connecting to yum repository to install mysql" > $LOGFILE
- echo `whoami` >> $LOGFILE
- echo "-------------------------------------------------------" >> $LOGFILE
- echo "Installing MYSQL Server" >> $LOGFILE
- echo "" >> $LOGFILE
- echo "Installing MYSQL Server" >> $LOGFILE
- echo "" >> $LOGFILE
- echo "Performing Install of MySQL Libs if not installed already" >> $LOGFILE
- yum install -y mysql-libs >> $LOGFILE 2>&1 || die
- echo "Performing Install of MySQL Client" >> $LOGFILE
- yum install -y mysql >> $LOGFILE 2>&1 || die
- echo "Performing Install of MySQL PERL-DBI Libs if not already present" >> $LOGFILE
- yum install -y perl-DBI >> $LOGFILE 2>&1 || die
- echo "Performing Install of MySQL PERL DB Libs" >> $LOGFILE
- yum install -y perl-DBD-MySQL >> $LOGFILE 2>&1 || die
- echo "Performing Install of MySQL server" >> $LOGFILE
- yum install -y mysql-server >> $LOGFILE 2>&1 || die
- echo "Starting MySQL Server" >> $LOGFILE
- /sbin/chkconfig mysqld on >> $LOGFILE 2>&1 || die
- /sbin/service mysqld start >> $LOGFILE 2>&1 || die
- echo "DB Server Operations: Create user $UserID" >> $LOGFILE
- #create the simple user
- mysql -u root -e "CREATE USER '$UserID' IDENTIFIED by '$Password'" >> $LOGFILE 2>&1 || die
- mysql -u root -e "CREATE USER '$UserID'@'localhost' IDENTIFIED by '$Password'" >> $LOGFILE 2>&1 || die
- echo "DB Server Operations: Set user $UserID Privileges" >> $LOGFILE
- #set admin privileges to user
- mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$UserID'@'localhost' WITH GRANT OPTION" >> $LOGFILE 2>&1 || die
- mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$UserID'@'%' WITH GRANT OPTION" >> $LOGFILE 2>&1 || die
- echo "Disable firewall" >> $LOGFILE
- service iptables stop
- echo "Install of MySQL Completed" >> $LOGFILE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement