check_download.sh 42 KB

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