1
0

check_download.sh 41 KB

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