Advertisement
Guest User

Untitled

a guest
May 24th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.24 KB | None | 0 0
  1. heat_template_version: 2013-05-23
  2.  
  3. description: Simple template to deploy multi-tier LAMP stack
  4. resources:
  5. my_ApachePHP:
  6. type: OS::Nova::Server
  7. properties:
  8. networks:
  9. - network: portgroup
  10. image: linux_img
  11. flavor: m1.medium
  12. key_name: linux_key
  13. user_data_format: RAW
  14. user_data:
  15. str_replace:
  16. params:
  17. $LOGFILE : /tmp/installlog.log
  18. template: |
  19. #!/bin/bash -v
  20. die(){
  21. _WC-NOTIFY_ --data-binary '{"status": "FAILURE"}'
  22. exit 1
  23. }
  24. echo "Connecting to yum repository to install apache" > $LOGFILE
  25. echo `whoami` >> $LOGFILE
  26. echo "-------------------------------------------------------" >> $LOGFILE
  27. # If any command fails the deploy will fail immediately and an error message will be displayed.
  28. echo "Installing Apache Server" >> $LOGFILE
  29. echo "" >> $LOGFILE
  30. echo "-------------------------------------------------------" >> $LOGFILE
  31. yum install -y httpd >> $LOGFILE 2>&1 || die
  32. echo "Apache installed" >> $LOGFILE
  33. echo "-------------------------------------------------------" >> $LOGFILE
  34. echo "Starting httpd service" >> $LOGFILE
  35. /sbin/service httpd restart >> $LOGFILE 2>&1 || die
  36. echo "-------------------------------------------------------" >> $LOGFILE
  37. echo "Apache Server installed and started" >> $LOGFILE
  38. echo "" >> $LOGFILE
  39. echo "--------------------------------------------------------" >> $LOGFILE
  40. echo "Installing PHP Server" >> $LOGFILE
  41. echo "" >> $LOGFILE
  42. yum install -y php php-mysql >> $LOGFILE 2>&1 || die
  43. echo "Configure port for app on https" >> $LOGFILE
  44. sed -i "s/Listen 80/#Listen 80/g" /etc/httpd/conf/httpd.conf >> $LOGFILE 2>&1 || die
  45. echo "Performing mod_ssl and openssl install for https" >> $LOGFILE
  46. yum install -y mod_ssl openssl >> $LOGFILE 2>&1 || die
  47. echo "Updating ipaddress" >> $LOGFILE
  48. ipaddr=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
  49. echo "ServerName $ipaddr" >> /etc/httpd/conf/httpd.conf
  50. echo "Restarting Apache" >> $LOGFILE
  51. /sbin/service httpd restart >> $LOGFILE 2>&1 || die
  52. echo "Apache server restarted"
  53. echo "Disable firewall" >> $LOGFILE
  54. service iptables stop
  55.  
  56.  
  57. my_MySQL:
  58. type: OS::Nova::Server
  59. properties:
  60. networks:
  61. - network: portgroup
  62. image: linux_img
  63. flavor: m1.medium
  64. key_name: linux_key
  65. user_data_format: RAW
  66. user_data:
  67. str_replace:
  68. params:
  69. $LOGFILE : /tmp/installlog.log
  70. $UserID : mysqluser
  71. $Password : password
  72. $DBName : mysqldbinst1
  73. $MYSQLINSTALLER_HOME : /tmp/mysqlinstaller
  74. template: |
  75. #!/bin/bash -v
  76. die(){
  77. _WC-NOTIFY_ --data-binary '{"status": "FAILURE"}'
  78. exit 1
  79. }
  80. echo "Connecting to yum repository to install mysql" > $LOGFILE
  81. echo `whoami` >> $LOGFILE
  82. echo "-------------------------------------------------------" >> $LOGFILE
  83. echo "Installing MYSQL Server" >> $LOGFILE
  84. echo "" >> $LOGFILE
  85. echo "Installing MYSQL Server" >> $LOGFILE
  86. echo "" >> $LOGFILE
  87. echo "Performing Install of MySQL Libs if not installed already" >> $LOGFILE
  88. yum install -y mysql-libs >> $LOGFILE 2>&1 || die
  89. echo "Performing Install of MySQL Client" >> $LOGFILE
  90. yum install -y mysql >> $LOGFILE 2>&1 || die
  91. echo "Performing Install of MySQL PERL-DBI Libs if not already present" >> $LOGFILE
  92. yum install -y perl-DBI >> $LOGFILE 2>&1 || die
  93. echo "Performing Install of MySQL PERL DB Libs" >> $LOGFILE
  94. yum install -y perl-DBD-MySQL >> $LOGFILE 2>&1 || die
  95. echo "Performing Install of MySQL server" >> $LOGFILE
  96. yum install -y mysql-server >> $LOGFILE 2>&1 || die
  97. echo "Starting MySQL Server" >> $LOGFILE
  98. /sbin/chkconfig mysqld on >> $LOGFILE 2>&1 || die
  99. /sbin/service mysqld start >> $LOGFILE 2>&1 || die
  100. echo "DB Server Operations: Create user $UserID" >> $LOGFILE
  101. #create the simple user
  102. mysql -u root -e "CREATE USER '$UserID' IDENTIFIED by '$Password'" >> $LOGFILE 2>&1 || die
  103. mysql -u root -e "CREATE USER '$UserID'@'localhost' IDENTIFIED by '$Password'" >> $LOGFILE 2>&1 || die
  104. echo "DB Server Operations: Set user $UserID Privileges" >> $LOGFILE
  105. #set admin privileges to user
  106. mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$UserID'@'localhost' WITH GRANT OPTION" >> $LOGFILE 2>&1 || die
  107. mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$UserID'@'%' WITH GRANT OPTION" >> $LOGFILE 2>&1 || die
  108. echo "Disable firewall" >> $LOGFILE
  109. service iptables stop
  110. echo "Install of MySQL Completed" >> $LOGFILE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement