1
0

check_download.sh 42 KB

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