ffead-cpp-apache.sh 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/bash
  2. RETCODE=$(fw_exists ${IROOT}/ffead-cpp-apache.installed)
  3. [ ! "$RETCODE" == 0 ] || { return 0; }
  4. fw_get -o unixODBC-2.3.4.tar.gz ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
  5. fw_untar unixODBC-2.3.4.tar.gz
  6. cd unixODBC-2.3.4
  7. ./configure --enable-stats=no --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --sysconfdir=/etc
  8. sudo make install
  9. sudo apt-get install -y build-essential
  10. sudo apt-get install -y uuid-dev libmyodbc odbc-postgresql
  11. fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/2.0/ffead-cpp-2.0-te-bin.tar.gz
  12. fw_untar ffead-cpp-2.0.tar.gz
  13. sudo rm -rf /var/www/ffead-cpp-2.0
  14. sudo cp -R ffead-cpp-2.0-bin/ /var/www
  15. sudo mv /var/www/ffead-cpp-2.0-bin /var/www/ffead-cpp-2.0
  16. rm -rf ffead-cpp-2.0/
  17. sudo sed -i 's|localhost|'${DBHOST}'|g' ${TROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdorm*
  18. sudo rm -f /etc/odbcinst.ini
  19. sudo rm -f /etc/odbc.ini
  20. sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbcinst.ini /etc/odbcinst.ini
  21. sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbc.ini /etc/odbc.ini
  22. sudo sed -i 's|localhost|'${DBHOST}'|g' /etc/odbc.ini
  23. fw_get -o mongo-c-driver-1.4.0.tar.gz https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
  24. fw_untar mongo-c-driver-1.4.0.tar.gz
  25. cd mongo-c-driver-1.4.0/
  26. ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup
  27. make && sudo make install
  28. FFEADROOT=/var/www/ffead-cpp-2.0
  29. ETROOT=${FFEADROOT//\//\\/}
  30. EIROOT=${IROOT//\//\\/}
  31. sudo sed -i 's/.*Listen 80.*/#Listen 80/' /etc/apache2/ports.conf
  32. sudo sed -i '/^export FFEAD_CPP_PATH=/{h;s/=.*/='"${ETROOT}"'/};${x;/^$/{s//export FFEAD_CPP_PATH='"${ETROOT}"'/;H};x}' /etc/apache2/envvars
  33. sudo sed -i '/^export LD_LIBRARY_PATH=/{h;s/=.*/='"${EIROOT}"':$FFEAD_CPP_PATH\/lib:$LD_LIBRARY_PATH/};${x;/^$/{s//export LD_LIBRARY_PATH='"${EIROOT}"':$FFEAD_CPP_PATH\/lib:$LD_LIBRARY_PATH/;H};x}' /etc/apache2/envvars
  34. sudo bash -c 'rm -f /etc/apache2/sites-enabled/ffead-site.conf'
  35. sudo bash -c 'cat > /etc/apache2/sites-enabled/ffead-site.conf <<EOL
  36. LoadModule ffead_cpp_module '"${FFEADROOT}"'/mod_ffeadcpplib.so
  37. Listen 8080
  38. FFEAD_CPP_PATH '"${FFEADROOT}"'
  39. <VirtualHost *:8080>
  40. DocumentRoot '"${FFEADROOT}"'/web
  41. SetHandler ffead_cpp_module
  42. <Directory '"${FFEADROOT}"'>
  43. Options FollowSymLinks
  44. AllowOverride None
  45. Require all denied
  46. </Directory>
  47. <Directory '"${FFEADROOT}"'/web/>
  48. Options -Indexes +FollowSymLinks +MultiViews
  49. AllowOverride All
  50. Require all granted
  51. </Directory>
  52. </VirtualHost>
  53. EOL'
  54. sudo chown -R www-data:www-data ${FFEADROOT}
  55. sudo chmod -R g+rw ${FFEADROOT}
  56. touch ${IROOT}/ffead-cpp-apache.installed