ffead-cpp-apache.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. RETCODE=$(fw_exists ${IROOT}/ffead-cpp-apache.installed)
  3. [ ! "$RETCODE" == 0 ] || { return 0; }
  4. sudo apt-get install -y uuid-dev unixodbc unixodbc-dev
  5. fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/v2.0-Draft-TLV-Fixed-TE_Benchmark/ffead-cpp-2.0-tlfixed-bin.tar.gz
  6. fw_untar ffead-cpp-2.0.tar.gz
  7. sudo rm -rf /var/www/ffead-cpp-2.0-bin
  8. sudo cp -R ffead-cpp-2.0-bin/ /var/www
  9. sudo mv /var/www/ffead-cpp-2.0-bin /var/www/ffead-cpp-2.0
  10. rm -rf ffead-cpp-2.0/
  11. wget https://github.com/mongodb/mongo-c-driver/releases/download/1.1.10/mongo-c-driver-1.1.10.tar.gz
  12. tar -xzf mongo-c-driver-1.1.10.tar.gz
  13. cd mongo-c-driver-1.1.10/
  14. ./configure --prefix=${IROOT} --libdir=${IROOT}
  15. make && sudo make install
  16. FFEADROOT=/var/www/ffead-cpp-2.0
  17. ETROOT=${FFEADROOT//\//\\/}
  18. EIROOT=${IROOT//\//\\/}
  19. sudo sed -i 's/.*Listen 80.*/#Listen 80/' /etc/apache2/ports.conf
  20. sudo sed -i '/^export FFEAD_CPP_PATH=/{h;s/=.*/='"${ETROOT}"'/};${x;/^$/{s//export FFEAD_CPP_PATH='"${ETROOT}"'/;H};x}' /etc/apache2/envvars
  21. 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
  22. sudo bash -c 'rm -f /etc/apache2/sites-enabled/ffead-site.conf'
  23. sudo bash -c 'cat > /etc/apache2/sites-enabled/ffead-site.conf <<EOL
  24. LoadModule ffead_cpp_module '"${FFEADROOT}"'/mod_ffeadcpplib.so
  25. Listen 8080
  26. FFEAD_CPP_PATH '"${FFEADROOT}"'
  27. <VirtualHost *:8080>
  28. DocumentRoot '"${FFEADROOT}"'/web
  29. SetHandler ffead_cpp_module
  30. <Directory '"${FFEADROOT}"'>
  31. Options FollowSymLinks
  32. AllowOverride None
  33. Require all denied
  34. </Directory>
  35. <Directory '"${FFEADROOT}"'/web/>
  36. Options -Indexes +FollowSymLinks +MultiViews
  37. AllowOverride All
  38. Require all granted
  39. </Directory>
  40. </VirtualHost>
  41. EOL'
  42. sudo adduser testrunner www-data
  43. sudo chown -R www-data:www-data ${FFEADROOT}
  44. sudo chmod -R g+rw ${FFEADROOT}
  45. touch ${IROOT}/ffead-cpp-apache.installed