Advertisement
Guest User

Untitled

a guest
Nov 24th, 2013
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.83 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. printPlain() { /bin/echo -e "${1}" >&2; }
  4. printGreen() { /bin/echo -e "\033[32;1m${1}\033[0m" >&2; }
  5. printBlue() { /bin/echo -e "\033[34;1m${1}\033[0m" >&2; }
  6. printYellow() { /bin/echo -e "\033[33;1m${1}\033[0m" >&2; }
  7. printRed() { /bin/echo -e "\033[31;1m${1}\033[0m" >&2; }
  8.  
  9. printGreen "Installing Required Packages"
  10. sudo apt-get -y update
  11. sudo apt-get -y install wget git-core
  12.  
  13. #install and configure sx
  14. INSTALL_SX=1
  15. if [ -e /usr/local/bin/sx ]; then
  16.   read -p "sx is already installed, reinstall? (y/n): " -e REINSTALL_SX
  17.   if [ "${REINSTALL_SX}" != 'y' ]; then
  18.     INSTALL_SX=0
  19.   fi
  20. fi
  21. if [ $INSTALL_SX -eq 1 ]; then
  22.  printGreen "Installing sx..."
  23.  CURDIR=`pwd`
  24.  cd /tmp
  25.  wget http://sx.dyne.org/install-sx.sh
  26.  sudo sed -r -i -e "s/apt-get install/apt-get -y install/g" /tmp/install-sx.sh
  27.  #^ makes the script run a bit more user friendly
  28.  sudo bash ./install-sx.sh
  29.  cd ${CURDIR}
  30. fi
  31.  
  32. #create ob user
  33. if [ -z "`getent passwd ob`" ]; then
  34.   printGreen "Creating ob user"
  35.   sudo adduser --system --disabled-password --shell /bin/bash --home /var/lib/blockchain --group ob
  36. else
  37.   printYellow "ob user already exists: skipping..."
  38. fi
  39.  
  40. #setup blockchain data dir
  41. if [ ! -e /var/lib/blockchain/block ]; then
  42.  sudo sx initchain /var/lib/blockchain/
  43. fi
  44. sudo chown -R ob:ob /var/lib/blockchain
  45.  
  46. #configure obworker to throw its logfiles into /var/lib/blockchain/
  47. if [ -z "`grep -E \"\/var\/lib\/blockchain\/\" /etc/obelisk/worker.cfg`" ]; then
  48.  sudo sed -r -i -e "s/blockchain\-path =.*?$/blockchain-path = \"\/var\/lib\/blockchain\/\"/g" /etc/obelisk/worker.cfg
  49.  sudo sed -r -i -e "s/debug\.log/\/var\/lib\/blockchain\/debug.log/g" /etc/obelisk/worker.cfg
  50.  sudo sed -r -i -e "s/error\.log/\/var\/lib\/blockchain\/error.log/g" /etc/obelisk/worker.cfg
  51. fi
  52.  
  53. #to prevent the error.log and debug.log files from getting too big with obworker...
  54. sudo ln -sf /opt/mastercoind/sysinstall/linux/logrotate.d/obworker /etc/logrotate.d/obworker
  55.  
  56. #up open file limits for ob user (which obelisk runs as) because libbitcoin needs higher limits
  57. sudo bash -c "echo \"ob  soft  nofile 4096\" >> /etc/security/limits.conf"
  58. sudo bash -c "sudo echo \"ob  hard  nofile 65000\" >> /etc/security/limits.conf"
  59. sudo bash -c "sudo echo \"session required pam_limits.so\" >> /etc/pam.d/common-session"
  60.  
  61. #setup init scripts
  62. printBlue "Setting up init scripts..."
  63. sudo ln -sf /opt/mastercoind/sysinstall/linux/init.d/obworker /etc/init.d/obworker
  64. sudo ln -sf /opt/mastercoind/sysinstall/linux/init.d/obbalancer /etc/init.d/obbalancer
  65. sudo update-rc.d obworker defaults 80
  66. sudo update-rc.d obbalancer defaults 81
  67.  
  68. printBlue "Starting services..."
  69. sudo service obworker start
  70.  
  71. #create necessary local config files for sx
  72. cp /usr/local/share/sx/sx.cfg ~/.sx.cfg
  73. sudo cp /usr/local/share/sx/sx.cfg ~mastercoind/.sx.cfg
  74.  
  75. printGreen "All done!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement