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