pma.sh 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. #!/bin/bash
  2. #
  3. # phpmyadmin-fixer
  4. #
  5. # Fixes for phpmyadmin (configuration storage and some extended features)
  6. #
  7. # Original Version by Pavel Galkin (https://skurudo.ru)
  8. # https://github.com/skurudo/phpmyadmin-fixer
  9. #
  10. # Changed some lines to fit to Hestia Configuration.
  11. #
  12. PASS=$(gen_pass)
  13. #ubuntu phpmyadmin path
  14. pmapath1="/etc/phpmyadmin/config.inc.php"
  15. pmapath2="/usr/share/phpmyadmin/config.sample.inc.php"
  16. #delete old and paste new value
  17. sed -i '/pmadb/d' $pmapath1
  18. sed -i '/controluser/d' $pmapath1
  19. sed -i '/bookmarktable/d' $pmapath1
  20. sed -i '/relation/d' $pmapath1
  21. sed -i '/userconfig/d' $pmapath1
  22. sed -i '/table_info/d' $pmapath1
  23. sed -i '/column_info/d' $pmapath1
  24. sed -i '/history/d' $pmapath1
  25. sed -i '/recent/d' $pmapath1
  26. sed -i '/table_uiprefs/d' $pmapath1
  27. sed -i '/tracking/d' $pmapath1
  28. sed -i '/table_coords/d' $pmapath1
  29. sed -i '/pdf_pages/d' $pmapath1
  30. sed -i '/designer_coords/d' $pmapath1
  31. sed -i '/controlpass/d' $pmapath1
  32. sed -i '/\$i = 1; /d' $pmapath1
  33. echo "\$i = 1;" >> $pmapath1
  34. sed -i '/savedsearches/d' $pmapath1
  35. sed -i '/navigationhiding/d' $pmapath1
  36. sed -i '/users/d' $pmapath1
  37. sed -i '/controlpass/d' $pmapath1
  38. sed -i '/favorite/d' $pmapath1
  39. sed -i '/usergroups/d' $pmapath1
  40. sed -i '/central_columns/d' $pmapath1
  41. sed -i '/designer_settings/d' $pmapath1
  42. sed -i '/export_templates/d' $pmapath1
  43. echo "\$cfg['Servers'][\$i]['favorite'] = 'pma__favorite';" >> $pmapath1
  44. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath1
  45. echo "\$cfg['Servers'][\$i]['central_columns'] = 'pma__central_columns';" >> $pmapath1
  46. echo "\$cfg['Servers'][\$i]['designer_settings'] = 'pma__designer_settings';" >> $pmapath1
  47. echo "\$cfg['Servers'][\$i]['export_templates'] = 'pma__export_templates';" >> $pmapath1
  48. echo "\$cfg['Servers'][\$i]['savedsearches'] = 'pma__savedsearches';" >> $pmapath1
  49. echo "\$cfg['Servers'][\$i]['navigationhiding'] = 'pma__navigationhiding';" >> $pmapath1
  50. echo "\$cfg['Servers'][\$i]['users'] = 'pma__users';" >> $pmapath1
  51. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath1
  52. echo "\$cfg['Servers'][\$i]['pmadb'] = 'phpmyadmin';" >> $pmapath1
  53. echo "\$cfg['Servers'][\$i]['controluser'] = 'pma';" >> $pmapath1
  54. echo "\$cfg['Servers'][\$i]['controlpass'] = '$PASS';" >> $pmapath1
  55. echo "\$cfg['Servers'][\$i]['bookmarktable'] = 'pma__bookmark';" >> $pmapath1
  56. echo "\$cfg['Servers'][\$i]['relation'] = 'pma__relation';" >> $pmapath1
  57. echo "\$cfg['Servers'][\$i]['userconfig'] = 'pma__userconfig';" >> $pmapath1
  58. echo "\$cfg['Servers'][\$i]['table_info'] = 'pma__table_info';" >> $pmapath1
  59. echo "\$cfg['Servers'][\$i]['column_info'] = 'pma__column_info';" >> $pmapath1
  60. echo "\$cfg['Servers'][\$i]['history'] = 'pma__history';" >> $pmapath1
  61. echo "\$cfg['Servers'][\$i]['recent'] = 'pma__recent';" >> $pmapath1
  62. echo "\$cfg['Servers'][\$i]['table_uiprefs'] = 'pma__table_uiprefs';" >> $pmapath1
  63. echo "\$cfg['Servers'][\$i]['tracking'] = 'pma__tracking';" >> $pmapath1
  64. echo "\$cfg['Servers'][\$i]['table_coords'] = 'pma__table_coords';" >> $pmapath1
  65. echo "\$cfg['Servers'][\$i]['pdf_pages'] = 'pma__pdf_pages';" >> $pmapath1
  66. echo "\$cfg['Servers'][\$i]['designer_coords'] = 'pma__designer_coords';" >> $pmapath1
  67. sed -i '/pmadb/d' $pmapath2
  68. sed -i '/controluser/d' $pmapath2
  69. sed -i '/bookmarktable/d' $pmapath2
  70. sed -i '/relation/d' $pmapath2
  71. sed -i '/userconfig/d' $pmapath2
  72. sed -i '/table_info/d' $pmapath2
  73. sed -i '/column_info/d' $pmapath2
  74. sed -i '/history/d' $pmapath2
  75. sed -i '/recent/d' $pmapath2
  76. sed -i '/table_uiprefs/d' $pmapath2
  77. sed -i '/tracking/d' $pmapath2
  78. sed -i '/table_coords/d' $pmapath2
  79. sed -i '/pdf_pages/d' $pmapath2
  80. sed -i '/designer_coords/d' $pmapath2
  81. sed -i '/controlpass/d' $pmapath2
  82. sed -i '/savedsearches/d' $pmapath2
  83. sed -i '/navigationhiding/d' $pmapath2
  84. sed -i '/users/d' $pmapath2
  85. sed -i '/controlpass/d' $pmapath2
  86. sed -i '/favorite/d' $pmapath2
  87. sed -i '/usergroups/d' $pmapath2
  88. sed -i '/central_columns/d' $pmapath2
  89. sed -i '/designer_settings/d' $pmapath2
  90. sed -i '/export_templates/d' $pmapath2
  91. echo "\$cfg['Servers'][\$i]['favorite'] = 'pma__favorite';" >> $pmapath2
  92. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath2
  93. echo "\$cfg['Servers'][\$i]['central_columns'] = 'pma__central_columns';" >> $pmapath2
  94. echo "\$cfg['Servers'][\$i]['designer_settings'] = 'pma__designer_settings';" >> $pmapath2
  95. echo "\$cfg['Servers'][\$i]['export_templates'] = 'pma__export_templates';" >> $pmapath2
  96. echo "\$cfg['Servers'][\$i]['savedsearches'] = 'pma__savedsearches';" >> $pmapath2
  97. echo "\$cfg['Servers'][\$i]['navigationhiding'] = 'pma__navigationhiding';" >> $pmapath2
  98. echo "\$cfg['Servers'][\$i]['users'] = 'pma__users';" >> $pmapath2
  99. echo "\$cfg['Servers'][\$i]['usergroups'] = 'pma__usergroups';" >> $pmapath2
  100. echo "\$cfg['Servers'][\$i]['pmadb'] = 'phpmyadmin';" >> $pmapath2
  101. echo "\$cfg['Servers'][\$i]['controluser'] = 'pma';" >> $pmapath2
  102. echo "\$cfg['Servers'][\$i]['controlpass'] = '$PASS';" >> $pmapath2
  103. echo "\$cfg['Servers'][\$i]['bookmarktable'] = 'pma__bookmark';" >> $pmapath2
  104. echo "\$cfg['Servers'][\$i]['relation'] = 'pma__relation';" >> $pmapath2
  105. echo "\$cfg['Servers'][\$i]['userconfig'] = 'pma__userconfig';" >> $pmapath2
  106. echo "\$cfg['Servers'][\$i]['table_info'] = 'pma__table_info';" >> $pmapath2
  107. echo "\$cfg['Servers'][\$i]['column_info'] = 'pma__column_info';" >> $pmapath2
  108. echo "\$cfg['Servers'][\$i]['history'] = 'pma__history';" >> $pmapath2
  109. echo "\$cfg['Servers'][\$i]['recent'] = 'pma__recent';" >> $pmapath2
  110. echo "\$cfg['Servers'][\$i]['table_uiprefs'] = 'pma__table_uiprefs';" >> $pmapath2
  111. echo "\$cfg['Servers'][\$i]['tracking'] = 'pma__tracking';" >> $pmapath2
  112. echo "\$cfg['Servers'][\$i]['table_coords'] = 'pma__table_coords';" >> $pmapath2
  113. echo "\$cfg['Servers'][\$i]['pdf_pages'] = 'pma__pdf_pages';" >> $pmapath2
  114. echo "\$cfg['Servers'][\$i]['designer_coords'] = 'pma__designer_coords';" >> $pmapath2
  115. #SOME WORK with DATABASE (table / user)
  116. PMADB=phpmyadmin
  117. PMAUSER=pma
  118. #DROP USER and TABLE
  119. mysql -uroot <<MYSQL_PMA1
  120. DROP USER '$PMAUSER'@'localhost';
  121. DROP DATABASE $PMADB;
  122. FLUSH PRIVILEGES;
  123. MYSQL_PMA1
  124. #CREATE PMA USER
  125. mysql -uroot <<MYSQL_PMA2
  126. CREATE USER '$PMAUSER'@'localhost' IDENTIFIED BY '$PASS';
  127. CREATE DATABASE $PMADB;
  128. MYSQL_PMA2
  129. #GRANT PMA USE SOME RIGHTS
  130. mysql -uroot <<MYSQL_PMA3
  131. USE $PMADB;
  132. GRANT USAGE ON $PMADB.* TO '$PMAUSER'@'localhost' IDENTIFIED BY '$PASS';
  133. GRANT ALL PRIVILEGES ON $PMADB.* TO '$PMAUSER'@'localhost';
  134. FLUSH PRIVILEGES;
  135. MYSQL_PMA3
  136. #MYSQL DB and TABLES ADDITION
  137. mysql -uroot < $HESTIA_INSTALL_DIR/phpmyadmin/create_tables.sql