check-dependencies 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. #!/usr/bin/env bash
  2. # Define colors for formatting
  3. RED='\033[0;31m'
  4. GREEN='\033[0;32m'
  5. YELLOW='\033[0;33m'
  6. BLUE='\033[0;34m'
  7. NC='\033[0m' # No Color
  8. # Function to display the script header
  9. show_header() {
  10. echo -e "${GREEN}============================================${NC}"
  11. echo -e "${GREEN} Magento 2 System Requirements Checker${NC}"
  12. echo -e "${GREEN}============================================${NC}"
  13. echo
  14. }
  15. # Function to display version groups
  16. show_version_groups() {
  17. echo -e "${BLUE}Available Magento version groups:${NC}"
  18. echo "1) 2.4.7.x (2.4.7, 2.4.7-p1, 2.4.7-p2, 2.4.7-p3)"
  19. echo "2) 2.4.6.x (2.4.6 through 2.4.6-p8)"
  20. echo "3) 2.4.5.x (2.4.5 through 2.4.5-p10)"
  21. echo "4) 2.4.4.x (2.4.4 through 2.4.4-p11)"
  22. echo "5) 2.4.3.x (2.4.3-p3)"
  23. echo "6) 2.4.2.x (2.4.2-p2)"
  24. echo
  25. }
  26. # Function to display requirements for a specific version group
  27. show_requirements() {
  28. local version_group=$1
  29. echo -e "${GREEN}System Requirements for Magento ${version_group}:${NC}"
  30. echo -e "${YELLOW}Required Components:${NC}"
  31. case $version_group in
  32. "2.4.7.x")
  33. echo "• PHP: 8.3, 8.2"
  34. echo "• Composer: 2.7"
  35. echo "• Database:"
  36. echo " - MySQL: 8.0"
  37. echo " - MariaDB: 10.6"
  38. echo "• Search: "
  39. echo " - Elasticsearch: 8.11"
  40. echo " - OpenSearch: 2.12"
  41. echo "• Cache/Session:"
  42. echo " - Redis: 7.2"
  43. echo "• Message Queue:"
  44. echo " - RabbitMQ: 3.13"
  45. echo "• Web Server:"
  46. echo " - Apache: 2.4"
  47. echo " - Nginx: 1.24"
  48. echo "• Varnish: 7.5"
  49. echo -e "${BLUE}Supported AWS Services:${NC}"
  50. echo "• Aurora (MySQL): 8.0"
  51. echo "• S3: ✔️"
  52. echo "• MQ: 3.11.20"
  53. echo "• ElastiCache: Redis7.0"
  54. echo "• OpenSearch: 2.11"
  55. ;;
  56. "2.4.6.x")
  57. echo "• PHP: 8.2, 8.1"
  58. echo "• Composer: 2.2"
  59. echo "• Database:"
  60. echo " - MySQL: 8.0"
  61. echo " - MariaDB: 10.6"
  62. echo "• Search: "
  63. echo " - Elasticsearch: 8.11, 7.17"
  64. echo " - OpenSearch: 2.12"
  65. echo "• Cache/Session:"
  66. echo " - Redis: 7.0"
  67. echo "• Message Queue:"
  68. echo " - RabbitMQ: 3.13"
  69. echo "• Web Server:"
  70. echo " - Apache: 2.4"
  71. echo " - Nginx: 1.24"
  72. echo "• Varnish: 7.5"
  73. echo -e "${BLUE}Supported AWS Services:${NC}"
  74. echo "• Aurora (MySQL): 8.0"
  75. echo "• S3: ✔️"
  76. echo "• MQ: 3.9.16"
  77. echo "• ElastiCache: Redis6.2"
  78. echo "• OpenSearch: 1.2"
  79. ;;
  80. "2.4.5.x")
  81. echo "• PHP: 8.1"
  82. echo "• Composer: 2.2"
  83. echo "• Database:"
  84. echo " - MySQL: 8.0"
  85. echo " - MariaDB: 10.4"
  86. echo "• Search: "
  87. echo " - Elasticsearch: 7.17"
  88. echo " - OpenSearch: 1.2"
  89. echo "• Cache/Session:"
  90. echo " - Redis: 6.2"
  91. echo "• Message Queue:"
  92. echo " - RabbitMQ: 3.11, 3.9"
  93. echo "• Web Server:"
  94. echo " - Apache: 2.4"
  95. echo " - Nginx: 1.24"
  96. echo "• Varnish: 7.3"
  97. echo -e "${BLUE}Supported AWS Services:${NC}"
  98. echo "• Aurora (MySQL): 8.0"
  99. echo "• S3: ✔️"
  100. echo "• MQ: 3.9.13"
  101. echo "• ElastiCache: Redis6"
  102. echo "• OpenSearch: 1.2"
  103. ;;
  104. "2.4.4.x")
  105. echo "• PHP: 8.1"
  106. echo "• Composer: 2.2"
  107. echo "• Database:"
  108. echo " - MySQL: 8.0"
  109. echo " - MariaDB: 10.4"
  110. echo "• Search: "
  111. echo " - Elasticsearch: 7.17"
  112. echo " - OpenSearch: 1.2"
  113. echo "• Cache/Session:"
  114. echo " - Redis: 6.2"
  115. echo "• Message Queue:"
  116. echo " - RabbitMQ: 3.9"
  117. echo "• Web Server:"
  118. echo " - Apache: 2.4"
  119. echo " - Nginx: 1.24"
  120. echo "• Varnish: 7.3"
  121. echo -e "${YELLOW}NOTE: Supports MySQL 8.0.0 through 8.0.28 only${NC}"
  122. echo -e "${BLUE}Supported AWS Services:${NC}"
  123. echo "• Aurora (MySQL): 8.0"
  124. echo "• S3: ✔️"
  125. echo "• MQ: 3.9.13"
  126. echo "• ElastiCache: Redis6"
  127. echo "• OpenSearch: 1.2"
  128. ;;
  129. "2.4.3.x")
  130. echo "• PHP: 7.4"
  131. echo "• Composer: 1"
  132. echo "• Database:"
  133. echo " - MySQL: 8.0"
  134. echo " - MariaDB: 10.4"
  135. echo "• Search: "
  136. echo " - Elasticsearch: 7.16"
  137. echo " - OpenSearch: 1.2"
  138. echo "• Cache/Session:"
  139. echo " - Redis: 6.0"
  140. echo "• Message Queue:"
  141. echo " - RabbitMQ: 3.8"
  142. echo "• Web Server:"
  143. echo " - Apache: 2.4"
  144. echo " - Nginx: 1.18"
  145. echo "• Varnish: 6.5"
  146. echo -e "${BLUE}Supported AWS Services:${NC}"
  147. echo "• Aurora (MySQL): 5.7"
  148. echo "• S3: ✔️"
  149. echo "• MQ: 3.8.11"
  150. echo "• ElastiCache: Redis6"
  151. echo "• Elasticsearch: 7.9"
  152. ;;
  153. "2.4.2.x")
  154. echo "• PHP: 7.4"
  155. echo "• Composer: 1"
  156. echo "• Database:"
  157. echo " - MySQL: 8.0"
  158. echo " - MariaDB: 10.4"
  159. echo "• Search: "
  160. echo " - Elasticsearch: 7.9"
  161. echo "• Cache/Session:"
  162. echo " - Redis: 6.0"
  163. echo "• Message Queue:"
  164. echo " - RabbitMQ: 3.8"
  165. echo "• Web Server:"
  166. echo " - Apache: 2.4"
  167. echo " - Nginx: 1.18"
  168. echo "• Varnish: 6.4"
  169. echo -e "${BLUE}Supported AWS Services:${NC}"
  170. echo "• S3: ✔️"
  171. echo "• Elasticsearch: 7.9"
  172. ;;
  173. *)
  174. echo -e "${RED}Version group not found${NC}"
  175. ;;
  176. esac
  177. }
  178. # Function to show additional information
  179. show_additional_info() {
  180. echo -e "${BLUE}Additional Information:${NC}"
  181. echo "• Full system requirements documentation: https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/system-requirements.html"
  182. echo "• Magento DevDocs: https://developer.adobe.com/commerce/docs/"
  183. echo "• Security Best Practices: https://experienceleague.adobe.com/docs/commerce-operations/implementation-playbook/best-practices/security/overview.html"
  184. }
  185. # Main script execution
  186. clear
  187. show_header
  188. while true; do
  189. show_version_groups
  190. echo -e "${YELLOW}Options:${NC}"
  191. echo "1-6) Select version group"
  192. echo "i) Additional Information"
  193. echo "q) Quit"
  194. echo
  195. read -r -p "Enter your choice: " choice
  196. case $choice in
  197. q|Q)
  198. echo -e "${GREEN}Thank you for using the Magento System Requirements Checker!${NC}"
  199. exit 0
  200. ;;
  201. i|I)
  202. clear
  203. show_additional_info
  204. ;;
  205. 1)
  206. clear
  207. show_requirements "2.4.7.x"
  208. ;;
  209. 2)
  210. clear
  211. show_requirements "2.4.6.x"
  212. ;;
  213. 3)
  214. clear
  215. show_requirements "2.4.5.x"
  216. ;;
  217. 4)
  218. clear
  219. show_requirements "2.4.4.x"
  220. ;;
  221. 5)
  222. clear
  223. show_requirements "2.4.3.x"
  224. ;;
  225. 6)
  226. clear
  227. show_requirements "2.4.2.x"
  228. ;;
  229. *)
  230. echo -e "${RED}Invalid choice. Please try again.${NC}"
  231. ;;
  232. esac
  233. echo
  234. read -r -p "Press Enter to continue..."
  235. clear
  236. done