1
0

check_download.sh 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814
  1. #!/bin/bash
  2. # Author: Alpha Eva <kaneawk AT gmail.com>
  3. #
  4. # Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
  5. #
  6. # Project home page:
  7. # https://oneinstack.com
  8. # https://github.com/lj2007331/oneinstack
  9. checkDownload() {
  10. mirrorLink=http://mirrors.linuxeye.com/oneinstack/src
  11. pushd ${oneinstack_dir}/src
  12. # General system utils
  13. echo "Download openSSL..."
  14. src_url=https://www.openssl.org/source/openssl-${openssl_version}.tar.gz && Download_src
  15. src_url=http://curl.haxx.se/ca/cacert.pem && Download_src
  16. # Web
  17. if [ "${Web_yn}" == 'y' ]; then
  18. case "${Nginx_version}" in
  19. 1)
  20. echo "Download nginx..."
  21. src_url=http://nginx.org/download/nginx-${nginx_version}.tar.gz && Download_src
  22. ;;
  23. 2)
  24. echo "Download tengine..."
  25. src_url=http://tengine.taobao.org/download/tengine-${tengine_version}.tar.gz && Download_src
  26. ;;
  27. 3)
  28. echo "Download openresty..."
  29. src_url=https://openresty.org/download/openresty-${openresty_version}.tar.gz && Download_src
  30. ;;
  31. esac
  32. if [[ "${Nginx_version}" =~ ^[1-3]$ || ${Apache_version} == '1' ]]; then
  33. echo "Download pcre..."
  34. src_url=${mirrorLink}/pcre-${pcre_version}.tar.gz && Download_src
  35. fi
  36. # apache
  37. if [ "${Apache_version}" == '1' ]; then
  38. echo "Download apache 2.4..."
  39. src_url=http://archive.apache.org/dist/apr/apr-${apr_version}.tar.gz && Download_src
  40. src_url=http://archive.apache.org/dist/apr/apr-util-${apr_util_version}.tar.gz && Download_src
  41. src_url=http://mirrors.linuxeye.com/apache/httpd/nghttp2-${nghttp2_version}.tar.gz && Download_src
  42. src_url=http://mirrors.linuxeye.com/apache/httpd/httpd-${apache24_version}.tar.gz && Download_src
  43. fi
  44. if [ "${Apache_version}" == '2' ]; then
  45. echo "Download apache 2.2..."
  46. src_url=http://mirrors.linuxeye.com/apache/httpd/httpd-${apache22_version}.tar.gz && Download_src
  47. echo "Download mod_remoteip.c for apache 2.2..."
  48. src_url=${mirrorLink}/mod_remoteip.c && Download_src
  49. fi
  50. # tomcat
  51. case "${Tomcat_version}" in
  52. 1)
  53. echo "Download tomcat 8..."
  54. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat8_version}/apache-tomcat-${tomcat8_version}.tar.gz && Download_src
  55. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat8_version}/catalina-jmx-remote.jar && Download_src
  56. ;;
  57. 2)
  58. echo "Download tomcat 7..."
  59. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat7_version}/apache-tomcat-${tomcat7_version}.tar.gz && Download_src
  60. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat7_version}/catalina-jmx-remote.jar && Download_src
  61. ;;
  62. 3)
  63. echo "Download tomcat 6..."
  64. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat6_version}/apache-tomcat-${tomcat6_version}.tar.gz && Download_src
  65. src_url=http://mirrors.linuxeye.com/apache/tomcat/v${tomcat6_version}/catalina-jmx-remote.jar && Download_src
  66. ;;
  67. esac
  68. if [[ "${JDK_version}" =~ ^[1-3]$ ]]; then
  69. case "${JDK_version}" in
  70. 1)
  71. echo "Download JDK 1.8..."
  72. JDK_FILE="jdk-$(echo ${jdk18_version} | awk -F. '{print $2}')u$(echo ${jdk18_version} | awk -F_ '{print $NF}')-linux-${SYS_BIG_FLAG}.tar.gz"
  73. ;;
  74. 2)
  75. echo "Download JDK 1.7..."
  76. JDK_FILE="jdk-$(echo ${jdk17_version} | awk -F. '{print $2}')u$(echo ${jdk17_version} | awk -F_ '{print $NF}')-linux-${SYS_BIG_FLAG}.tar.gz"
  77. ;;
  78. 3)
  79. echo "Download JDK 1.6..."
  80. JDK_FILE="jdk-$(echo ${jdk16_version} | awk -F. '{print $2}')u$(echo ${jdk16_version} | awk -F_ '{print $NF}')-linux-${SYS_BIG_FLAG}.bin"
  81. ;;
  82. esac
  83. echo "Download apr..."
  84. src_url=http://archive.apache.org/dist/apr/apr-${apr_version}.tar.gz && Download_src
  85. # start download...
  86. src_url=http://mirrors.linuxeye.com/jdk/${JDK_FILE} && Download_src
  87. fi
  88. fi
  89. if [ "${DB_yn}" == 'y' ]; then
  90. if [[ "${DB_version}" =~ ^[1,4,8]$ ]] && [ "${dbInstallMethods}" == "2" ]; then
  91. echo "Download boost..."
  92. [ "${IPADDR_COUNTRY}"x == "CN"x ] && DOWN_ADDR_BOOST=${mirrorLink} || DOWN_ADDR_BOOST=http://downloads.sourceforge.net/project/boost/boost/${boost_version}
  93. boostVersion2=$(echo ${boost_version} | awk -F. '{print $1}')_$(echo ${boost_version} | awk -F. '{print $2}')_$(echo ${boost_version} | awk -F. '{print $3}')
  94. src_url=${DOWN_ADDR_BOOST}/boost_${boostVersion2}.tar.gz && Download_src
  95. fi
  96. case "${DB_version}" in
  97. 1)
  98. # MySQL 5.7
  99. if [ "${IPADDR_COUNTRY}"x == "CN"x -a "${IPADDR_ISP}" == "aliyun" -a "$(../include/check_port.py aliyun-oss.linuxeye.com 80)" == "True" ]; then
  100. DOWN_ADDR_MYSQL=http://aliyun-oss.linuxeye.com/mysql/MySQL-5.7
  101. else
  102. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  103. if [ "$(../include/check_port.py mirrors.tuna.tsinghua.edu.cn 443)" == "True" ]; then
  104. DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7
  105. DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7
  106. else
  107. DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7
  108. DOWN_ADDR_MYSQL_BK=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7
  109. fi
  110. else
  111. if [ "$(../include/check_port.py cdn.mysql.com 80)" == "True" ]; then
  112. DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.7
  113. DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.7
  114. else
  115. DOWN_ADDR_MYSQL=http://mysql.he.net/Downloads/MySQL-5.7
  116. DOWN_ADDR_MYSQL_BK=http://cdn.mysql.com/Downloads/MySQL-5.7
  117. fi
  118. fi
  119. fi
  120. if [ "${dbInstallMethods}" == '1' ]; then
  121. echo "Download MySQL 5.7 binary package..."
  122. FILE_NAME=mysql-${mysql57_version}-linux-glibc2.12-${SYS_BIT_b}.tar.gz
  123. elif [ "${dbInstallMethods}" == '2' ]; then
  124. echo "Download MySQL 5.7 source package..."
  125. FILE_NAME=mysql-${mysql57_version}.tar.gz
  126. fi
  127. # start download
  128. wget --tries=6 -c --no-check-certificate ${DOWN_ADDR_MYSQL}/${FILE_NAME}
  129. # verifying download
  130. MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  131. [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  132. tryDlCount=0
  133. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
  134. wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
  135. let "tryDlCount++"
  136. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MYSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  137. done
  138. if [ "${tryDlCount}" == '6' ]; then
  139. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  140. kill -9 $$
  141. else
  142. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  143. fi
  144. ;;
  145. 2)
  146. # MySQL 5.6
  147. if [ "${IPADDR_COUNTRY}"x == "CN"x -a "${IPADDR_ISP}" == "aliyun" -a "$(../include/check_port.py aliyun-oss.linuxeye.com 80)" == "True" ]; then
  148. DOWN_ADDR_MYSQL=http://aliyun-oss.linuxeye.com/mysql/MySQL-5.6
  149. else
  150. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  151. if [ "$(../include/check_port.py mirrors.tuna.tsinghua.edu.cn 443)" == "True" ]; then
  152. DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6
  153. DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6
  154. else
  155. DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6
  156. DOWN_ADDR_MYSQL_BK=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6
  157. fi
  158. else
  159. if [ "$(../include/check_port.py cdn.mysql.com 80)" == "True" ]; then
  160. DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.6
  161. DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.6
  162. else
  163. DOWN_ADDR_MYSQL=http://mysql.he.net/Downloads/MySQL-5.6
  164. DOWN_ADDR_MYSQL_BK=http://cdn.mysql.com/Downloads/MySQL-5.6
  165. fi
  166. fi
  167. fi
  168. if [ "${dbInstallMethods}" == '1' ]; then
  169. echo "Download MySQL 5.6 binary package..."
  170. FILE_NAME=mysql-${mysql56_version}-linux-glibc2.12-${SYS_BIT_b}.tar.gz
  171. elif [ "${dbInstallMethods}" == '2' ]; then
  172. echo "Download MySQL 5.6 source package..."
  173. FILE_NAME=mysql-${mysql56_version}.tar.gz
  174. fi
  175. wget --tries=6 -c --no-check-certificate ${DOWN_ADDR_MYSQL}/${FILE_NAME}
  176. # verifying download
  177. MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  178. [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  179. tryDlCount=0
  180. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
  181. wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
  182. let "tryDlCount++"
  183. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MYSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  184. done
  185. if [ "${tryDlCount}" == '6' ]; then
  186. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  187. kill -9 $$
  188. else
  189. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  190. fi
  191. ;;
  192. 3)
  193. # MySQL 5.5
  194. if [ "${IPADDR_COUNTRY}"x == "CN"x -a "${IPADDR_ISP}" == "aliyun" -a "$(../include/check_port.py aliyun-oss.linuxeye.com 80)" == "True" ]; then
  195. DOWN_ADDR_MYSQL=http://aliyun-oss.linuxeye.com/mysql/MySQL-5.5
  196. else
  197. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  198. if [ "$(../include/check_port.py mirrors.tuna.tsinghua.edu.cn 443)" == "True" ]; then
  199. DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5
  200. DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.5
  201. else
  202. DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.5
  203. DOWN_ADDR_MYSQL_BK=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5
  204. fi
  205. else
  206. if [ "$(../include/check_port.py cdn.mysql.com 80)" == "True" ]; then
  207. DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.5
  208. DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.5
  209. else
  210. DOWN_ADDR_MYSQL=http://mysql.he.net/Downloads/MySQL-5.5
  211. DOWN_ADDR_MYSQL_BK=http://cdn.mysql.com/Downloads/MySQL-5.5
  212. fi
  213. fi
  214. fi
  215. if [ "${dbInstallMethods}" == '1' ]; then
  216. echo "Download MySQL 5.5 binary package..."
  217. FILE_NAME=mysql-${mysql55_version}-linux-glibc2.12-${SYS_BIT_b}.tar.gz
  218. elif [ "${dbInstallMethods}" == '2' ]; then
  219. echo "Download MySQL 5.5 source package..."
  220. FILE_NAME=mysql-${mysql55_version}.tar.gz
  221. src_url=${mirrorLink}/mysql-5.5-fix-arm-client_plugin.patch && Download_src
  222. fi
  223. wget --tries=6 -c --no-check-certificate ${DOWN_ADDR_MYSQL}/${FILE_NAME}
  224. # verifying download
  225. MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  226. [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  227. tryDlCount=0
  228. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
  229. wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
  230. let "tryDlCount++"
  231. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MYSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  232. done
  233. if [ "${tryDlCount}" == '6' ]; then
  234. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  235. kill -9 $$
  236. else
  237. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  238. fi
  239. ;;
  240. 4)
  241. # MariaDB 10.2
  242. if [ "${dbInstallMethods}" == '1' ]; then
  243. echo "Download MariaDB 10.2 binary package..."
  244. FILE_NAME=mariadb-${mariadb102_version}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  245. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  246. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  247. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  248. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  249. else
  250. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb102_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  251. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb102_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  252. fi
  253. elif [ "${dbInstallMethods}" == '2' ]; then
  254. echo "Download MariaDB 10.2 source package..."
  255. FILE_NAME=mariadb-${mariadb102_version}.tar.gz
  256. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  257. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_version}/source
  258. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  259. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_version}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  260. else
  261. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb102_version}/source
  262. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb102_version}/source/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  263. fi
  264. fi
  265. tryDlCount=0
  266. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  267. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
  268. let "tryDlCount++"
  269. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  270. done
  271. if [ "${tryDlCount}" == '6' ]; then
  272. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  273. kill -9 $$
  274. else
  275. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  276. fi
  277. ;;
  278. 5)
  279. # MariaDB 10.1
  280. if [ "${dbInstallMethods}" == '1' ]; then
  281. echo "Download MariaDB 10.1 binary package..."
  282. FILE_NAME=mariadb-${mariadb101_version}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  283. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  284. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  285. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  286. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  287. else
  288. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb101_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  289. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb101_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  290. fi
  291. elif [ "${dbInstallMethods}" == '2' ]; then
  292. echo "Download MariaDB 10.1 source package..."
  293. FILE_NAME=mariadb-${mariadb101_version}.tar.gz
  294. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  295. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_version}/source
  296. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  297. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_version}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  298. else
  299. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb101_version}/source
  300. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb101_version}/source/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  301. fi
  302. fi
  303. tryDlCount=0
  304. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  305. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
  306. let "tryDlCount++"
  307. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  308. done
  309. if [ "${tryDlCount}" == '6' ]; then
  310. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  311. kill -9 $$
  312. else
  313. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  314. fi
  315. ;;
  316. 6)
  317. # MariaDB 10.0
  318. if [ "${dbInstallMethods}" == '1' ]; then
  319. echo "Download MariaDB 10.0 binary package..."
  320. FILE_NAME=mariadb-${mariadb100_version}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  321. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  322. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  323. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  324. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  325. else
  326. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb100_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  327. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb100_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  328. fi
  329. elif [ "${dbInstallMethods}" == '2' ]; then
  330. echo "Download MariaDB 10.0 source package..."
  331. FILE_NAME=mariadb-${mariadb100_version}.tar.gz
  332. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  333. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_version}/source
  334. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  335. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_version}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  336. else
  337. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb100_version}/source
  338. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb100_version}/source/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  339. fi
  340. fi
  341. tryDlCount=0
  342. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  343. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
  344. let "tryDlCount++"
  345. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  346. done
  347. if [ "${tryDlCount}" == '6' ]; then
  348. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  349. kill -9 $$
  350. else
  351. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  352. fi
  353. ;;
  354. 7)
  355. # MariaDB 5.5
  356. if [ "${dbInstallMethods}" == '1' ]; then
  357. echo "Download MariaDB 5.5 binary package..."
  358. FILE_NAME=mariadb-${mariadb55_version}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
  359. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  360. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  361. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  362. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  363. else
  364. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb55_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
  365. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb55_version}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  366. fi
  367. elif [ "${dbInstallMethods}" == '2' ]; then
  368. echo "Download MariaDB 5.5 source package..."
  369. FILE_NAME=mariadb-${mariadb55_version}.tar.gz
  370. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  371. DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_version}/source
  372. MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  373. [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_version}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
  374. else
  375. DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb55_version}/source
  376. MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb55_version}/source/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
  377. fi
  378. fi
  379. tryDlCount=0
  380. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
  381. wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
  382. let "tryDlCount++"
  383. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  384. done
  385. if [ "${tryDlCount}" == '6' ]; then
  386. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  387. kill -9 $$
  388. else
  389. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  390. fi
  391. ;;
  392. 8)
  393. # Precona 5.7
  394. if [ "${dbInstallMethods}" == '1' ]; then
  395. echo "Download Percona 5.7 binary package..."
  396. FILE_NAME=Percona-Server-${percona57_version}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
  397. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_version}/binary/tarball
  398. PERCONA_TAR_MD5=$(curl -s https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_version}/binary/tarball/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  399. elif [ "${dbInstallMethods}" == '2' ]; then
  400. echo "Download Percona 5.7 source package..."
  401. FILE_NAME=percona-server-${percona57_version}.tar.gz
  402. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  403. DOWN_ADDR_PERCONA=${mirrorLink}
  404. DOWN_ADDR_PERCONA_BK=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_version}/source/tarball
  405. PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  406. [ -z "${PERCONA_TAR_MD5}" ] && { DOWN_ADDR_PERCONA=${DOWN_ADDR_PERCONA_BK}; PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA_BK}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}'); }
  407. else
  408. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_version}/source/tarball
  409. PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  410. fi
  411. fi
  412. tryDlCount=0
  413. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
  414. wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
  415. let "tryDlCount++"
  416. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PERCONA_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  417. done
  418. if [ "${tryDlCount}" == '6' ]; then
  419. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  420. kill -9 $$
  421. else
  422. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  423. fi
  424. ;;
  425. 9)
  426. # Precona 5.6
  427. if [ "${dbInstallMethods}" == '1' ]; then
  428. echo "Download Percona 5.6 binary package..."
  429. perconaVerStr1=$(echo ${percona56_version} | sed "s@-@-rel@")
  430. FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
  431. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_version}/binary/tarball
  432. PERCONA_TAR_MD5=$(curl -s https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_version}/binary/tarball/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  433. elif [ "${dbInstallMethods}" == '2' ]; then
  434. echo "Download Percona 5.6 source package..."
  435. FILE_NAME=percona-server-${percona56_version}.tar.gz
  436. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  437. DOWN_ADDR_PERCONA=${mirrorLink}
  438. DOWN_ADDR_PERCONA_BK=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_version}/source/tarball
  439. PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  440. [ -z "${PERCONA_TAR_MD5}" ] && { DOWN_ADDR_PERCONA=${DOWN_ADDR_PERCONA_BK}; PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA_BK}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}'); }
  441. else
  442. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_version}/source/tarball
  443. PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  444. fi
  445. fi
  446. tryDlCount=0
  447. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
  448. wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
  449. let "tryDlCount++"
  450. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PERCONA_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  451. done
  452. if [ "${tryDlCount}" == '6' ]; then
  453. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  454. kill -9 $$
  455. else
  456. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  457. fi
  458. ;;
  459. 10)
  460. # Percona 5.5
  461. if [ "${dbInstallMethods}" == '1' ]; then
  462. echo "Download Percona 5.5 binary package..."
  463. perconaVerStr1=$(echo ${percona55_version} | sed "s@-@-rel@")
  464. FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
  465. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_version}/binary/tarball
  466. PERCONA_TAR_MD5=$(curl -s https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_version}/binary/tarball/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  467. elif [ "${dbInstallMethods}" == '2' ]; then
  468. echo "Download Percona 5.5 source package..."
  469. FILE_NAME=percona-server-${percona55_version}.tar.gz
  470. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  471. DOWN_ADDR_PERCONA=${mirrorLink}
  472. DOWN_ADDR_PERCONA_BK=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_version}/source/tarball
  473. PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  474. [ -z "${PERCONA_TAR_MD5}" ] && { DOWN_ADDR_PERCONA=${DOWN_ADDR_PERCONA_BK}; PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA_BK}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}'); }
  475. else
  476. DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_version}/source/tarball
  477. PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
  478. fi
  479. fi
  480. tryDlCount=0
  481. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
  482. wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
  483. let "tryDlCount++"
  484. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PERCONA_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  485. done
  486. if [ "${tryDlCount}" == '6' ]; then
  487. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  488. kill -9 $$
  489. else
  490. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  491. fi
  492. ;;
  493. 11)
  494. # AliSQL 5.6
  495. DOWN_ADDR_ALISQL=$mirrorLink
  496. echo "Download AliSQL 5.6 source package..."
  497. FILE_NAME=alisql-${alisql56_version}.tar.gz
  498. wget --tries=6 -c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME}
  499. wget --tries=6 -c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME}.md5
  500. ALISQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
  501. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${ALISQL_TAR_MD5}" ];do
  502. wget -4c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME};sleep 1
  503. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${ALISQL_TAR_MD5}" ] && break || continue
  504. done
  505. ;;
  506. 12)
  507. # PostgreSQL
  508. echo "Download PostgreSQL source package..."
  509. FILE_NAME=postgresql-${pgsql_version}.tar.gz
  510. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  511. DOWN_ADDR_PGSQL=https://mirrors.tuna.tsinghua.edu.cn/postgresql/source/v${pgsql_version}
  512. PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  513. [ -z "${PGSQL_TAR_MD5}" ] && { DOWN_ADDR_PGSQL=https://mirrors.ustc.edu.cn/postgresql/source/v${pgsql_version}; PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}'); }
  514. else
  515. DOWN_ADDR_PGSQL=https://ftp.postgresql.org/pub/source/v${pgsql_version}
  516. PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  517. fi
  518. tryDlCount=0
  519. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PGSQL_TAR_MD5}" ]; do
  520. wget -c --no-check-certificate ${DOWN_ADDR_PGSQL}/${FILE_NAME};sleep 1
  521. let "tryDlCount++"
  522. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PGSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  523. done
  524. if [ "${tryDlCount}" == '6' ]; then
  525. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  526. kill -9 $$
  527. else
  528. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  529. fi
  530. ;;
  531. 13)
  532. # MongoDB
  533. echo "Download MongoDB binary package..."
  534. FILE_NAME=mongodb-linux-${SYS_BIT_b}-${mongodb_version}.tgz
  535. if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
  536. DOWN_ADDR_MongoDB=${mirrorLink}
  537. else
  538. DOWN_ADDR_MongoDB=https://fastdl.mongodb.org/linux
  539. fi
  540. MongoDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MongoDB}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
  541. tryDlCount=0
  542. while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MongoDB_TAR_MD5}" ]; do
  543. wget -c --no-check-certificate ${DOWN_ADDR_MongoDB}/${FILE_NAME};sleep 1
  544. let "tryDlCount++"
  545. [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MongoDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
  546. done
  547. if [ "${tryDlCount}" == '6' ]; then
  548. echo "${CFAILURE}${FILE_NAME} download failed, Please contact the author! ${CEND}"
  549. kill -9 $$
  550. else
  551. echo "[${CMSG}${FILE_NAME}${CEND}] found."
  552. fi
  553. ;;
  554. esac
  555. fi
  556. # PHP
  557. if [ "${PHP_yn}" == 'y' ]; then
  558. # php 5.3 5.4 5.5 5.6 5.7
  559. echo "PHP common..."
  560. src_url=http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${libiconv_version}.tar.gz && Download_src
  561. src_url=https://curl.haxx.se/download/curl-${curl_version}.tar.gz && Download_src
  562. src_url=http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/${libmcrypt_version}/libmcrypt-${libmcrypt_version}.tar.gz && Download_src
  563. src_url=http://downloads.sourceforge.net/project/mhash/mhash/${mhash_version}/mhash-${mhash_version}.tar.gz && Download_src
  564. src_url=http://downloads.sourceforge.net/project/mcrypt/MCrypt/${mcrypt_version}/mcrypt-${mcrypt_version}.tar.gz && Download_src
  565. src_url=${mirrorLink}/libiconv-glibc-2.16.patch && Download_src
  566. case "${PHP_version}" in
  567. 1)
  568. # php 5.3
  569. src_url=${mirrorLink}/debian_patches_disable_SSLv2_for_openssl_1_0_0.patch && Download_src
  570. src_url=${mirrorLink}/php5.3patch && Download_src
  571. src_url=http://www.php.net/distributions/php-${php53_version}.tar.gz && Download_src
  572. src_url=${mirrorLink}/fpm-race-condition.patch && Download_src
  573. ;;
  574. 2)
  575. src_url=http://www.php.net/distributions/php-${php54_version}.tar.gz && Download_src
  576. src_url=${mirrorLink}/fpm-race-condition.patch && Download_src
  577. ;;
  578. 3)
  579. src_url=http://www.php.net/distributions/php-${php55_version}.tar.gz && Download_src
  580. src_url=${mirrorLink}/fpm-race-condition.patch && Download_src
  581. ;;
  582. 4)
  583. src_url=http://www.php.net/distributions/php-${php56_version}.tar.gz && Download_src
  584. ;;
  585. 5)
  586. src_url=http://www.php.net/distributions/php-${php70_version}.tar.gz && Download_src
  587. ;;
  588. 6)
  589. src_url=http://www.php.net/distributions/php-${php71_version}.tar.gz && Download_src
  590. ;;
  591. 7)
  592. src_url=http://www.php.net/distributions/php-${php72_version}.tar.gz && Download_src
  593. ;;
  594. esac
  595. fi
  596. # PHP OPCache
  597. case "${PHP_cache}" in
  598. 1)
  599. if [[ "$PHP_version" =~ ^[1-2]$ ]]; then
  600. # php 5.3 5.4
  601. echo "Download Zend OPCache..."
  602. src_url=https://pecl.php.net/get/zendopcache-${zendopcache_version}.tgz && Download_src
  603. fi
  604. ;;
  605. 2)
  606. if [[ "$PHP_version" =~ ^[1-4]$ ]]; then
  607. # php 5.3 5.4 5.5 5.6
  608. echo "Download xcache..."
  609. src_url=http://xcache.lighttpd.net/pub/Releases/${xcache_version}/xcache-${xcache_version}.tar.gz && Download_src
  610. fi
  611. ;;
  612. 3)
  613. # php 5.3 5.4 5.5 5.6 7.0 7.1 7.2
  614. echo "Download apcu..."
  615. if [[ "$PHP_version" =~ ^[1-4]$ ]]; then
  616. src_url=https://pecl.php.net/get/apcu-${apcu_version}.tgz && Download_src
  617. else
  618. src_url=https://pecl.php.net/get/apcu-${apcu_for_php7_version}.tgz && Download_src
  619. fi
  620. ;;
  621. 4)
  622. # php 5.3 5.4
  623. if [ "${PHP_version}" == '1' ]; then
  624. echo "Download eaccelerator 0.9..."
  625. src_url=https://github.com/downloads/eaccelerator/eaccelerator/eaccelerator-${eaccelerator_version}.tar.bz2 && Download_src
  626. elif [ "${PHP_version}" == '2' ]; then
  627. echo "Download eaccelerator 1.0 dev..."
  628. src_url=https://github.com/eaccelerator/eaccelerator/tarball/master && Download_src
  629. fi
  630. ;;
  631. esac
  632. # Zend Guard Loader
  633. if [ "${ZendGuardLoader_yn}" == 'y' -a "${armPlatform}" != 'y' ]; then
  634. case "${PHP_version}" in
  635. 4)
  636. if [ "${OS_BIT}" == "64" ]; then
  637. # 64 bit
  638. echo "Download zend loader for php 5.6..."
  639. src_url=${mirrorLink}/zend-loader-php5.6-linux-x86_64.tar.gz && Download_src
  640. else
  641. # 32 bit
  642. echo "Download zend loader for php 5.6..."
  643. src_url=${mirrorLink}/zend-loader-php5.6-linux-i386.tar.gz && Download_src
  644. fi
  645. ;;
  646. 3)
  647. if [ "${OS_BIT}" == "64" ]; then
  648. # 64 bit
  649. echo "Download zend loader for php 5.5..."
  650. src_url=${mirrorLink}/zend-loader-php5.5-linux-x86_64.tar.gz && Download_src
  651. else
  652. # 32 bit
  653. echo "Download zend loader for php 5.5..."
  654. src_url=${mirrorLink}/zend-loader-php5.5-linux-i386.tar.gz && Download_src
  655. fi
  656. ;;
  657. 2)
  658. if [ "${OS_BIT}" == "64" ]; then
  659. # 64 bit
  660. echo "Download zend loader for php 5.4..."
  661. src_url=${mirrorLink}/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz && Download_src
  662. else
  663. # 32 bit
  664. echo "Download zend loader for php 5.4..."
  665. src_url=${mirrorLink}/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386.tar.gz && Download_src
  666. fi
  667. ;;
  668. 1)
  669. if [ "${OS_BIT}" == "64" ]; then
  670. # 64 bit
  671. echo "Download zend loader for php 5.3..."
  672. src_url=${mirrorLink}/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz && Download_src
  673. else
  674. # 32 bit
  675. echo "Download zend loader for php 5.3..."
  676. src_url=${mirrorLink}/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz && Download_src
  677. fi
  678. ;;
  679. esac
  680. fi
  681. if [ "${DB_version}" == '13' ]; then
  682. if [[ "$PHP_version" =~ ^[1-2]$ ]]; then
  683. echo "Download pecl mongo for php..."
  684. src_url=https://pecl.php.net/get/mongo-${mongo_pecl_version}.tgz && Download_src
  685. else
  686. echo "Download pecl mongodb for php..."
  687. src_url=https://pecl.php.net/get/mongodb-${mongodb_pecl_version}.tgz && Download_src
  688. fi
  689. fi
  690. if [ "${ionCube_yn}" == 'y' ]; then
  691. echo "Download ioncube..."
  692. if [ "${OS_BIT}" == '64' ]; then
  693. src_url=http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz && Download_src
  694. else
  695. if [ "${TARGET_ARCH}" == "armv7" ]; then
  696. src_url=http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_armv7l.tar.gz && Download_src
  697. else
  698. src_url=http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz && Download_src
  699. fi
  700. fi
  701. fi
  702. if [ "${Magick_yn}" == 'y' ]; then
  703. if [ "${Magick}" == '1' ]; then
  704. echo "Download ImageMagick..."
  705. src_url=${mirrorLink}/ImageMagick-${ImageMagick_version}.tar.gz && Download_src
  706. echo "Download imagick..."
  707. src_url=https://pecl.php.net/get/imagick-${imagick_version}.tgz && Download_src
  708. else
  709. echo "Download graphicsmagick..."
  710. src_url=http://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/${GraphicsMagick_version}/GraphicsMagick-${GraphicsMagick_version}.tar.gz && Download_src
  711. if [[ "$PHP_version" =~ ^[5-7]$ ]]; then
  712. echo "Download gmagick for php 7.x..."
  713. src_url=https://pecl.php.net/get/gmagick-${gmagick_for_php7_version}.tgz && Download_src
  714. else
  715. echo "Download gmagick for php..."
  716. src_url=https://pecl.php.net/get/gmagick-${gmagick_version}.tgz && Download_src
  717. fi
  718. fi
  719. fi
  720. if [ "${FTP_yn}" == 'y' ]; then
  721. echo "Download pureftpd..."
  722. src_url=https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${pureftpd_version}.tar.gz && Download_src
  723. fi
  724. if [ "${phpMyAdmin_yn}" == 'y' ]; then
  725. echo "Download phpMyAdmin..."
  726. src_url=https://files.phpmyadmin.net/phpMyAdmin/${phpMyAdmin_version}/phpMyAdmin-${phpMyAdmin_version}-all-languages.tar.gz && Download_src
  727. fi
  728. if [ "${redis_yn}" == 'y' ]; then
  729. echo "Download redis..."
  730. src_url=http://download.redis.io/releases/redis-${redis_version}.tar.gz && Download_src
  731. echo "Download redis pecl..."
  732. src_url=https://pecl.php.net/get/redis-${redis_pecl_version}.tgz && Download_src
  733. if [ "${OS}" == "CentOS" ]; then
  734. echo "Download start-stop-daemon.c for CentOS..."
  735. src_url=${mirrorLink}/start-stop-daemon.c && Download_src
  736. fi
  737. fi
  738. if [ "${memcached_yn}" == 'y' ]; then
  739. echo "Download memcached..."
  740. src_url=http://www.memcached.org/files/memcached-${memcached_version}.tar.gz && Download_src
  741. if [[ "$PHP_version" =~ ^[5-7]$ ]]; then
  742. echo "Download pecl memcache for php 7.x..."
  743. # src_url=https://codeload.github.com/websupport-sk/pecl-memcache/zip/php7 && Download_src
  744. src_url=${mirrorLink}/pecl-memcache-php7.tgz && Download_src
  745. echo "Download pecl memcached for php 7.x..."
  746. src_url=https://pecl.php.net/get/memcached-${memcached_pecl_php7_version}.tgz && Download_src
  747. else
  748. echo "Download pecl memcache for php..."
  749. src_url=https://pecl.php.net/get/memcache-${memcache_pecl_version}.tgz && Download_src
  750. echo "Download pecl memcached for php..."
  751. src_url=https://pecl.php.net/get/memcached-${memcached_pecl_version}.tgz && Download_src
  752. fi
  753. echo "Download libmemcached..."
  754. src_url=https://launchpad.net/libmemcached/1.0/${libmemcached_version}/+download/libmemcached-${libmemcached_version}.tar.gz && Download_src
  755. fi
  756. if [[ $Nginx_version =~ ^[1-3]$ ]] || [ "$DB_yn" == 'y' -a "$DB_version" != '10' ]; then
  757. echo "Download jemalloc..."
  758. src_url=${mirrorLink}/jemalloc-${jemalloc_version}.tar.bz2 && Download_src
  759. fi
  760. # others
  761. if [ "${downloadDepsSrc}" == '1' ]; then
  762. if [ "${OS}" == "CentOS" ]; then
  763. echo "Download tmux for CentOS..."
  764. src_url=${mirrorLink}/libevent-${libevent_version}.tar.gz && Download_src
  765. src_url=https://github.com/tmux/tmux/releases/download/${tmux_version}/tmux-${tmux_version}.tar.gz && Download_src
  766. echo "Download htop for CentOS..."
  767. src_url=http://hisham.hm/htop/releases/${htop_version}/htop-${htop_version}.tar.gz && Download_src
  768. fi
  769. if [[ "${Ubuntu_version}" =~ ^14$|^15$ ]]; then
  770. echo "Download bison for Ubuntu..."
  771. src_url=http://ftp.gnu.org/gnu/bison/bison-${bison_version}.tar.gz && Download_src
  772. fi
  773. fi
  774. popd
  775. }