install_ffead-cpp-httpd.sh 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #!/bin/bash
  2. cd $IROOT
  3. #chown -R www-data:www-data ffead-cpp-3.0
  4. #wget -q https://archive.apache.org/dist/httpd/httpd-2.4.25.tar.gz
  5. #wget -q https://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
  6. #wget -q https://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
  7. #rm -rf ${IROOT}/httpd-2.4.25
  8. #rm -rf ${IROOT}/apr-1.5.2
  9. #rm -rf ${IROOT}/apr-util-1.5.4
  10. #tar xf httpd-2.4.25.tar.gz
  11. #tar xf apr-1.5.2.tar.gz
  12. #tar xf apr-util-1.5.4.tar.gz
  13. #mv -f apr-1.5.2 httpd-2.4.25/srclib/apr
  14. #mv -f apr-util-1.5.4 httpd-2.4.25/srclib/apr-util
  15. #cd ${IROOT}/httpd-2.4.25
  16. #rm -rf ${IROOT}/httpd
  17. #mkdir ${IROOT}/httpd
  18. #./configure --prefix=${IROOT}/httpd --enable-mods-shared=all --with-included-apr
  19. #make
  20. #make install
  21. #cd ${IROOT}
  22. sed -i 's|#define PACKAGE_BUGREPORT "[email protected]"| |g' ${IROOT}/ffead-cpp-3.0/include/AppDefines.h
  23. sed -i 's|#define PACKAGE_NAME "ffead-cpp"| |g' ${IROOT}/ffead-cpp-3.0/include/AppDefines.h
  24. sed -i 's|#define PACKAGE_STRING "ffead-cpp 2.0"| |g' ${IROOT}/ffead-cpp-3.0/include/AppDefines.h
  25. sed -i 's|#define PACKAGE_TARNAME "ffead-cpp"| |g' ${IROOT}/ffead-cpp-3.0/include/AppDefines.h
  26. sed -i 's|#define PACKAGE_VERSION "2.0"| |g' ${IROOT}/ffead-cpp-3.0/include/AppDefines.h
  27. #cd ${IROOT}/ffead-cpp-src/modules/apache_mod_ffeadcpp/
  28. #g++ -fpic -DSHARED_MODULE -fpermissive -std=gnu++11 -I"/usr/include/apache2" -I"/usr/include/apr-1.0" -I"${IROOT}/ffead-cpp-3.0/include/" -I"${IROOT}/include" -I"${IROOT}/include/libbson-1.0/" -I"${IROOT}/include/libmongoc-1.0" mod_ffeadcpp.cpp -L"${IROOT}/ffead-cpp-3.0/lib" -L"${IROOT}" -L"${IROOT}/lib" -lffead_common -lffead_framework -ldl -lcrypto -lssl -lhiredis -lmemcachedutil -c mod_ffeadcpp.cpp
  29. #g++ -shared -o mod_ffeadcpplib.so mod_ffeadcpp.o -L"${IROOT}/ffead-cpp-3.0/lib" -L"${IROOT}" -L"${IROOT}/lib" -lffead_common -lffead_framework -ldl -lcrypto -lssl -lapr-1 -laprutil-1 -lstdc++ -lhiredis -lmemcachedutil
  30. #apxs -i -n 'ffead_cpp_module' mod_ffeadcpplib.so
  31. #cd -
  32. FFEADROOT=${IROOT}/ffead-cpp-3.0
  33. ETROOT=${FFEADROOT//\//\\/}
  34. EIROOT=${IROOT//\//\\/}
  35. sed -i 's|Include ports.conf|#Include ports.conf|g' /etc/apache2/apache2.conf
  36. #echo 'Include /etc/apache2/sites-enabled/ffead-site.conf' >> /etc/apache2/apache2.conf
  37. bash -c 'cat <<EOL >> /etc/apache2/envvars
  38. export FFEAD_CPP_PATH='"${FFEADROOT}"'
  39. export LD_LIBRARY_PATH='"${FFEADROOT}"'/lib:'"${IROOT}"':'"${IROOT}"'/lib:/usr/local/lib:$LD_LIBRARY_PATH/
  40. export ODBCINI='"$IROOT"'/odbc.ini
  41. export ODBCSYSINI='"$IROOT"'
  42. EOL'
  43. #bash -c 'cat > /etc/apache2/mods-enabled/mpm_event.conf <<EOL
  44. #<IfModule mpm_event_module>
  45. # AsyncRequestWorkerFactor 2
  46. # ThreadsPerChild 64
  47. # ServerLimit 100
  48. # StartServers 20
  49. # MinSpareThreads 100
  50. # MaxSpareThreads 200
  51. # ListenBacklog 4096
  52. #</IfModule>
  53. #EOL'
  54. bash -c 'cat > /etc/apache2/mods-enabled/mpm_worker.conf <<EOL
  55. <IfModule mpm_worker_module>
  56. ServerLimit 250
  57. StartServers 10
  58. MinSpareThreads 75
  59. MaxSpareThreads 250
  60. ThreadLimit 64
  61. ThreadsPerChild 32
  62. MaxRequestWorkers 8000
  63. MaxConnectionsPerChild 10000
  64. </IfModule>
  65. EOL'
  66. mv /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/ffead-site.conf
  67. bash -c 'cat > /etc/apache2/sites-enabled/ffead-site.conf <<EOL
  68. LoadModule ffead_cpp_module /usr/lib/apache2/modules/mod_ffeadcpplib.so
  69. Listen 8080
  70. FFEAD_CPP_PATH '"${FFEADROOT}"'
  71. <VirtualHost *:8080>
  72. DocumentRoot '"${FFEADROOT}"'/web
  73. SetHandler ffead_cpp_module
  74. <Directory '"${FFEADROOT}"'>
  75. Options FollowSymLinks
  76. AllowOverride None
  77. Require all denied
  78. </Directory>
  79. <Directory '"${FFEADROOT}"'/web/>
  80. Options -Indexes +FollowSymLinks +MultiViews
  81. AllowOverride All
  82. Require all granted
  83. </Directory>
  84. </VirtualHost>
  85. EOL'