refactor
This commit is contained in:
		
							parent
							
								
									b44332e44d
								
							
						
					
					
						commit
						e013693961
					
				
							
								
								
									
										69
									
								
								setup-deps-mavericks.bash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								setup-deps-mavericks.bash
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,69 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | # curl -fsSL https://ldsconnect.org/setup-osx.bash | bash -c | ||||||
|  | NO_FAIL2BAN=${1} | ||||||
|  | 
 | ||||||
|  | echo "" | ||||||
|  | echo "" | ||||||
|  | 
 | ||||||
|  | # XCode | ||||||
|  | # testing for which git, gcc, etc will not work because the tools are aliased to the install script | ||||||
|  | if [ -z "$(xcode-select --print-path 2>/dev/null)" ] || [ -z "$(git --version 2>/dev/null)" ]; then | ||||||
|  |   echo "Hey You!!!" | ||||||
|  |   echo "" | ||||||
|  |   echo "A thingy is going to pop up and ask you to install 'command line developer tools' for 'xcode-select'" | ||||||
|  |   echo "" | ||||||
|  |   echo "You need to click Install. This installation should begin when that finishes." | ||||||
|  |   echo "(if that box doesn't pop up in a second or two, something went wrong)" | ||||||
|  |   echo "(note that it may pop up underneath this window, so check for it in the dock too)" | ||||||
|  |   echo "" | ||||||
|  | 
 | ||||||
|  |   xcode-select --install 2>/dev/null | ||||||
|  | 
 | ||||||
|  |   while true; do | ||||||
|  |     sleep 5 | ||||||
|  | 
 | ||||||
|  |     if [ -n "$(git --version 2>/dev/null)" ] && [ -n "$(xcode-select --print-path 2>/dev/null)" ]; then | ||||||
|  |       break; | ||||||
|  |     fi | ||||||
|  |   done | ||||||
|  | 
 | ||||||
|  |   echo "It looks like the other install is finishing up." | ||||||
|  |   echo "This installation will begin in one minute." | ||||||
|  |   sleep 60 | ||||||
|  | else | ||||||
|  |   echo "XCode Command Line Tools already installed" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # homebrew | ||||||
|  | if [ -z "$(which brew | grep brew)" ]; then | ||||||
|  |   echo "installing brew (homebrew)..." | ||||||
|  |   ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | ||||||
|  |   brew doctor | ||||||
|  | else | ||||||
|  |   echo "updating brew..." | ||||||
|  |   brew update >/dev/null 2>/dev/null | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -z "$(which wget | grep wget)" ]; then | ||||||
|  |   echo "installing wget..." | ||||||
|  |   brew install wget | ||||||
|  | else | ||||||
|  |   echo "wget already installed" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # http://www.fail2ban.org/wiki/index.php/HOWTO_Mac_OS_X_Server_(10.5) | ||||||
|  | if [ -z "$(which fail2ban-server | grep fail2ban)" ]; then | ||||||
|  |   if [ -z "${NO_FAIL2BAN}" ]; then | ||||||
|  |     brew install fail2ban | ||||||
|  |     sudo cp -fv /usr/local/opt/fail2ban/*.plist /Library/LaunchDaemons | ||||||
|  |     sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.fail2ban.plist | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -z "$(which pkg-config | grep pkg-config)" ]; then | ||||||
|  |   echo "installing pkg-config..." | ||||||
|  |   brew install pkg-config | ||||||
|  | else | ||||||
|  |   echo "pkg-config already installed" | ||||||
|  | fi | ||||||
							
								
								
									
										26
									
								
								setup-deps-ubuntu.bash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								setup-deps-ubuntu.bash
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | # curl -fsSL https://ldsconnect.org/setup-linux.bash | bash -c | ||||||
|  | 
 | ||||||
|  | NO_FAIL2BAN=${1} | ||||||
|  | 
 | ||||||
|  | echo "" | ||||||
|  | echo "" | ||||||
|  | 
 | ||||||
|  | echo "updating apt-get..." | ||||||
|  | sudo bash -c "apt-get update -qq -y < /dev/null" > /dev/null | ||||||
|  | 
 | ||||||
|  | # fail2ban | ||||||
|  | if [ -z "$(which fail2ban-server | grep fail2ban)" ]; then | ||||||
|  |   if [ -z "${NO_FAIL2BAN}" ]; then | ||||||
|  |     echo "installing fail2ban..." | ||||||
|  |     sudo bash -c "apt-get install -qq -y fail2ban < /dev/null" > /dev/null | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # git, wget, curl, build-essential | ||||||
|  | if [ -z "$(which pkg-config | grep pkg-config)" ] || [ -z "$(which git | grep git)" ] || [ -z "$(which wget | grep wget)" ] || [ -z "$(which curl | grep curl)" ] || [ -z "$(which gcc | grep gcc)" ] || [ -z "$(which rsync | grep rsync)" ] | ||||||
|  | then | ||||||
|  |   echo "installing git, wget, curl, build-essential, rsync, pkg-config..." | ||||||
|  |   sudo bash -c "apt-get install -qq -y git wget curl build-essential rsync pkg-config < /dev/null" > /dev/null 2>/dev/null | ||||||
|  | fi | ||||||
							
								
								
									
										10
									
								
								setup-iojs-mavericks.bash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								setup-iojs-mavericks.bash
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | IOJS_VER=${1} | ||||||
|  | 
 | ||||||
|  | if [ -n "${IOJS_VER}" ]; then | ||||||
|  |   echo "installing io.js as iojs ${IOJS_VER}..." | ||||||
|  |   curl -fsSL "http://iojs.org/dist/${IOJS_VER}/iojs-${IOJS_VER}.pkg" -o "/tmp/iojs-${IOJS_VER}.pkg" | ||||||
|  |   sudo /usr/sbin/installer -pkg "/tmp/iojs-${IOJS_VER}.pkg" -target / | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   sudo chown -R $(whoami) /usr/local 2>/dev/null | ||||||
|  | fi | ||||||
							
								
								
									
										20
									
								
								setup-iojs-ubuntu.bash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								setup-iojs-ubuntu.bash
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | |||||||
|  | IOJS_VER=${1} | ||||||
|  | 
 | ||||||
|  | if [ -n "$(arch | grep 64)" ]; then | ||||||
|  |   ARCH="x64" | ||||||
|  | else | ||||||
|  |   ARCH="x86" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -n "${IOJS_VER}" ]; then | ||||||
|  |   echo "installing io.js as iojs ${IOJS_VER}..." | ||||||
|  |   curl -fsSL "http://iojs.org/dist/${IOJS_VER}/iojs-${IOJS_VER}-linux-${ARCH}.tar.gz" \ | ||||||
|  |     -o "/tmp/iojs-${IOJS_VER}-linux-${ARCH}.tar.gz" | ||||||
|  |   pushd /tmp | ||||||
|  |   tar xf /tmp/iojs-${IOJS_VER}-linux-${ARCH}.tar.gz | ||||||
|  |   rm iojs-${IOJS_VER}-linux-x64/{LICENSE,CHANGELOG.md,README.md} | ||||||
|  |   sudo rsync -a "/tmp/iojs-${IOJS_VER}-linux-${ARCH}/" /usr/local/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   sudo chown -R $(whoami) /usr/local | ||||||
|  | fi | ||||||
| @ -1,134 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| 
 |  | ||||||
| # curl -fsSL https://ldsconnect.org/setup-osx.bash | bash -c |  | ||||||
| IOJS_VER=${1} |  | ||||||
| 
 |  | ||||||
| echo "" |  | ||||||
| echo "" |  | ||||||
| 
 |  | ||||||
| # XCode |  | ||||||
| # testing for which git, gcc, etc will not work because the tools are aliased to the install script |  | ||||||
| if [ -z "$(xcode-select --print-path 2>/dev/null)" ] || [ -z "$(git --version 2>/dev/null)" ]; then |  | ||||||
|   echo "Hey You!!!" |  | ||||||
|   echo "" |  | ||||||
|   echo "A thingy is going to pop up and ask you to install 'command line developer tools' for 'xcode-select'" |  | ||||||
|   echo "" |  | ||||||
|   echo "You need to click Install. This installation should begin when that finishes." |  | ||||||
|   echo "(if that box doesn't pop up in a second or two, something went wrong)" |  | ||||||
|   echo "(note that it may pop up underneath this window, so check for it in the dock too)" |  | ||||||
|   echo "" |  | ||||||
| 
 |  | ||||||
|   xcode-select --install 2>/dev/null |  | ||||||
| 
 |  | ||||||
|   while true; do |  | ||||||
|     sleep 5 |  | ||||||
| 
 |  | ||||||
|     if [ -n "$(git --version 2>/dev/null)" ] && [ -n "$(xcode-select --print-path 2>/dev/null)" ]; then |  | ||||||
|       break; |  | ||||||
|     fi |  | ||||||
|   done |  | ||||||
| 
 |  | ||||||
|   echo "It looks like the other install is finishing up." |  | ||||||
|   echo "This installation will begin in one minute." |  | ||||||
|   sleep 60 |  | ||||||
| else |  | ||||||
|   echo "XCode Command Line Tools already installed" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # homebrew |  | ||||||
| if [ -z "$(which brew | grep brew)" ]; then |  | ||||||
|   echo "installing brew (homebrew)..." |  | ||||||
|   ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |  | ||||||
|   brew doctor |  | ||||||
| else |  | ||||||
|   echo "updating brew..." |  | ||||||
|   brew update >/dev/null 2>/dev/null |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "$(which wget | grep wget)" ]; then |  | ||||||
|   echo "installing wget..." |  | ||||||
|   brew install wget |  | ||||||
| else |  | ||||||
|   echo "wget already installed" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # http://www.fail2ban.org/wiki/index.php/HOWTO_Mac_OS_X_Server_(10.5) |  | ||||||
| if [ -z "$(which fail2ban-server | grep fail2ban)" ]; then |  | ||||||
|   clear |  | ||||||
|   echo "" |  | ||||||
|   echo "Your server didn't come with fail2ban preinstalled!!!" |  | ||||||
|   echo "Among other things, fail2ban secures ssh so that your server isn't reaped by botnets." |  | ||||||
|   echo "" |  | ||||||
|   echo "Since you're obviosly connecting this computer to a network, you should install fail2ban before continuing" |  | ||||||
|   echo "" |  | ||||||
|   echo "Install fail2ban? [Y/n]" |  | ||||||
|   echo "(if unsure, just hit [enter])" |  | ||||||
|   read INSTALL_FAIL2BAN |  | ||||||
|   if [ "n" == "${INSTALL_FAIL2BAN}" ] || [ "no" == "${INSTALL_FAIL2BAN}" ] || [ "N" == "${INSTALL_FAIL2BAN}" ] || [ "NO" == "${INSTALL_FAIL2BAN}" ]; then |  | ||||||
|     clear |  | ||||||
|     echo "" |  | ||||||
|     echo "I don't think you understand. This is important." |  | ||||||
|     echo "" |  | ||||||
|     echo "Your server will be under constant attack by botnets via ssh." |  | ||||||
|     echo "It only takes a few extra seconds to install and the defaults are adequate for protecting you." |  | ||||||
|     echo "" |  | ||||||
|     echo "Change your mind?" |  | ||||||
|     echo "Ready to install fail2ban? [Y/n]" |  | ||||||
|     read INSTALL_FAIL2BAN |  | ||||||
|     if [ "n" == "${INSTALL_FAIL2BAN}" ] || [ "no" == "${INSTALL_FAIL2BAN}" ] || [ "N" == "${INSTALL_FAIL2BAN}" ] || [ "NO" == "${INSTALL_FAIL2BAN}" ]; then |  | ||||||
|       clear |  | ||||||
|       echo "you make me sad :-(" |  | ||||||
|       sleep 0.5 |  | ||||||
|       echo "but whatever, it's your funeral..." |  | ||||||
|       sleep 1 |  | ||||||
|     else |  | ||||||
|       echo "Phew, dodged the bullet on that one... Installing fail2ban.. :-)" |  | ||||||
|       brew install fail2ban |  | ||||||
|       sudo cp -fv /usr/local/opt/fail2ban/*.plist /Library/LaunchDaemons |  | ||||||
|       sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.fail2ban.plist |  | ||||||
|     fi |  | ||||||
|   else |  | ||||||
|     brew install fail2ban |  | ||||||
|     sudo cp -fv /usr/local/opt/fail2ban/*.plist /Library/LaunchDaemons |  | ||||||
|     sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.fail2ban.plist |  | ||||||
|   fi |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "$(which pkg-config | grep pkg-config)" ]; then |  | ||||||
|   echo "installing pkg-config..." |  | ||||||
|   brew install pkg-config |  | ||||||
| else |  | ||||||
|   echo "pkg-config already installed" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # iojs |  | ||||||
| if [ -n "$(which node | grep node 2>/dev/null)" ]; then |  | ||||||
|   IOJS_VER="" |  | ||||||
|    |  | ||||||
|   if [ "$(node -v 2>/dev/null)" != "$(iojs -v 2>/dev/null)" ]; then |  | ||||||
|     echo "You have node.js installed. Backing up $(which node) as $(which node).joyent" |  | ||||||
|     echo "(you can move it back after the install if you want separate node.js and io.js installations)" |  | ||||||
|     echo "" |  | ||||||
|     echo sudo mv "$(which node)" "$(which node).joyent" |  | ||||||
|     sudo mv "$(which node)" "$(which node).joyent" |  | ||||||
|   fi |  | ||||||
|    |  | ||||||
|   if [ "${IOJS_VER}" == "$(iojs -v 2>/dev/null)" ]; then |  | ||||||
|     echo iojs ${IOJS_VER} already installed |  | ||||||
|   else |  | ||||||
|     clear |  | ||||||
|     echo "" |  | ||||||
|     echo "HEY, LISTEN:" |  | ||||||
|     echo "io.js is already installed as iojs $(iojs -v | grep v)" |  | ||||||
|     echo "" |  | ||||||
|     echo "to reinstall please first run: rm $(which iojs)" |  | ||||||
|     echo "" |  | ||||||
|   fi |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -n "${IOJS_VER}" ]; then |  | ||||||
|   echo "installing io.js as iojs ${IOJS_VER}..." |  | ||||||
|   curl -fsSL "http://iojs.org/dist/${IOJS_VER}/iojs-${IOJS_VER}.pkg" -o "/tmp/iojs-${IOJS_VER}.pkg" |  | ||||||
|   sudo /usr/sbin/installer -pkg "/tmp/iojs-${IOJS_VER}.pkg" -target / |  | ||||||
|   sudo chown -R $(whoami) /usr/local 2>/dev/null |  | ||||||
| fi |  | ||||||
| @ -1,74 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| 
 |  | ||||||
| # curl -fsSL https://ldsconnect.org/setup-linux.bash | bash -c |  | ||||||
| 
 |  | ||||||
| IOJS_VER=${1} |  | ||||||
| 
 |  | ||||||
| echo "" |  | ||||||
| echo "" |  | ||||||
| 
 |  | ||||||
| echo "updating apt-get..." |  | ||||||
| sudo bash -c "apt-get update -qq -y < /dev/null" > /dev/null |  | ||||||
| 
 |  | ||||||
| # fail2ban |  | ||||||
| if [ -z "$(which fail2ban-server | grep fail2ban)" ]; then |  | ||||||
|   echo "installing fail2ban..." |  | ||||||
|   sudo bash -c "apt-get install -qq -y fail2ban < /dev/null" > /dev/null |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # git, wget, curl, build-essential |  | ||||||
| if [ -z "$(which pkg-config | grep pkg-config)" ] || [ -z "$(which git | grep git)" ] || [ -z "$(which wget | grep wget)" ] || [ -z "$(which curl | grep curl)" ] || [ -z "$(which gcc | grep gcc)" ] || [ -z "$(which rsync | grep rsync)" ] |  | ||||||
| then |  | ||||||
|   echo "installing git, wget, curl, build-essential, rsync, pkg-config..." |  | ||||||
|   sudo bash -c "apt-get install -qq -y git wget curl build-essential rsync pkg-config < /dev/null" > /dev/null 2>/dev/null |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # iojs   |  | ||||||
| # |  | ||||||
| if [ -n "$(which iojs | grep iojs 2>/dev/null)" ]; then |  | ||||||
| # iojs of some version is already installed |  | ||||||
|   if [ "${IOJS_VER}" == "$(iojs -v 2>/dev/null)" ]; then |  | ||||||
|     echo iojs ${IOJS_VER} already installed |  | ||||||
|     IOJS_VER="" |  | ||||||
|   else |  | ||||||
|     echo "HEY, LISTEN:" |  | ||||||
|     echo "" |  | ||||||
|     echo "io.js is already installed as iojs $(iojs -v | grep v)" |  | ||||||
|     echo "" |  | ||||||
|     echo "to reinstall please first run: rm $(which iojs)" |  | ||||||
|     echo "" |  | ||||||
|   fi |  | ||||||
| elif [ "$(node -v 2>/dev/null)" != "$(iojs -v 2>/dev/null)" ]; then |  | ||||||
| # node of some version is already installed |  | ||||||
|   echo "" |  | ||||||
|   echo "################################################################################" |  | ||||||
|   echo "" |  | ||||||
|   echo "HEY, LISTEN!" |  | ||||||
|   echo "" |  | ||||||
|   echo "You have node.js installed." |  | ||||||
|   echo "Backing up $(which node) as $(which node).$(node -v)" |  | ||||||
|   echo "(copy it back after the install if to maintain node.js and io.js separately)" |  | ||||||
|   echo "" |  | ||||||
|   echo sudo mv "$(which node)" "$(which node).$(node -v)" |  | ||||||
|   sleep 3 |  | ||||||
|   sudo mv "$(which node)" "$(which node).$(node -v)" |  | ||||||
|   echo "################################################################################" |  | ||||||
|   echo "" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -n "${IOJS_VER}" ]; then |  | ||||||
|   if [ -n "$(arch | grep 64)" ]; then |  | ||||||
|     ARCH="x64" |  | ||||||
|   else |  | ||||||
|     ARCH="x86" |  | ||||||
|   fi |  | ||||||
|   echo "installing io.js as iojs ${IOJS_VER}..." |  | ||||||
|   curl -fsSL "http://iojs.org/dist/${IOJS_VER}/iojs-${IOJS_VER}-linux-${ARCH}.tar.gz" \ |  | ||||||
|     -o "/tmp/iojs-${IOJS_VER}-linux-${ARCH}.tar.gz" |  | ||||||
|   pushd /tmp |  | ||||||
|   tar xf /tmp/iojs-${IOJS_VER}-linux-${ARCH}.tar.gz |  | ||||||
|   rm iojs-${IOJS_VER}-linux-x64/{LICENSE,CHANGELOG.md,README.md} |  | ||||||
|   sudo rsync -a "/tmp/iojs-${IOJS_VER}-linux-${ARCH}/" /usr/local/ |  | ||||||
|   sudo chown -R $(whoami) /usr/local |  | ||||||
| fi |  | ||||||
							
								
								
									
										180
									
								
								setup.bash
									
									
									
									
									
								
							
							
						
						
									
										180
									
								
								setup.bash
									
									
									
									
									
								
							| @ -10,24 +10,19 @@ | |||||||
| # wget -nv https://example.com/setup.bash -O - | bash | # wget -nv https://example.com/setup.bash -O - | bash | ||||||
| 
 | 
 | ||||||
| BASE_URL="https://raw.githubusercontent.com/coolaj86/iojs-install-script/master" | BASE_URL="https://raw.githubusercontent.com/coolaj86/iojs-install-script/master" | ||||||
| 
 | NO_FAIL2BAN="" | ||||||
| if [ -n "$(which iojs 2>/dev/null || false)" ]; then |  | ||||||
|   echo "" |  | ||||||
|   echo "HEY, LISTEN:" |  | ||||||
|   echo "io.js is already install as iojs $(iojs -v | grep v)" |  | ||||||
|   echo "" |  | ||||||
|   echo "to reinstall please first run: rm $(which iojs)" |  | ||||||
|   echo "" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -f "/tmp/IOJS_VER" ]; then |  | ||||||
|   IOJS_VER=$(cat /tmp/IOJS_VER | grep v) |  | ||||||
| fi |  | ||||||
| if [ -z "$IOJS_VER" ]; then |  | ||||||
|   IOJS_VER="v1.0.1" |  | ||||||
| fi |  | ||||||
| OS="unsupported" | OS="unsupported" | ||||||
| ARCH="" | ARCH="" | ||||||
|  | IOJS_VER="" | ||||||
|  | SETUP_FILE="" | ||||||
|  | 
 | ||||||
|  | clear | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ######################### | ||||||
|  | # Which OS and version? # | ||||||
|  | ######################### | ||||||
| 
 | 
 | ||||||
| if [ "$(uname | grep -i 'Darwin')" ]; then | if [ "$(uname | grep -i 'Darwin')" ]; then | ||||||
|   OSX_VER="$(sw_vers | grep ProductVersion | cut -d':' -f2 | cut -f2)" |   OSX_VER="$(sw_vers | grep ProductVersion | cut -d':' -f2 | cut -f2)" | ||||||
| @ -81,9 +76,7 @@ if [ "$(uname | grep -i 'Darwin')" ]; then | |||||||
|   else |   else | ||||||
|     ARCH="32" |     ARCH="32" | ||||||
|   fi |   fi | ||||||
| 
 |  | ||||||
| elif [ "$(uname | grep -i 'Linux')" ]; then | elif [ "$(uname | grep -i 'Linux')" ]; then | ||||||
| 
 |  | ||||||
|   if [ ! -f "/etc/issue" ]; then |   if [ ! -f "/etc/issue" ]; then | ||||||
|     echo "unsupported linux os" |     echo "unsupported linux os" | ||||||
|     exit 1 |     exit 1 | ||||||
| @ -100,40 +93,37 @@ elif [ "$(uname | grep -i 'Linux')" ]; then | |||||||
|   elif [ "$(cat /etc/issue | grep -i 'Fedora')" ]; then |   elif [ "$(cat /etc/issue | grep -i 'Fedora')" ]; then | ||||||
|     OS='fedora' |     OS='fedora' | ||||||
|   fi |   fi | ||||||
| 
 |  | ||||||
| else | else | ||||||
| 
 |  | ||||||
|   echo "unsupported unknown os (non-mac, non-linux)" |   echo "unsupported unknown os (non-mac, non-linux)" | ||||||
|   exit 1 |   exit 1 | ||||||
| 
 |  | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| case "${OS}" in | case "${OS}" in | ||||||
|   fedora) |   fedora) | ||||||
|     echo "sudo yum" |     echo "FEDORA not yet supported (feel free to pull request)" | ||||||
|     echo "wget --quiet ${BASE_URL}/setup-fedora.bash -O /tmp/install-iojs.bash || echo 'error downloading os setup script'" |     exit 1 | ||||||
|     ;; |     ;; | ||||||
|   ubuntu) |   ubuntu) | ||||||
|     wget --quiet "${BASE_URL}/setup-ubuntu.bash" -O /tmp/install-iojs.bash || echo 'error downloading os setup script' |     SETUP_FILE="ubuntu" | ||||||
|     ;; |     ;; | ||||||
|   yosemite) |   yosemite) | ||||||
|     # mavericks |     # mavericks | ||||||
|     curl --silent "${BASE_URL}/setup-mavericks.bash" -o /tmp/install-iojs.bash || echo 'error downloading os setup script' |     SETUP_FILE="mavericks" | ||||||
|     ;; |     ;; | ||||||
|   mavericks) |   mavericks) | ||||||
|     curl --silent "${BASE_URL}/setup-mavericks.bash" -o /tmp/install-iojs.bash || echo 'error downloading os setup script' |     SETUP_FILE="mavericks" | ||||||
|     ;; |     ;; | ||||||
|   mountain) |   mountain) | ||||||
|     echo "wget cltools" |     echo "Mountain Lion not yet supported (feel free to pull request)" | ||||||
|     echo "curl --silent ${BASE_URL}/setup-mountain.bash -o /tmp/install-iojs.bash || echo 'error downloading os setup script'" |     exit 1 | ||||||
|     ;; |     ;; | ||||||
|   lion) |   lion) | ||||||
|     echo "wget cltools" |     echo "Lion not yet supported (feel free to pull request)" | ||||||
|     echo "curl --silent ${BASE_URL}/setup-lion.bash -o /tmp/install-iojs.bash || echo 'error downloading os setup script'" |     exit 1 | ||||||
|     ;; |     ;; | ||||||
|   snow) |   snow) | ||||||
|     echo "wget gcc-0.6.pkg" |     echo "Snow Leopard not yet supported (feel free to pull request)" | ||||||
|     echo "curl --silent ${BASE_URL}/setup-snow.bash -o /tmp/install-iojs.bash || echo 'error downloading os setup script'" |     exit 1 | ||||||
|     ;; |     ;; | ||||||
|   *) |   *) | ||||||
|     echo "unsupported unknown os ${OS}" |     echo "unsupported unknown os ${OS}" | ||||||
| @ -141,8 +131,132 @@ case "${OS}" in | |||||||
|     ;; |     ;; | ||||||
| esac | esac | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ####################### | ||||||
|  | # Download installers # | ||||||
|  | ####################### | ||||||
|  | 
 | ||||||
| echo "${OS}" "${ARCH}" | echo "${OS}" "${ARCH}" | ||||||
| bash /tmp/install-iojs.bash "${IOJS_VER}" | 
 | ||||||
|  | if [ -n "$(which curl)" ]; then | ||||||
|  |   curl --silent "${BASE_URL}/setup-deps-${SETUP_FILE}.bash" \ | ||||||
|  |     -o /tmp/install-iojs-deps.bash || echo 'error downloading os setup script' | ||||||
|  |   curl --silent "${BASE_URL}/setup-iojs-${SETUP_FILE}.bash" \ | ||||||
|  |     -o /tmp/install-iojs.bash || echo 'error downloading os setup script' | ||||||
|  | elif [ -n "$(which wget)" ]; then | ||||||
|  |   wget --quiet "${BASE_URL}/setup-deps-${SETUP_FILE}.bash" \ | ||||||
|  |     -O /tmp/install-iojs-deps.bash || echo 'error downloading os setup script' | ||||||
|  |   wget --quiet "${BASE_URL}/setup-iojs-${SETUP_FILE}.bash" \ | ||||||
|  |     -O /tmp/install-iojs.bash || echo 'error downloading os setup script' | ||||||
|  | else | ||||||
|  |   echo "Found neither 'curl' nor 'wget'. Can't Continue." | ||||||
|  |   exit 1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ################ | ||||||
|  | # DEPENDENCIES # | ||||||
|  | ################ | ||||||
|  | 
 | ||||||
|  | if [ -z "$(which fail2ban-server | grep fail2ban)" ]; then | ||||||
|  |   echo "" | ||||||
|  |   echo "Your server didn't come with fail2ban preinstalled!!!" | ||||||
|  |   echo "Among other things, fail2ban secures ssh so that your server isn't reaped by botnets." | ||||||
|  |   echo "" | ||||||
|  |   echo "Since you're obviosly connecting this computer to a network, you should install fail2ban before continuing" | ||||||
|  |   echo "" | ||||||
|  |   echo "Install fail2ban? [Y/n]" | ||||||
|  |   echo "(if unsure, just hit [enter])" | ||||||
|  |   read INSTALL_FAIL2BAN | ||||||
|  | 
 | ||||||
|  |   if [ "n" == "${INSTALL_FAIL2BAN}" ] || [ "no" == "${INSTALL_FAIL2BAN}" ] || [ "N" == "${INSTALL_FAIL2BAN}" ] || [ "NO" == "${INSTALL_FAIL2BAN}" ]; then | ||||||
|  |     echo "" | ||||||
|  |     echo "I don't think you understand: This is important." | ||||||
|  |     echo "" | ||||||
|  |     echo "Your server will be under constant attack by botnets via ssh." | ||||||
|  |     echo "It only takes a few extra seconds to install and the defaults are adequate for protecting you." | ||||||
|  |     echo "" | ||||||
|  |     echo "Change your mind?" | ||||||
|  |     echo "Ready to install fail2ban? [Y/n]" | ||||||
|  |     read INSTALL_FAIL2BAN | ||||||
|  |     if [ "n" == "${INSTALL_FAIL2BAN}" ] || [ "no" == "${INSTALL_FAIL2BAN}" ] || [ "N" == "${INSTALL_FAIL2BAN}" ] || [ "NO" == "${INSTALL_FAIL2BAN}" ]; then | ||||||
|  |       clear | ||||||
|  |       echo "you make me sad :-(" | ||||||
|  |       sleep 0.5 | ||||||
|  |       echo "but whatever, it's your funeral..." | ||||||
|  |       sleep 1 | ||||||
|  |       NO_FAIL2BAN="nope" | ||||||
|  |     else | ||||||
|  |       echo "Phew, dodged the bullet on that one... Will install fail2ban.. :-)" | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | bash /tmp/install-iojs-deps.bash "${NO_FAIL2BAN}" | ||||||
|  | 
 | ||||||
|  | ######################### | ||||||
|  | # Which io.js VERSION ? # | ||||||
|  | ######################### | ||||||
|  | 
 | ||||||
|  | if [ -f "/tmp/IOJS_VER" ]; then | ||||||
|  |   IOJS_VER=$(cat /tmp/IOJS_VER | grep v) | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -z "$IOJS_VER" ]; then | ||||||
|  |   IOJS_VER="v1.0.1" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -n "$(which iojs 2>/dev/null || false)" ]; then | ||||||
|  |   echo "" | ||||||
|  |   echo "HEY, LISTEN:" | ||||||
|  |   echo "io.js is already install as iojs $(iojs -v | grep v)" | ||||||
|  |   echo "" | ||||||
|  |   echo "to reinstall please first run:" | ||||||
|  |   echo "sudo mv '$(which iojs)' '$(which iojs).$(iojs -v)'" | ||||||
|  |   echo "" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # | ||||||
|  | # iojs   | ||||||
|  | # | ||||||
|  | if [ -n "$(which iojs | grep iojs 2>/dev/null)" ]; then | ||||||
|  | # iojs of some version is already installed | ||||||
|  |   if [ "${IOJS_VER}" == "$(iojs -v 2>/dev/null)" ]; then | ||||||
|  |     echo iojs ${IOJS_VER} already installed | ||||||
|  |   else | ||||||
|  |     echo "HEY, LISTEN:" | ||||||
|  |     echo "" | ||||||
|  |     echo "io.js is already installed as iojs $(iojs -v | grep v)" | ||||||
|  |     echo "" | ||||||
|  |     echo "to reinstall please first run: rm $(which iojs)" | ||||||
|  |     echo "" | ||||||
|  |   fi | ||||||
|  |   IOJS_VER="" | ||||||
|  | elif [ "$(node -v 2>/dev/null)" != "$(iojs -v 2>/dev/null)" ]; then | ||||||
|  | # node of some version is already installed | ||||||
|  |   echo "" | ||||||
|  |   echo "################################################################################" | ||||||
|  |   echo "" | ||||||
|  |   echo "HEY, LISTEN!" | ||||||
|  |   echo "" | ||||||
|  |   echo "You have node.js installed." | ||||||
|  |   echo "Backing up $(which node) as $(which node).$(node -v)" | ||||||
|  |   echo "(copy it back after the install if to maintain node.js and io.js separately)" | ||||||
|  |   echo "" | ||||||
|  |   echo sudo mv "$(which node)" "$(which node).$(node -v)" | ||||||
|  |   sleep 3 | ||||||
|  |   sudo mv "$(which node)" "$(which node).$(node -v)" | ||||||
|  |   echo "################################################################################" | ||||||
|  |   echo "" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -n "${IOJS_VER}" ]; then | ||||||
|  |   bash /tmp/install-iojs.bash "${IOJS_VER}" | ||||||
|  | fi | ||||||
| 
 | 
 | ||||||
| # jshint | # jshint | ||||||
| if [ -z "$(which jshint | grep jshint)" ]; then | if [ -z "$(which jshint | grep jshint)" ]; then | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user