phpmyadmin.sh 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. # https://www.phpmyadmin.net/
  2. mkdir /usr/serverok/
  3. rm -rf /usr/serverok/phpmyadmin
  4. cd /usr/local/src
  5. rm -f phpMyAdmin-latest-all-languages.tar.gz
  6. wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
  7. tar xvf phpMyAdmin-latest-all-languages.tar.gz
  8. mv phpMyAdmin-5.2.2-all-languages /usr/serverok/phpmyadmin
  9. cd /usr/local/src
  10. wget https://files.phpmyadmin.net/phpMyAdmin/4.9.11/phpMyAdmin-4.9.11-all-languages.tar.gz
  11. tar xvf phpMyAdmin-4.9.11-all-languages.tar.gz
  12. mv phpMyAdmin-4.9.11-all-languages /usr/serverok/phpmyadmin
  13. cd /usr/serverok/phpmyadmin/
  14. mkdir tmp
  15. chmod 777 tmp
  16. cp config.sample.inc.php config.inc.php
  17. sed -i 's/$cfg\[.blowfish_secret.\] = .*$/$cfg\["blowfish_secret"\] = "ohhae8Fa6oJohrohng0ieV0to3aiThae";/g' config.inc.php
  18. vi /etc/httpd/conf.d/phpmyadmin.conf
  19. vi /etc/apache2/conf-enabled/phpmyadmin.conf
  20. Alias /phpmyadmin "/usr/serverok/phpmyadmin"
  21. <Directory "/usr/serverok/phpmyadmin">
  22. AllowOverride All
  23. Options FollowSymlinks
  24. Order allow,deny
  25. Allow from all
  26. <IfModule mod_authz_core.c>
  27. <RequireAny>
  28. Require all granted
  29. </RequireAny>
  30. </IfModule>
  31. </Directory>
  32. systemctl restart apache2
  33. service httpd restart
  34. chcon -R -t httpd_sys_rw_content_t /usr/serverok/phpmyadmin/tmp/
  35. https://gist.github.com/serverok/9627c6fcb39d4ba11c4a109222ec36b1
  36. curl -s https://raw.githubusercontent.com/serverok/server-setup/master/data/debian/nginx-phpmyadmin.conf -o /etc/nginx/pma.conf
  37. cat /etc/nginx/pma.conf
  38. vi /etc/nginx/sites-enabled/default
  39. include /etc/nginx/pma.conf;
  40. location /phpmyadmin {
  41. client_max_body_size 200M;
  42. proxy_read_timeout 600s;
  43. fastcgi_read_timeout 600s;
  44. fastcgi_send_timeout 600s;
  45. root /usr/serverok/;
  46. index index.php;
  47. location ~ ^/phpmyadmin/(.*\.php)$ {
  48. include snippets/fastcgi-php.conf;
  49. proxy_read_timeout 180;
  50. fastcgi_intercept_errors on;
  51. fastcgi_buffers 16 16k;
  52. fastcgi_buffer_size 32k;
  53. fastcgi_pass unix:/run/php/php7.3-fpm.sock;
  54. }
  55. }
  56. location /phpmyadmin {
  57. client_max_body_size 200M;
  58. proxy_read_timeout 600s;
  59. fastcgi_read_timeout 600s;
  60. fastcgi_send_timeout 600s;
  61. root /usr/serverok/;
  62. index index.php index.html index.htm;
  63. location ~ ^/phpmyadmin/(.+\.php)$ {
  64. try_files $uri =404;
  65. root /usr/serverok/;
  66. fastcgi_pass 127.0.0.1:9000;
  67. fastcgi_index index.php;
  68. fastcgi_param SCRIPT_FILENAME $request_filename;
  69. include /etc/nginx/fastcgi_params;
  70. fastcgi_param PATH_INFO $fastcgi_script_name;
  71. fastcgi_buffer_size 128k;
  72. fastcgi_buffers 256 4k;
  73. fastcgi_busy_buffers_size 256k;
  74. fastcgi_temp_file_write_size 256k;
  75. # if on, no errors will be shown.
  76. fastcgi_intercept_errors off;
  77. }
  78. location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
  79. root /usr/serverok/;
  80. }
  81. }
  82. vi /etc/nginx/sites-enabled/phpmyadmin.conf
  83. vi /etc/nginx/conf.d/phpmyadmin.conf
  84. server {
  85. listen *:7777;
  86. server_name _;
  87. root /usr/serverok/phpmyadmin/;
  88. index index.php;
  89. client_max_body_size 500M;
  90. proxy_read_timeout 600s;
  91. fastcgi_read_timeout 600s;
  92. fastcgi_send_timeout 600s;
  93. location = /favicon.ico {
  94. log_not_found off;
  95. access_log off;
  96. }
  97. location = /robots.txt {
  98. allow all;
  99. log_not_found off;
  100. access_log off;
  101. }
  102. location / {
  103. try_files $uri $uri/ /index.php?$args;
  104. }
  105. location ~ \.php$ {
  106. include snippets/fastcgi-php.conf;
  107. fastcgi_intercept_errors on;
  108. fastcgi_buffers 16 16k;
  109. fastcgi_buffer_size 32k;
  110. fastcgi_pass unix:/run/php/php8.2-fpm.sock;
  111. }
  112. }
  113. If CentOS
  114. location ~ \.php$ {
  115. try_files $uri =404;
  116. fastcgi_split_path_info ^(.+\.php)(/.+)$;
  117. fastcgi_pass 127.0.0.1:9000;
  118. fastcgi_index index.php;
  119. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  120. include fastcgi_params;
  121. }
  122. vi /etc/apache2/sites-enabled/phpmyadmin.conf
  123. Listen 7777
  124. <VirtualHost *:7777>
  125. DocumentRoot /usr/serverok/phpmyadmin/
  126. CustomLog ${APACHE_LOG_DIR}/pma.log combined
  127. <Directory "/usr/serverok/phpmyadmin">
  128. Options All
  129. AllowOverride All
  130. Require all granted
  131. Order allow,deny
  132. allow from all
  133. </Directory>
  134. </VirtualHost>
  135. systemctl restart apache2
  136. Listen 7777
  137. <VirtualHost *:7777>
  138. DocumentRoot /usr/serverok/phpmyadmin/
  139. CustomLog ${APACHE_LOG_DIR}/pma.log combined
  140. <FilesMatch \.php$>
  141. SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
  142. </FilesMatch>
  143. <Directory "/usr/serverok/phpmyadmin">
  144. Options All
  145. AllowOverride All
  146. Require all granted
  147. Order allow,deny
  148. allow from all
  149. </Directory>
  150. </VirtualHost>
  151. vi /etc/httpd/conf.d/phpmyadmin.conf
  152. Listen 7777
  153. <VirtualHost *:7777>
  154. DocumentRoot /usr/serverok/phpmyadmin/
  155. CustomLog /var/log/httpd/pma.log combined
  156. <Directory "/usr/serverok/phpmyadmin">
  157. Options All
  158. AllowOverride All
  159. Require all granted
  160. Order allow,deny
  161. allow from all
  162. </Directory>
  163. </VirtualHost>
  164. =============================================================================
  165. Normal User
  166. =============================================================================
  167. MariaDB/MySQL 5.7
  168. CREATE DATABASE DB_NAME;
  169. GRANT ALL PRIVILEGES ON DB_NAME.* to 'USERNAME'@'localhost' IDENTIFIED BY 'MYSQL_PASSWORD';
  170. MySQL 8
  171. CREATE DATABASE DB_NAME;
  172. CREATE USER 'USERNAME'@'localhost' IDENTIFIED BY 'MYSQL_PASSWORD';
  173. GRANT ALL PRIVILEGES ON DB_NAME.* TO 'USERNAME'@'localhost';
  174. FLUSH PRIVILEGES;
  175. ALTER USER 'admin'@'%' IDENTIFIED BY 'NewPassword';
  176. =============================================================================
  177. ROOT USER
  178. =============================================================================
  179. GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'MYSQL_PASSWORD' WITH GRANT OPTION;
  180. GRANT PROXY ON ''@'' TO 'admin'@'localhost' WITH GRANT OPTION;
  181. CREATE USER 'admin'@'%' IDENTIFIED BY 'AEs308SuEtT0Hs';
  182. GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
  183. MySQL 8
  184. CREATE USER 'admin'@'localhost' IDENTIFIED BY '123';
  185. GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
  186. FLUSH PRIVILEGES;
  187. revoke all SUPER privileges from users other than root.
  188. UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
  189. FLUSH PRIVILEGES;
  190. /etc/phpmyadmin/config.inc.php
  191. $cfg["blowfish_secret"] = "ohhae8Fa6oJohrohng0ieV0to3aiThae";
  192. https://stackoverflow.com/questions/48001569/phpmyadmin-count-parameter-must-be-an-array-or-an-object-that-implements-co/49483740#49483740
  193. MySQL 8 root (show grants;)
  194. GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `admin`@`localhost` WITH GRANT OPTION;
  195. GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `admin`@`localhost` WITH GRANT OPTION;
  196. GRANT PROXY ON ''@'' TO 'admin'@'localhost' WITH GRANT OPTION;
  197. DELETE A User
  198. DROP USER 'admin2'@'localhost';
  199. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Zu5riT1i-sAUwTwsN';
  200. SELECT user,host,plugin FROM mysql.user;
  201. UPDATE mysql.user SET Plugin='' WHERE user='root';
  202. UPDATE mysql.user SET Plugin='auth_socket' WHERE user='root';
  203. UPDATE mysql.user SET Plugin='caching_sha2_password' WHERE user='root';
  204. UPDATE mysql.user SET Plugin='mysql_native_password' WHERE user='root';
  205. ALTER USER 'colegiomedico_atom'@'localhost' IDENTIFIED BY 'new_password_here';
  206. SET PASSWORD FOR 'colegiomedico_atom'@'localhost' = PASSWORD('new_password_here');
  207. FLUSH PRIVILEGES;
  208. If you're changing your own password (the user you're currently logged in as), you can simply use:
  209. ALTER USER USER() IDENTIFIED BY 'new_password_here';