openssl.sh 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # BLOG: https://linuxeye.com
  4. #
  5. # Notes: OneinStack for CentOS/RedHat 7+ Debian 9+ and Ubuntu 16+
  6. #
  7. # Project home page:
  8. # https://oneinstack.com
  9. # https://github.com/oneinstack/oneinstack
  10. if openssl version | grep -Eqi 'OpenSSL 1.0.2*'; then
  11. php5_with_openssl="--with-openssl"
  12. php70_with_openssl="--with-openssl"
  13. php71_with_openssl="--with-openssl"
  14. php72_with_openssl="--with-openssl"
  15. php73_with_openssl="--with-openssl"
  16. php74_with_openssl="--with-openssl"
  17. php80_with_openssl="--with-openssl"
  18. php81_with_openssl="--with-openssl"
  19. php82_with_openssl="--with-openssl"
  20. php83_with_openssl="--with-openssl"
  21. php84_with_openssl="--with-openssl"
  22. php85_with_openssl="--with-openssl"
  23. php5_with_ssl="--with-ssl"
  24. php70_with_ssl="--with-ssl"
  25. php71_with_ssl="--with-ssl"
  26. php72_with_ssl="--with-ssl"
  27. php73_with_ssl="--with-ssl"
  28. php74_with_ssl="--with-ssl"
  29. php80_with_ssl="--with-ssl"
  30. php81_with_ssl="--with-ssl"
  31. php82_with_ssl="--with-ssl"
  32. php83_with_ssl="--with-ssl"
  33. php84_with_ssl="--with-ssl"
  34. php85_with_ssl="--with-ssl"
  35. php5_with_curl="--with-curl"
  36. php70_with_curl="--with-curl"
  37. php71_with_curl="--with-curl"
  38. php72_with_curl="--with-curl"
  39. php73_with_curl="--with-curl"
  40. php74_with_curl="--with-curl"
  41. php80_with_curl="--with-curl"
  42. php81_with_curl="--with-curl"
  43. php82_with_curl="--with-curl"
  44. php83_with_curl="--with-curl"
  45. php84_with_curl="--with-curl"
  46. php85_with_curl="--with-curl"
  47. elif openssl version | grep -Eqi 'OpenSSL 1.1.*'; then
  48. php5_with_openssl="--with-openssl=${openssl_install_dir}"
  49. php70_with_openssl="--with-openssl"
  50. php71_with_openssl="--with-openssl"
  51. php72_with_openssl="--with-openssl"
  52. php73_with_openssl="--with-openssl"
  53. php74_with_openssl="--with-openssl"
  54. php80_with_openssl="--with-openssl"
  55. php81_with_openssl="--with-openssl"
  56. php82_with_openssl="--with-openssl"
  57. php83_with_openssl="--with-openssl"
  58. php84_with_openssl="--with-openssl"
  59. php85_with_openssl="--with-openssl"
  60. php5_with_ssl="--with-ssl=${openssl_install_dir}"
  61. php70_with_ssl="--with-ssl"
  62. php71_with_ssl="--with-ssl"
  63. php72_with_ssl="--with-ssl"
  64. php73_with_ssl="--with-ssl"
  65. php74_with_ssl="--with-ssl"
  66. php80_with_ssl="--with-ssl"
  67. php81_with_ssl="--with-ssl"
  68. php82_with_ssl="--with-ssl"
  69. php83_with_ssl="--with-ssl"
  70. php84_with_ssl="--with-ssl"
  71. php85_with_ssl="--with-ssl"
  72. php5_with_curl="--with-curl=${curl_install_dir}"
  73. php70_with_curl="--with-curl"
  74. php71_with_curl="--with-curl"
  75. php72_with_curl="--with-curl"
  76. php73_with_curl="--with-curl"
  77. php74_with_curl="--with-curl"
  78. php80_with_curl="--with-curl"
  79. php81_with_curl="--with-curl"
  80. php82_with_curl="--with-curl"
  81. php83_with_curl="--with-curl"
  82. php84_with_curl="--with-curl"
  83. php85_with_curl="--with-curl"
  84. [[ ${php_option} =~ ^[1-4]$ ]] || [[ "${mphp_ver}" =~ ^5[3-6]$ ]] && with_old_openssl_flag=y
  85. elif openssl version | grep -Eqi 'OpenSSL 3.*'; then
  86. php5_with_openssl="--with-openssl=${openssl_install_dir}"
  87. php70_with_openssl="--with-openssl=${openssl_install_dir}"
  88. php71_with_openssl="--with-openssl"
  89. php72_with_openssl="--with-openssl"
  90. php73_with_openssl="--with-openssl"
  91. php74_with_openssl="--with-openssl"
  92. php80_with_openssl="--with-openssl"
  93. php81_with_openssl="--with-openssl"
  94. php82_with_openssl="--with-openssl"
  95. php83_with_openssl="--with-openssl"
  96. php84_with_openssl="--with-openssl"
  97. php85_with_openssl="--with-openssl"
  98. php5_with_ssl="--with-ssl=${openssl_install_dir}"
  99. php70_with_ssl="--with-ssl=${openssl_install_dir}"
  100. php71_with_ssl="--with-ssl"
  101. php72_with_ssl="--with-ssl"
  102. php73_with_ssl="--with-ssl"
  103. php74_with_ssl="--with-ssl"
  104. php80_with_ssl="--with-ssl"
  105. php81_with_ssl="--with-ssl"
  106. php82_with_ssl="--with-ssl"
  107. php83_with_ssl="--with-ssl"
  108. php84_with_ssl="--with-ssl"
  109. php85_with_ssl="--with-ssl"
  110. php5_with_curl="--with-curl=${curl_install_dir}"
  111. php70_with_curl="--with-curl=${curl_install_dir}"
  112. php71_with_curl="--with-curl"
  113. php72_with_curl="--with-curl"
  114. php73_with_curl="--with-curl"
  115. php74_with_curl="--with-curl"
  116. php80_with_curl="--with-curl"
  117. php81_with_curl="--with-curl"
  118. php82_with_curl="--with-curl"
  119. php83_with_curl="--with-curl"
  120. php84_with_curl="--with-curl"
  121. php85_with_curl="--with-curl"
  122. [[ ${php_option} =~ ^[1-5]$ ]] || [[ "${mphp_ver}" =~ ^5[3-6]$|^70$ ]] && with_old_openssl_flag=y
  123. else
  124. php5_with_openssl="--with-openssl=${openssl_install_dir}"
  125. php70_with_openssl="--with-openssl=${openssl_install_dir}"
  126. php71_with_openssl="--with-openssl=${openssl_install_dir}"
  127. php72_with_openssl="--with-openssl=${openssl_install_dir}"
  128. php73_with_openssl="--with-openssl=${openssl_install_dir}"
  129. php74_with_openssl="--with-openssl=${openssl_install_dir} --with-openssl-dir=${openssl_install_dir}"
  130. php80_with_openssl="--with-openssl=${openssl_install_dir} --with-openssl-dir=${openssl_install_dir}"
  131. php81_with_openssl="--with-openssl=${openssl_install_dir} --with-openssl-dir=${openssl_install_dir}"
  132. php82_with_openssl="--with-openssl=${openssl_install_dir} --with-openssl-dir=${openssl_install_dir}"
  133. php83_with_openssl="--with-openssl=${openssl_install_dir} --with-openssl-dir=${openssl_install_dir}"
  134. php84_with_openssl="--with-openssl=${openssl_install_dir} --with-openssl-dir=${openssl_install_dir}"
  135. php85_with_openssl="--with-openssl=${openssl_install_dir} --with-openssl-dir=${openssl_install_dir}"
  136. php5_with_ssl="--with-ssl=${openssl_install_dir}"
  137. php70_with_ssl="--with-ssl=${openssl_install_dir}"
  138. php71_with_ssl="--with-ssl=${openssl_install_dir}"
  139. php72_with_ssl="--with-ssl=${openssl_install_dir}"
  140. php73_with_ssl="--with-ssl=${openssl_install_dir}"
  141. php74_with_ssl="--with-ssl=${openssl_install_dir}"
  142. php80_with_ssl="--with-ssl=${openssl_install_dir}"
  143. php81_with_ssl="--with-ssl=${openssl_install_dir}"
  144. php82_with_ssl="--with-ssl=${openssl_install_dir}"
  145. php83_with_ssl="--with-ssl=${openssl_install_dir}"
  146. php84_with_ssl="--with-ssl=${openssl_install_dir}"
  147. php85_with_ssl="--with-ssl=${openssl_install_dir}"
  148. php5_with_curl="--with-curl=${curl_install_dir}"
  149. php70_with_curl="--with-curl=${curl_install_dir}"
  150. php71_with_curl="--with-curl=${curl_install_dir}"
  151. php72_with_curl="--with-curl=${curl_install_dir}"
  152. php73_with_curl="--with-curl=${curl_install_dir}"
  153. php74_with_curl="--with-curl=${curl_install_dir}"
  154. php80_with_curl="--with-curl=${curl_install_dir}"
  155. php81_with_curl="--with-curl=${curl_install_dir}"
  156. php82_with_curl="--with-curl=${curl_install_dir}"
  157. php83_with_curl="--with-curl=${curl_install_dir}"
  158. php84_with_curl="--with-curl=${curl_install_dir}"
  159. php85_with_curl="--with-curl=${curl_install_dir}"
  160. with_old_openssl_flag=y
  161. fi
  162. Install_openSSL() {
  163. if [ "${with_old_openssl_flag}" == 'y' ]; then
  164. if [ ! -e "${openssl_install_dir}/lib/libssl.a" ]; then
  165. pushd ${oneinstack_dir}/src > /dev/null
  166. tar xzf openssl-${openssl_ver}.tar.gz
  167. pushd openssl-${openssl_ver} > /dev/null
  168. make clean
  169. ./config -Wl,-rpath=${openssl_install_dir}/lib -fPIC --prefix=${openssl_install_dir} --openssldir=${openssl_install_dir}
  170. make depend
  171. make -j ${THREAD} && make install
  172. popd > /dev/null
  173. if [ -f "${openssl_install_dir}/lib/libcrypto.a" ]; then
  174. echo "${CSUCCESS}openSSL installed successfully! ${CEND}"
  175. /bin/cp cacert.pem ${openssl_install_dir}/cert.pem
  176. rm -rf openssl-${openssl_ver}
  177. else
  178. echo "${CFAILURE}openSSL install failed, Please contact the author! ${CEND}" && grep -Ew 'NAME|ID|ID_LIKE|VERSION_ID|PRETTY_NAME' /etc/os-release
  179. kill -9 $$; exit 1;
  180. fi
  181. popd > /dev/null
  182. fi
  183. fi
  184. }