check_download.sh 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860
  1. #!/bin/bash
  2. # Author: Alpha Eva <kaneawk AT gmail.com>
  3. #
  4. # Notes: OneinStack for CentOS/RedHat 6+ Debian 7+ and Ubuntu 12+
  5. #
  6. # Project home page:
  7. # https://oneinstack.com
  8. # https://github.com/oneinstack/oneinstack
  9. checkDownload() {
  10. mirrorLink=http://mirrors.linuxeye.com/oneinstack/src
  11. pushd ${oneinstack_dir}/src > /dev/null
  12. # General system utils
  13. if [[ ${tomcat_option} =~ ^[1-4]$ ]] || [[ ${apache_option} =~ ^[1-2]$ ]] || [[ ${php_option} =~ ^[1-8]$ ]]; then
  14. echo "Download openSSL..."
  15. src_url=https://www.openssl.org/source/openssl-${openssl_ver}.tar.gz && Download_src
  16. echo "Download cacert.pem..."
  17. src_url=https://curl.haxx.se/ca/cacert.pem && Download_src
  18. fi
  19. # jemalloc
  20. if [[ ${nginx_option} =~ ^[1-3]$ ]] || [[ "${db_option}" =~ ^[1-9]$|^1[0-3]$ ]]; then
  21. echo "Download jemalloc..."
  22. src_url=${mirrorLink}/jemalloc-${jemalloc_ver}.tar.bz2 && Download_src
  23. fi
  24. # nginx/tengine/openresty
  25. case "${nginx_option}" in
  26. 1)
  27. echo "Download openSSL1.1..."
  28. src_url=https://www.openssl.org/source/openssl-${openssl11_ver}.tar.gz && Download_src
  29. echo "Download nginx..."
  30. src_url=http://nginx.org/download/nginx-${nginx_ver}.tar.gz && Download_src
  31. ;;
  32. 2)
  33. echo "Download tengine..."
  34. src_url=http://tengine.taobao.org/download/tengine-${tengine_ver}.tar.gz && Download_src
  35. ;;
  36. 3)
  37. echo "Download openresty..."
  38. src_url=https://openresty.org/download/openresty-${openresty_ver}.tar.gz && Download_src
  39. ;;
  40. esac
  41. # pcre
  42. if [[ "${nginx_option}" =~ ^[1-3]$ || ${apache_option} == '1' ]]; then
  43. echo "Download pcre..."
  44. src_url=https://ftp.pcre.org/pub/pcre/pcre-${pcre_ver}.tar.gz && Download_src
  45. fi
  46. # apache
  47. case "${apache_option}" in
  48. 1)
  49. echo "Download apache 2.4..."
  50. src_url=http://archive.apache.org/dist/httpd/httpd-${apache24_ver}.tar.gz && Download_src
  51. src_url=http://archive.apache.org/dist/apr/apr-${apr_ver}.tar.gz && Download_src
  52. src_url=http://archive.apache.org/dist/apr/apr-util-${apr_util_ver}.tar.gz && Download_src
  53. src_url=http://mirrors.linuxeye.com/apache/httpd/nghttp2-${nghttp2_ver}.tar.gz && Download_src
  54. ;;
  55. 2)
  56. echo "Download apache 2.2..."
  57. src_url=http://archive.apache.org/dist/httpd/httpd-${apache22_ver}.tar.gz && Download_src
  58. echo "Download mod_remoteip.c for apache 2.2..."
  59. src_url=${mirrorLink}/mod_remoteip.c && Download_src
  60. ;;
  61. esac
  62. # tomcat
  63. case "${tomcat_option}" in
  64. 1)
  65. echo "Download tomcat 9..."
  66. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat9_ver}/apache-tomcat-${tomcat9_ver}.tar.gz && Download_src
  67. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat9_ver}/catalina-jmx-remote.jar && Download_src
  68. ;;
  69. 2)
  70. echo "Download tomcat 8..."
  71. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat8_ver}/apache-tomcat-${tomcat8_ver}.tar.gz && Download_src
  72. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat8_ver}/catalina-jmx-remote.jar && Download_src
  73. ;;
  74. 3)
  75. echo "Download tomcat 7..."
  76. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat7_ver}/apache-tomcat-${tomcat7_ver}.tar.gz && Download_src
  77. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat7_ver}/catalina-jmx-remote.jar && Download_src
  78. ;;
  79. 4)
  80. echo "Download tomcat 6..."
  81. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat6_ver}/apache-tomcat-${tomcat6_ver}.tar.gz && Download_src
  82. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat6_ver}/catalina-jmx-remote.jar && Download_src
  83. ;;
  84. esac
  85. # jdk
  86. if [[ "${jdk_option}" =~ ^[1-4]$ ]]; then
  87. case "${jdk_option}" in
  88. 1)
  89. echo "Download JDK 11.0..."
  90. JDK_FILE="jdk-${jdk110_ver}_linux-${SYS_BIT_j}_bin.tar.gz"
  91. ;;
  92. 2)
  93. echo "Download JDK 1.8..."
  94. JDK_FILE="jdk-$(echo ${jdk18_ver} | awk -F. '{print $2}')u$(echo ${jdk18_ver} | awk -F_ '{print $NF}')-linux-${SYS_BIT_j}.tar.gz"
  95. ;;
  96. 3)
  97. echo "Download JDK 1.7..."
  98. JDK_FILE="jdk-$(echo ${jdk17_ver} | awk -F. '{print $2}')u$(echo ${jdk17_ver} | awk -F_ '{print $NF}')-linux-${SYS_BIT_j}.tar.gz"
  99. ;;
  100. 4)
  101. echo "Download JDK 1.6..."
  102. JDK_FILE="jdk-$(echo ${jdk16_ver} | awk -F. '{print $2}')u$(echo ${jdk16_ver} | awk -F_ '{print $NF}')-linux-${SYS_BIT_j}.bin"
  103. ;;
  104. esac
  105. src_url=http://mirrors.linuxeye.com/jdk/${JDK_FILE} && Download_src
  106. echo "Download apr..."
  107. src_url=http://archive.apache.org/dist/apr/apr-${apr_ver}.tar.gz && Download_src
  108. fi
  109. if [[ "${db_option}" =~ ^[1-9]$|^1[0-5]$ ]]; then
  110. if [[ "${db_option}" =~ ^[1,2,5,6,9]$ ]] && [ "${dbinstallmethod}" == "2" ]; then
  111. [[ "${db_option}" =~ ^[2,5,6,9]$ ]] && boost_ver=${boost_oldver}
  112. echo "Download boost..."
  113. [ "${IPADDR_COUNTRY}"x == "CN"x ] && DOWN_ADDR_BOOST=${mirrorLink} || DOWN_ADDR_BOOST=http://downloads.sourceforge.net/project/boost/boost/${boost_ver}
  114. boostVersion2=$(echo ${boost_ver} | awk -F. '{print $1"_"$2"_"$3}')
  115. src_url=${DOWN_ADDR_BOOST}/boost_${boostVersion2}.tar.gz && Download_src
  116. fi
  117. case "${db_option}" in
  118. 1)
  119. # MySQL 8.0
  120. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  121. DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0
  122. DOWN_ADDR_MYSQL_BK=http://mirrors.huaweicloud.com/repository/toolkit/mysql/Downloads/MySQL-8.0
  123. DOWN_ADDR_MYSQL_BK2=http://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0
  124. else
  125. DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-8.0
  126. DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-8.0
  127. fi
  128. if [ "${dbinstallmethod}" == '1' ]; then
  129. echo "Download MySQL 8.0 binary package..."
  130. FILE_NAME=mysql-${mysql80_ver}-linux-glibc2.12-${SYS_BIT_b}.tar.xz
  131. elif [ "${dbinstallmethod}" == '2' ]; then
  132. echo "Download MySQL 8.0 source package..."
  133. FILE_NAME=mysql-${mysql80_ver}.tar.gz
  134. fi
  135. # start download
  136. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME} && Download_src
  137. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 && Download_src
  138. # verifying download
  139. MYSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  140. [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  141. tryDlCount=0
  142. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
  143. wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
  144. let "tryDlCount++"
  145. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MYSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  146. done
  147. if [ "${tryDlCount}" == '6' ]; then
  148. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  149. kill -9 $$
  150. fi
  151. ;;
  152. 2)
  153. # MySQL 5.7
  154. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  155. DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7
  156. DOWN_ADDR_MYSQL_BK=http://mirrors.huaweicloud.com/repository/toolkit/mysql/Downloads/MySQL-5.7
  157. DOWN_ADDR_MYSQL_BK2=http://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7
  158. else
  159. DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.7
  160. DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.7
  161. fi
  162. if [ "${dbinstallmethod}" == '1' ]; then
  163. echo "Download MySQL 5.7 binary package..."
  164. FILE_NAME=mysql-${mysql57_ver}-linux-glibc2.12-${SYS_BIT_b}.tar.gz
  165. elif [ "${dbinstallmethod}" == '2' ]; then
  166. echo "Download MySQL 5.7 source package..."
  167. FILE_NAME=mysql-${mysql57_ver}.tar.gz
  168. fi
  169. # start download
  170. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME} && Download_src
  171. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 && Download_src
  172. # verifying download
  173. MYSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  174. [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  175. tryDlCount=0
  176. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
  177. wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
  178. let "tryDlCount++"
  179. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MYSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  180. done
  181. if [ "${tryDlCount}" == '6' ]; then
  182. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  183. kill -9 $$
  184. fi
  185. ;;
  186. 3)
  187. # MySQL 5.6
  188. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  189. DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6
  190. DOWN_ADDR_MYSQL_BK=http://mirrors.huaweicloud.com/repository/toolkit/mysql/Downloads/MySQL-5.6
  191. DOWN_ADDR_MYSQL_BK2=http://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6
  192. else
  193. DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.6
  194. DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.6
  195. fi
  196. if [ "${dbinstallmethod}" == '1' ]; then
  197. echo "Download MySQL 5.6 binary package..."
  198. FILE_NAME=mysql-${mysql56_ver}-linux-glibc2.12-${SYS_BIT_b}.tar.gz
  199. elif [ "${dbinstallmethod}" == '2' ]; then
  200. echo "Download MySQL 5.6 source package..."
  201. FILE_NAME=mysql-${mysql56_ver}.tar.gz
  202. fi
  203. # start download
  204. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME} && Download_src
  205. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 && Download_src
  206. # verifying download
  207. MYSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  208. [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  209. tryDlCount=0
  210. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
  211. wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
  212. let "tryDlCount++"
  213. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MYSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  214. done
  215. if [ "${tryDlCount}" == '6' ]; then
  216. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  217. kill -9 $$
  218. fi
  219. ;;
  220. 4)
  221. # MySQL 5.5
  222. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  223. DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.5
  224. DOWN_ADDR_MYSQL_BK=http://mirrors.huaweicloud.com/repository/toolkit/mysql/Downloads/MySQL-5.5
  225. DOWN_ADDR_MYSQL_BK2=http://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5
  226. else
  227. DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.5
  228. DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.5
  229. fi
  230. if [ "${dbinstallmethod}" == '1' ]; then
  231. echo "Download MySQL 5.5 binary package..."
  232. FILE_NAME=mysql-${mysql55_ver}-linux-glibc2.12-${SYS_BIT_b}.tar.gz
  233. elif [ "${dbinstallmethod}" == '2' ]; then
  234. echo "Download MySQL 5.5 source package..."
  235. FILE_NAME=mysql-${mysql55_ver}.tar.gz
  236. src_url=${mirrorLink}/mysql-5.5-fix-arm-client_plugin.patch && Download_src
  237. fi
  238. # start download
  239. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME} && Download_src
  240. src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 && Download_src
  241. # verifying download
  242. MYSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  243. [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  244. tryDlCount=0
  245. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
  246. wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
  247. let "tryDlCount++"
  248. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MYSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  249. done
  250. if [ "${tryDlCount}" == '6' ]; then
  251. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  252. kill -9 $$
  253. fi
  254. ;;
  255. 5)
  256. # MariaDB 10.3
  257. if [ "${dbinstallmethod}" == '1' ]; then
  258. echo "Download MariaDB 10.3 binary package..."
  259. FILE_NAME=mariadb-${mariadb103_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  260. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  261. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb103_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  262. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb103_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  263. else
  264. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb103_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  265. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb103_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  266. fi
  267. elif [ "${dbinstallmethod}" == '2' ]; then
  268. echo "Download MariaDB 10.3 source package..."
  269. FILE_NAME=mariadb-${mariadb103_ver}.tar.gz
  270. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  271. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb103_ver}/source
  272. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb103_ver}/source
  273. else
  274. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb103_ver}/source
  275. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb103_ver}/source
  276. fi
  277. fi
  278. src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
  279. wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
  280. MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  281. [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  282. tryDlCount=0
  283. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  284. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
  285. let "tryDlCount++"
  286. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  287. done
  288. if [ "${tryDlCount}" == '6' ]; then
  289. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  290. kill -9 $$
  291. fi
  292. ;;
  293. 6)
  294. # MariaDB 10.2
  295. if [ "${dbinstallmethod}" == '1' ]; then
  296. echo "Download MariaDB 10.2 binary package..."
  297. FILE_NAME=mariadb-${mariadb102_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  298. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  299. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  300. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  301. else
  302. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  303. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  304. fi
  305. elif [ "${dbinstallmethod}" == '2' ]; then
  306. echo "Download MariaDB 10.2 source package..."
  307. FILE_NAME=mariadb-${mariadb102_ver}.tar.gz
  308. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  309. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_ver}/source
  310. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_ver}/source
  311. else
  312. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb102_ver}/source
  313. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb102_ver}/source
  314. fi
  315. fi
  316. src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
  317. wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
  318. MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  319. [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  320. tryDlCount=0
  321. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  322. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
  323. let "tryDlCount++"
  324. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  325. done
  326. if [ "${tryDlCount}" == '6' ]; then
  327. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  328. kill -9 $$
  329. fi
  330. ;;
  331. 7)
  332. # MariaDB 10.1
  333. if [ "${dbinstallmethod}" == '1' ]; then
  334. echo "Download MariaDB 10.1 binary package..."
  335. FILE_NAME=mariadb-${mariadb101_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  336. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  337. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  338. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  339. else
  340. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  341. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  342. fi
  343. elif [ "${dbinstallmethod}" == '2' ]; then
  344. echo "Download MariaDB 10.1 source package..."
  345. FILE_NAME=mariadb-${mariadb101_ver}.tar.gz
  346. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  347. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_ver}/source
  348. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_ver}/source
  349. else
  350. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb101_ver}/source
  351. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb101_ver}/source
  352. fi
  353. fi
  354. src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
  355. wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
  356. MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  357. [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  358. tryDlCount=0
  359. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  360. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
  361. let "tryDlCount++"
  362. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  363. done
  364. if [ "${tryDlCount}" == '6' ]; then
  365. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  366. kill -9 $$
  367. fi
  368. ;;
  369. 8)
  370. # MariaDB 10.0
  371. if [ "${dbinstallmethod}" == '1' ]; then
  372. echo "Download MariaDB 10.0 binary package..."
  373. FILE_NAME=mariadb-${mariadb100_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  374. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  375. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  376. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  377. else
  378. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  379. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  380. fi
  381. elif [ "${dbinstallmethod}" == '2' ]; then
  382. echo "Download MariaDB 10.0 source package..."
  383. FILE_NAME=mariadb-${mariadb100_ver}.tar.gz
  384. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  385. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_ver}/source
  386. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_ver}/source
  387. else
  388. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb100_ver}/source
  389. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb100_ver}/source
  390. fi
  391. fi
  392. src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
  393. wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
  394. MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  395. [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  396. tryDlCount=0
  397. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  398. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
  399. let "tryDlCount++"
  400. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  401. done
  402. if [ "${tryDlCount}" == '6' ]; then
  403. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  404. kill -9 $$
  405. fi
  406. ;;
  407. 9)
  408. # MariaDB 5.5
  409. if [ "${dbinstallmethod}" == '1' ]; then
  410. echo "Download MariaDB 5.5 binary package..."
  411. FILE_NAME=mariadb-${mariadb55_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  412. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  413. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  414. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  415. else
  416. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  417. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  418. fi
  419. elif [ "${dbinstallmethod}" == '2' ]; then
  420. echo "Download MariaDB 5.5 source package..."
  421. FILE_NAME=mariadb-${mariadb55_ver}.tar.gz
  422. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  423. DOWN_ADDR_MARIADB=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_ver}/source
  424. DOWN_ADDR_MARIADB_BK=http://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_ver}/source
  425. else
  426. DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb55_ver}/source
  427. DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb55_ver}/source
  428. fi
  429. fi
  430. src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
  431. wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
  432. MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  433. [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  434. tryDlCount=0
  435. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  436. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
  437. let "tryDlCount++"
  438. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  439. done
  440. if [ "${tryDlCount}" == '6' ]; then
  441. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  442. kill -9 $$
  443. fi
  444. ;;
  445. 10)
  446. # Precona 5.7
  447. if [ "${dbinstallmethod}" == '1' ]; then
  448. echo "Download Percona 5.7 binary package..."
  449. FILE_NAME=Percona-Server-${percona57_ver}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
  450. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/binary/tarball
  451. elif [ "${dbinstallmethod}" == '2' ]; then
  452. echo "Download Percona 5.7 source package..."
  453. FILE_NAME=percona-server-${percona57_ver}.tar.gz
  454. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  455. DOWN_ADDR_PERCONA=${mirrorLink}
  456. else
  457. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/source/tarball
  458. fi
  459. fi
  460. # start download
  461. src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME} && Download_src
  462. src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum && Download_src
  463. # verifying download
  464. PERCONA_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5sum)
  465. [ -z "${PERCONA_TAR_MD5}" ] && PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  466. tryDlCount=0
  467. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
  468. wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
  469. let "tryDlCount++"
  470. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PERCONA_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  471. done
  472. if [ "${tryDlCount}" == '6' ]; then
  473. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  474. kill -9 $$
  475. fi
  476. ;;
  477. 11)
  478. # Precona 5.6
  479. if [ "${dbinstallmethod}" == '1' ]; then
  480. echo "Download Percona 5.6 binary package..."
  481. perconaVerStr1=$(echo ${percona56_ver} | sed "s@-@-rel@")
  482. FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
  483. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/binary/tarball
  484. elif [ "${dbinstallmethod}" == '2' ]; then
  485. echo "Download Percona 5.6 source package..."
  486. FILE_NAME=percona-server-${percona56_ver}.tar.gz
  487. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  488. DOWN_ADDR_PERCONA=${mirrorLink}
  489. else
  490. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/source/tarball
  491. fi
  492. fi
  493. # start download
  494. src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME} && Download_src
  495. src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum && Download_src
  496. # verifying download
  497. PERCONA_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5sum)
  498. [ -z "${PERCONA_TAR_MD5}" ] && PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  499. tryDlCount=0
  500. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
  501. wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
  502. let "tryDlCount++"
  503. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PERCONA_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  504. done
  505. if [ "${tryDlCount}" == '6' ]; then
  506. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  507. kill -9 $$
  508. fi
  509. ;;
  510. 12)
  511. # Percona 5.5
  512. if [ "${dbinstallmethod}" == '1' ]; then
  513. echo "Download Percona 5.5 binary package..."
  514. perconaVerStr1=$(echo ${percona55_ver} | sed "s@-@-rel@")
  515. FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
  516. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/binary/tarball
  517. elif [ "${dbinstallmethod}" == '2' ]; then
  518. echo "Download Percona 5.5 source package..."
  519. FILE_NAME=percona-server-${percona55_ver}.tar.gz
  520. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  521. DOWN_ADDR_PERCONA=${mirrorLink}
  522. else
  523. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/source/tarball
  524. fi
  525. fi
  526. # start download
  527. src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME} && Download_src
  528. src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum && Download_src
  529. # verifying download
  530. PERCONA_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5sum)
  531. [ -z "${PERCONA_TAR_MD5}" ] && PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  532. tryDlCount=0
  533. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
  534. wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
  535. let "tryDlCount++"
  536. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PERCONA_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  537. done
  538. if [ "${tryDlCount}" == '6' ]; then
  539. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  540. kill -9 $$
  541. fi
  542. ;;
  543. 13)
  544. # AliSQL 5.6
  545. DOWN_ADDR_ALISQL=$mirrorLink
  546. echo "Download AliSQL 5.6 source package..."
  547. FILE_NAME=alisql-${alisql_ver}.tar.gz
  548. src_url=${DOWN_ADDR_ALISQL}/${FILE_NAME} && Download_src
  549. src_url=${DOWN_ADDR_ALISQL}/${FILE_NAME}.md5 && Download_src
  550. ALISQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  551. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${ALISQL_TAR_MD5}" ];do
  552. wget -4c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME};sleep 1
  553. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${ALISQL_TAR_MD5}" ] && break || continue
  554. done
  555. ;;
  556. 14)
  557. # PostgreSQL
  558. echo "Download PostgreSQL source package..."
  559. FILE_NAME=postgresql-${pgsql_ver}.tar.gz
  560. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  561. DOWN_ADDR_PGSQL=https://mirrors.tuna.tsinghua.edu.cn/postgresql/source/v${pgsql_ver}
  562. DOWN_ADDR_PGSQL_BK=https://mirrors.ustc.edu.cn/postgresql/source/v${pgsql_ver}
  563. else
  564. DOWN_ADDR_PGSQL=https://ftp.postgresql.org/pub/source/v${pgsql_ver}
  565. DOWN_ADDR_PGSQL_BK=https://ftp.heanet.ie/mirrors/postgresql/source/v${pgsql_ver}
  566. fi
  567. src_url=${DOWN_ADDR_PGSQL}/${FILE_NAME} && Download_src
  568. src_url=${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 && Download_src
  569. PGSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  570. [ -z "${PGSQL_TAR_MD5}" ] && PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  571. tryDlCount=0
  572. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PGSQL_TAR_MD5}" ]; do
  573. wget -c --no-check-certificate ${DOWN_ADDR_PGSQL_BK}/${FILE_NAME};sleep 1
  574. let "tryDlCount++"
  575. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PGSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  576. done
  577. if [ "${tryDlCount}" == '6' ]; then
  578. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  579. kill -9 $$
  580. fi
  581. ;;
  582. 15)
  583. # MongoDB
  584. echo "Download MongoDB binary package..."
  585. FILE_NAME=mongodb-linux-${SYS_BIT_b}-${mongodb_ver}.tgz
  586. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  587. DOWN_ADDR_MongoDB=${mirrorLink}
  588. else
  589. DOWN_ADDR_MongoDB=https://fastdl.mongodb.org/linux
  590. fi
  591. src_url=${DOWN_ADDR_MongoDB}/${FILE_NAME} && Download_src
  592. src_url=${DOWN_ADDR_MongoDB}/${FILE_NAME}.md5 && Download_src
  593. MongoDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  594. [ -z "${MongoDB_TAR_MD5}" ] && MongoDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MongoDB}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  595. tryDlCount=0
  596. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MongoDB_TAR_MD5}" ]; do
  597. wget -c --no-check-certificate ${DOWN_ADDR_MongoDB}/${FILE_NAME};sleep 1
  598. let "tryDlCount++"
  599. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MongoDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  600. done
  601. if [ "${tryDlCount}" == '6' ]; then
  602. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  603. kill -9 $$
  604. fi
  605. ;;
  606. esac
  607. fi
  608. # PHP
  609. if [[ "${php_option}" =~ ^[1-8]$ ]]; then
  610. echo "PHP common..."
  611. src_url=http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${libiconv_ver}.tar.gz && Download_src
  612. src_url=${mirrorLink}/libiconv-glibc-2.16.patch && Download_src
  613. src_url=https://curl.haxx.se/download/curl-${curl_ver}.tar.gz && Download_src
  614. src_url=http://downloads.sourceforge.net/project/mhash/mhash/${mhash_ver}/mhash-${mhash_ver}.tar.gz && Download_src
  615. src_url=http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/${libmcrypt_ver}/libmcrypt-${libmcrypt_ver}.tar.gz && Download_src
  616. src_url=http://downloads.sourceforge.net/project/mcrypt/MCrypt/${mcrypt_ver}/mcrypt-${mcrypt_ver}.tar.gz && Download_src
  617. fi
  618. case "${php_option}" in
  619. 1)
  620. # php 5.3
  621. src_url=${mirrorLink}/debian_patches_disable_SSLv2_for_openssl_1_0_0.patch && Download_src
  622. src_url=${mirrorLink}/php5.3patch && Download_src
  623. src_url=http://www.php.net/distributions/php-${php53_ver}.tar.gz && Download_src
  624. src_url=${mirrorLink}/fpm-race-condition.patch && Download_src
  625. ;;
  626. 2)
  627. src_url=http://www.php.net/distributions/php-${php54_ver}.tar.gz && Download_src
  628. src_url=${mirrorLink}/fpm-race-condition.patch && Download_src
  629. ;;
  630. 3)
  631. src_url=http://www.php.net/distributions/php-${php55_ver}.tar.gz && Download_src
  632. src_url=${mirrorLink}/fpm-race-condition.patch && Download_src
  633. ;;
  634. 4)
  635. src_url=http://www.php.net/distributions/php-${php56_ver}.tar.gz && Download_src
  636. ;;
  637. 5)
  638. src_url=http://www.php.net/distributions/php-${php70_ver}.tar.gz && Download_src
  639. ;;
  640. 6)
  641. src_url=http://www.php.net/distributions/php-${php71_ver}.tar.gz && Download_src
  642. ;;
  643. 7)
  644. src_url=http://www.php.net/distributions/php-${php72_ver}.tar.gz && Download_src
  645. src_url=http://mirrors.linuxeye.com/oneinstack/src/argon2-${argon2_ver}.tar.gz && Download_src
  646. src_url=http://mirrors.linuxeye.com/oneinstack/src/libsodium-${libsodium_ver}.tar.gz && Download_src
  647. ;;
  648. 8)
  649. src_url=http://www.php.net/distributions/php-${php73_ver}.tar.gz && Download_src
  650. src_url=http://mirrors.linuxeye.com/oneinstack/src/argon2-${argon2_ver}.tar.gz && Download_src
  651. src_url=http://mirrors.linuxeye.com/oneinstack/src/libsodium-${libsodium_ver}.tar.gz && Download_src
  652. ;;
  653. esac
  654. # PHP OPCache
  655. case "${phpcache_option}" in
  656. 1)
  657. if [[ "${php_option}" =~ ^[1-2]$ ]]; then
  658. # php 5.3 5.4
  659. echo "Download Zend OPCache..."
  660. src_url=https://pecl.php.net/get/zendopcache-${zendopcache_ver}.tgz && Download_src
  661. fi
  662. ;;
  663. 2)
  664. if [[ "${php_option}" =~ ^[1-4]$ ]]; then
  665. # php 5.3 5.4 5.5 5.6
  666. echo "Download xcache..."
  667. src_url=http://xcache.lighttpd.net/pub/Releases/${xcache_ver}/xcache-${xcache_ver}.tar.gz && Download_src
  668. fi
  669. ;;
  670. 3)
  671. # php 5.3 5.4 5.5 5.6 7.0 7.1 7.2
  672. echo "Download apcu..."
  673. if [[ "${php_option}" =~ ^[1-4]$ ]]; then
  674. src_url=https://pecl.php.net/get/apcu-${apcu_oldver}.tgz && Download_src
  675. else
  676. src_url=https://pecl.php.net/get/apcu-${apcu_ver}.tgz && Download_src
  677. fi
  678. ;;
  679. 4)
  680. # php 5.3 5.4
  681. if [ "${php_option}" == '1' ]; then
  682. echo "Download eaccelerator 0.9..."
  683. src_url=https://github.com/downloads/eaccelerator/eaccelerator/eaccelerator-${eaccelerator_ver}.tar.bz2 && Download_src
  684. elif [ "${php_option}" == '2' ]; then
  685. echo "Download eaccelerator 1.0 dev..."
  686. src_url=https://github.com/eaccelerator/eaccelerator/tarball/master && Download_src
  687. fi
  688. ;;
  689. esac
  690. # Zend Guard Loader
  691. if [ "${pecl_zendguardloader}" == '1' -a "${armplatform}" != 'y' ]; then
  692. case "${php_option}" in
  693. 4)
  694. echo "Download zend loader for php 5.6..."
  695. src_url=${mirrorLink}/zend-loader-php5.6-linux-${SYS_BIT_c}.tar.gz && Download_src
  696. ;;
  697. 3)
  698. echo "Download zend loader for php 5.5..."
  699. src_url=${mirrorLink}/zend-loader-php5.5-linux-${SYS_BIT_c}.tar.gz && Download_src
  700. ;;
  701. 2)
  702. echo "Download zend loader for php 5.4..."
  703. src_url=${mirrorLink}/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-${SYS_BIT_c}.tar.gz && Download_src
  704. ;;
  705. 1)
  706. echo "Download zend loader for php 5.3..."
  707. src_url=${mirrorLink}/ZendGuardLoader-php-5.3-linux-glibc23-${SYS_BIT_c}.tar.gz && Download_src
  708. ;;
  709. esac
  710. fi
  711. # ioncube
  712. if [ "${pecl_ioncube}" == '1' ]; then
  713. echo "Download ioncube..."
  714. if [ "${TARGET_ARCH}" == "armv7" ]; then
  715. src_url=https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_armv7l.tar.gz && Download_src
  716. else
  717. src_url=https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_${SYS_BIT_d}.tar.gz && Download_src
  718. fi
  719. fi
  720. # SourceGuardian
  721. if [ "${pecl_sourceguardian}" == '1' ]; then
  722. echo "Download SourceGuardian..."
  723. if [ "${TARGET_ARCH}" == "armv8" ]; then
  724. src_url=https://www.sourceguardian.com/loaders/download/loaders.linux-aarch64.tar.gz && Download_src
  725. else
  726. src_url=${mirrorLink}/loaders.linux-${SYS_BIT_c}.tar.gz && Download_src
  727. fi
  728. fi
  729. # imageMagick
  730. if [ "${pecl_imagick}" == '1' ]; then
  731. echo "Download ImageMagick..."
  732. src_url=${mirrorLink}/ImageMagick-${imagemagick_ver}.tar.gz && Download_src
  733. echo "Download imagick..."
  734. src_url=https://pecl.php.net/get/imagick-${imagick_ver}.tgz && Download_src
  735. fi
  736. # graphicsmagick
  737. if [ "${pecl_gmagick}" == '1' ]; then
  738. echo "Download graphicsmagick..."
  739. src_url=http://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/${graphicsmagick_ver}/GraphicsMagick-${graphicsmagick_ver}.tar.gz && Download_src
  740. if [[ "${php_option}" =~ ^[1-4]$ ]]; then
  741. echo "Download gmagick for php..."
  742. src_url=https://pecl.php.net/get/gmagick-${gmagick_oldver}.tgz && Download_src
  743. else
  744. echo "Download gmagick for php 7.x..."
  745. src_url=https://pecl.php.net/get/gmagick-${gmagick_ver}.tgz && Download_src
  746. fi
  747. fi
  748. # redis-server
  749. if [ "${redis_flag}" == 'y' ]; then
  750. echo "Download redis-server..."
  751. src_url=http://download.redis.io/releases/redis-${redis_ver}.tar.gz && Download_src
  752. if [ "${PM}" == 'yum' ]; then
  753. echo "Download start-stop-daemon.c for CentOS..."
  754. src_url=${mirrorLink}/start-stop-daemon.c && Download_src
  755. fi
  756. fi
  757. # pecl_redis
  758. if [ "${pecl_redis}" == '1' ]; then
  759. echo "Download pecl_redis..."
  760. src_url=https://pecl.php.net/get/redis-${pecl_redis_ver}.tgz && Download_src
  761. fi
  762. # memcached-server
  763. if [ "${memcached_flag}" == 'y' ]; then
  764. echo "Download memcached-server..."
  765. [ "${IPADDR_COUNTRY}"x == "CN"x ] && DOWN_ADDR=${mirrorLink} || DOWN_ADDR=http://www.memcached.org/files
  766. src_url=${DOWN_ADDR}/memcached-${memcached_ver}.tar.gz && Download_src
  767. fi
  768. # pecl_memcached
  769. if [ "${pecl_memcached}" == '1' ]; then
  770. echo "Download libmemcached..."
  771. src_url=https://launchpad.net/libmemcached/1.0/${libmemcached_ver}/+download/libmemcached-${libmemcached_ver}.tar.gz && Download_src
  772. if [[ "${php_option}" =~ ^[1-4]$ ]]; then
  773. echo "Download pecl_memcached for php..."
  774. src_url=https://pecl.php.net/get/memcached-${pecl_memcached_oldver}.tgz && Download_src
  775. else
  776. echo "Download pecl_memcached for php 7.x..."
  777. src_url=https://pecl.php.net/get/memcached-${pecl_memcached_ver}.tgz && Download_src
  778. fi
  779. fi
  780. # memcached-server pecl_memcached pecl_memcache
  781. if [ "${pecl_memcache}" == '1' ]; then
  782. if [[ "${php_option}" =~ ^[1-4]$ ]]; then
  783. echo "Download pecl_memcache for php..."
  784. src_url=https://pecl.php.net/get/memcache-${pecl_memcache_ver}.tgz && Download_src
  785. else
  786. echo "Download pecl_memcache for php 7.x..."
  787. # src_url=https://codeload.github.com/websupport-sk/pecl-memcache/zip/php7 && Download_src
  788. src_url=${mirrorLink}/pecl-memcache-php7.tgz && Download_src
  789. fi
  790. fi
  791. # pecl_mongodb
  792. if [ "${pecl_mongodb}" == '1' ]; then
  793. echo "Download pecl mongo for php..."
  794. src_url=https://pecl.php.net/get/mongo-${pecl_mongo_ver}.tgz && Download_src
  795. echo "Download pecl mongodb for php..."
  796. src_url=https://pecl.php.net/get/mongodb-${pecl_mongodb_ver}.tgz && Download_src
  797. fi
  798. # pureftpd
  799. if [ "${pureftpd_flag}" == 'y' ]; then
  800. echo "Download pureftpd..."
  801. src_url=https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${pureftpd_ver}.tar.gz && Download_src
  802. fi
  803. # phpMyAdmin
  804. if [ "${phpmyadmin_flag}" == 'y' ]; then
  805. echo "Download phpMyAdmin..."
  806. if [[ "${php_option}" =~ ^[1-2]$ ]]; then
  807. src_url=https://files.phpmyadmin.net/phpMyAdmin/${phpmyadmin_oldver}/phpMyAdmin-${phpmyadmin_oldver}-all-languages.tar.gz && Download_src
  808. else
  809. src_url=https://files.phpmyadmin.net/phpMyAdmin/${phpmyadmin_ver}/phpMyAdmin-${phpmyadmin_ver}-all-languages.tar.gz && Download_src
  810. fi
  811. fi
  812. # others
  813. if [ "${downloadDepsSrc}" == '1' ]; then
  814. if [ "${PM}" == 'yum' ]; then
  815. echo "Download tmux for CentOS..."
  816. src_url=${mirrorLink}/libevent-${libevent_ver}.tar.gz && Download_src
  817. src_url=${mirrorLink}/tmux-${tmux_ver}.tar.gz && Download_src
  818. echo "Download htop for CentOS..."
  819. src_url=http://hisham.hm/htop/releases/${htop_ver}/htop-${htop_ver}.tar.gz && Download_src
  820. fi
  821. if [[ "${Ubuntu_ver}" =~ ^14$|^15$ ]]; then
  822. echo "Download bison for Ubuntu..."
  823. src_url=http://ftp.gnu.org/gnu/bison/bison-${bison_ver}.tar.gz && Download_src
  824. fi
  825. fi
  826. popd > /dev/null
  827. }