check_download.sh 40 KB

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