install_ffead-cpp-httpd.sh 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/bin/bash
  2. cd $IROOT
  3. #chown -R www-data:www-data ffead-cpp-2.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-2.0/include/AppDefines.h
  23. sed -i 's|#define PACKAGE_NAME "ffead-cpp"| |g' ${IROOT}/ffead-cpp-2.0/include/AppDefines.h
  24. sed -i 's|#define PACKAGE_STRING "ffead-cpp 2.0"| |g' ${IROOT}/ffead-cpp-2.0/include/AppDefines.h
  25. sed -i 's|#define PACKAGE_TARNAME "ffead-cpp"| |g' ${IROOT}/ffead-cpp-2.0/include/AppDefines.h
  26. sed -i 's|#define PACKAGE_VERSION "2.0"| |g' ${IROOT}/ffead-cpp-2.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-2.0/include/" -I"${IROOT}/include" -I"${IROOT}/include/libbson-1.0/" -I"${IROOT}/include/libmongoc-1.0" mod_ffeadcpp.cpp -L"${IROOT}/ffead-cpp-2.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_ffeadcpp.so mod_ffeadcpp.o -L"${IROOT}/ffead-cpp-2.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' mod_ffeadcpp.so
  31. cd -
  32. FFEADROOT=${IROOT}/ffead-cpp-2.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:$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. mv /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/ffead-site.conf
  55. bash -c 'cat > /etc/apache2/sites-enabled/ffead-site.conf <<EOL
  56. LoadModule ffead_cpp_module /usr/lib/apache2/modules/mod_ffeadcpp.so
  57. Listen 8080
  58. FFEAD_CPP_PATH '"${FFEADROOT}"'
  59. <VirtualHost *:8080>
  60. DocumentRoot '"${FFEADROOT}"'/web
  61. SetHandler ffead_cpp_module
  62. <Directory '"${FFEADROOT}"'>
  63. Options FollowSymLinks
  64. AllowOverride None
  65. Require all denied
  66. </Directory>
  67. <Directory '"${FFEADROOT}"'/web/>
  68. Options -Indexes +FollowSymLinks +MultiViews
  69. AllowOverride All
  70. Require all granted
  71. </Directory>
  72. </VirtualHost>
  73. EOL'