ffead-cpp-apache.sh 2.7 KB

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