Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.96 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # phpmyadmin-fixer
  4. #
  5. # Fixes for phpmyadmin (configuration storage and some extended features)
  6. #
  7. # If you're tired from message - "The phpMyAdmin configuration storage
  8. # is not completely configured, some extended features have been deactivated",
  9. # this patch for you ;-)
  10. #
  11. #
  12. # https://github.com/skurudo/phpmyadmin-fixer
  13. # Author - Pavel Galkin (https://skurudo.ru)
  14. #
  15. # Code for check curl/wget
  16. # by Serghey Rodin (https://vestacp.com) from (https://github.com/serghey-rodin/vesta/)
  17. #
  18. # ...
  19. #
  20. echo "Phpmyadmin fixes for configuration storage and some  extended features";
  21. echo "................";
  22. echo "Let's do it";
  23. echo "............";
  24. echo "..........";
  25. echo ".........";
  26. echo "........";
  27. echo "......";
  28.  
  29. echo "Generate password for PMA (pma.txt)";
  30. PASS=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -c 32 ; echo`
  31. echo "PMA Password = $PASS";
  32.  
  33. #debian phpmyadmin path
  34. pmapath1="/etc/phpmyadmin/config.inc.php"
  35. pmapath2="/usr/share/phpmyadmin/config.sample.inc.php"
  36. cp $pmapath1 /root/config.inc.php.old
  37. cp $pmapath2 /root/config.inc.php.old2
  38.  
  39. #delete old and paste new value
  40. sed -i '/pmadb/d' $pmapath1
  41. sed -i '/controluser/d' $pmapath1
  42. sed -i '/bookmarktable/d' $pmapath1
  43. sed -i '/relation/d' $pmapath1
  44. sed -i '/userconfig/d' $pmapath1
  45. sed -i '/table_info/d' $pmapath1
  46. sed -i '/column_info/d' $pmapath1
  47. sed -i '/history/d' $pmapath1
  48. sed -i '/recent/d' $pmapath1
  49. sed -i '/table_uiprefs/d' $pmapath1
  50. sed -i '/tracking/d' $pmapath1
  51. sed -i '/table_coords/d' $pmapath1
  52. sed -i '/pdf_pages/d' $pmapath1
  53. sed -i '/designer_coords/d' $pmapath1
  54. sed -i '/controlpass/d' $pmapath1
  55. sed -i '/\$i = 1; /d' $pmapath1
  56. echo "\$i = 1;" >> $pmapath1
  57. sed -i '/savedsearches/d' $pmapath1
  58. sed -i '/navigationhiding/d' $pmapath1
  59. sed -i '/users/d' $pmapath1
  60. sed -i '/controlpass/d' $pmapath1
  61. sed -i '/favorite/d' $pmapath1
  62. sed -i '/usergroups/d' $pmapath1
  63. sed -i '/central_columns/d' $pmapath1
  64. sed -i '/designer_settings/d' $pmapath1
  65. sed -i '/export_templates/d' $pmapath1
  66. echo "\$cfg['Servers'][\$i]['favorite'] = 'pma__favorite';" >> $pmapath1
  67. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath1
  68. echo "\$cfg['Servers'][\$i]['central_columns'] = 'pma__central_columns';" >> $pmapath1
  69. echo "\$cfg['Servers'][\$i]['designer_settings'] = 'pma__designer_settings';" >> $pmapath1
  70. echo "\$cfg['Servers'][\$i]['export_templates'] = 'pma__export_templates';" >> $pmapath1
  71. echo "\$cfg['Servers'][\$i]['savedsearches'] = 'pma__savedsearches';" >> $pmapath1
  72. echo "\$cfg['Servers'][\$i]['navigationhiding'] = 'pma__navigationhiding';" >> $pmapath1
  73. echo "\$cfg['Servers'][\$i]['users'] = 'pma__users';" >> $pmapath1
  74. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath1
  75. echo "\$cfg['Servers'][\$i]['pmadb'] = 'phpmyadmin';" >> $pmapath1
  76. echo "\$cfg['Servers'][\$i]['controluser'] = 'pma';" >> $pmapath1
  77. echo "\$cfg['Servers'][\$i]['controlpass'] = '$PASS';" >> $pmapath1
  78. echo "\$cfg['Servers'][\$i]['bookmarktable'] = 'pma__bookmark';" >> $pmapath1
  79. echo "\$cfg['Servers'][\$i]['relation'] = 'pma__relation';" >> $pmapath1
  80. echo "\$cfg['Servers'][\$i]['userconfig'] = 'pma__userconfig';" >> $pmapath1
  81. echo "\$cfg['Servers'][\$i]['table_info'] = 'pma__table_info';" >> $pmapath1
  82. echo "\$cfg['Servers'][\$i]['column_info'] = 'pma__column_info';" >> $pmapath1
  83. echo "\$cfg['Servers'][\$i]['history'] = 'pma__history';" >> $pmapath1
  84. echo "\$cfg['Servers'][\$i]['recent'] = 'pma__recent';" >> $pmapath1
  85. echo "\$cfg['Servers'][\$i]['table_uiprefs'] = 'pma__table_uiprefs';" >> $pmapath1
  86. echo "\$cfg['Servers'][\$i]['tracking'] = 'pma__tracking';" >> $pmapath1
  87. echo "\$cfg['Servers'][\$i]['table_coords'] = 'pma__table_coords';" >> $pmapath1
  88. echo "\$cfg['Servers'][\$i]['pdf_pages'] = 'pma__pdf_pages';" >> $pmapath1
  89. echo "\$cfg['Servers'][\$i]['designer_coords'] = 'pma__designer_coords';" >> $pmapath1
  90.  
  91. sed -i '/pmadb/d' $pmapath2
  92. sed -i '/controluser/d' $pmapath2
  93. sed -i '/bookmarktable/d' $pmapath2
  94. sed -i '/relation/d' $pmapath2
  95. sed -i '/userconfig/d' $pmapath2
  96. sed -i '/table_info/d' $pmapath2
  97. sed -i '/column_info/d' $pmapath2
  98. sed -i '/history/d' $pmapath2
  99. sed -i '/recent/d' $pmapath2
  100. sed -i '/table_uiprefs/d' $pmapath2
  101. sed -i '/tracking/d' $pmapath2
  102. sed -i '/table_coords/d' $pmapath2
  103. sed -i '/pdf_pages/d' $pmapath2
  104. sed -i '/designer_coords/d' $pmapath2
  105. sed -i '/controlpass/d' $pmapath2
  106. sed -i '/savedsearches/d' $pmapath2
  107. sed -i '/navigationhiding/d' $pmapath2
  108. sed -i '/users/d' $pmapath2
  109. sed -i '/controlpass/d' $pmapath2
  110. sed -i '/favorite/d' $pmapath2
  111. sed -i '/usergroups/d' $pmapath2
  112. sed -i '/central_columns/d' $pmapath2
  113. sed -i '/designer_settings/d' $pmapath2
  114. sed -i '/export_templates/d' $pmapath2
  115. echo "\$cfg['Servers'][\$i]['favorite'] = 'pma__favorite';" >> $pmapath2
  116. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath2
  117. echo "\$cfg['Servers'][\$i]['central_columns'] = 'pma__central_columns';" >> $pmapath2
  118. echo "\$cfg['Servers'][\$i]['designer_settings'] = 'pma__designer_settings';" >> $pmapath2
  119. echo "\$cfg['Servers'][\$i]['export_templates'] = 'pma__export_templates';" >> $pmapath2
  120. echo "\$cfg['Servers'][\$i]['savedsearches'] = 'pma__savedsearches';" >> $pmapath2
  121. echo "\$cfg['Servers'][\$i]['navigationhiding'] = 'pma__navigationhiding';" >> $pmapath2
  122. echo "\$cfg['Servers'][\$i]['users'] = 'pma__users';" >> $pmapath2
  123. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath2
  124. echo "\$cfg['Servers'][\$i]['pmadb'] = 'phpmyadmin';" >> $pmapath2
  125. echo "\$cfg['Servers'][\$i]['controluser'] = 'pma';" >> $pmapath2
  126. echo "\$cfg['Servers'][\$i]['controlpass'] = '$PASS';" >> $pmapath2
  127. echo "\$cfg['Servers'][\$i]['bookmarktable'] = 'pma__bookmark';" >> $pmapath2
  128. echo "\$cfg['Servers'][\$i]['relation'] = 'pma__relation';" >> $pmapath2
  129. echo "\$cfg['Servers'][\$i]['userconfig'] = 'pma__userconfig';" >> $pmapath2
  130. echo "\$cfg['Servers'][\$i]['table_info'] = 'pma__table_info';" >> $pmapath2
  131. echo "\$cfg['Servers'][\$i]['column_info'] = 'pma__column_info';" >> $pmapath2
  132. echo "\$cfg['Servers'][\$i]['history'] = 'pma__history';" >> $pmapath2
  133. echo "\$cfg['Servers'][\$i]['recent'] = 'pma__recent';" >> $pmapath2
  134. echo "\$cfg['Servers'][\$i]['table_uiprefs'] = 'pma__table_uiprefs';" >> $pmapath2
  135. echo "\$cfg['Servers'][\$i]['tracking'] = 'pma__tracking';" >> $pmapath2
  136. echo "\$cfg['Servers'][\$i]['table_coords'] = 'pma__table_coords';" >> $pmapath2
  137. echo "\$cfg['Servers'][\$i]['pdf_pages'] = 'pma__pdf_pages';" >> $pmapath2
  138. echo "\$cfg['Servers'][\$i]['designer_coords'] = 'pma__designer_coords';" >> $pmapath2
  139.  
  140. #SOME WORK with DATABASE (table / user)
  141. PMADB=phpmyadmin
  142. PMAUSER=pma
  143.  
  144. #DROP USER and TABLE
  145. mysql -uroot -ptZWJClFODVQG  <<MYSQL_PMA1
  146. DROP USER '$PMAUSER'@'localhost';
  147. DROP DATABASE $PMADB;
  148. FLUSH PRIVILEGES;
  149. MYSQL_PMA1
  150.  
  151. #CREATE PMA USER
  152. mysql -uroot -ptZWJClFODVQG  <<MYSQL_PMA2
  153. CREATE USER '$PMAUSER'@'localhost' IDENTIFIED BY '$PASS';
  154. CREATE DATABASE $PMADB;
  155. MYSQL_PMA2
  156.  
  157. #GRANT PMA USE SOME RIGHTS
  158. mysql -uroot -ptZWJClFODVQG  <<MYSQL_PMA3
  159. USE $PMADB;
  160. GRANT USAGE ON $PMADB.* TO '$PMAUSER'@'localhost' IDENTIFIED BY '$PASS';
  161. GRANT ALL PRIVILEGES ON $PMADB.* TO '$PMAUSER'@'localhost';
  162. FLUSH PRIVILEGES;
  163. MYSQL_PMA3
  164.  
  165. #MYSQL DB and TABLES ADDITION
  166. echo "Download tables for our mysql server";
  167. wget --no-check-certificate https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/create_tables.sql;
  168.  
  169. # Check wget
  170. if [ -e '/usr/bin/wget' ]; then
  171.     echo "Download via wget" &&
  172.     wget --no-check-certificate https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/create_tables.sql;
  173.     else
  174.         echo "Error: download via wget failed"
  175. fi
  176.  
  177. # Check curl
  178. if [ -e '/usr/bin/curl' ]; then
  179.     echo "Download via curl" &&
  180.     curl -O -k https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/create_tables.sql;
  181.     else
  182.         echo "Error: download via curl failed."
  183. fi
  184.  
  185. mysql -uroot -ptZWJClFODVQG < create_tables.sql
  186.  
  187. echo "Delete temp files";
  188. rm create_tables.sql*
  189. echo "pma@localhost user password = $PASS" > pma.txt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement