This is an old revision of the document!


Cloud Router Installation Guide

The software requires Debian GNU/Linux 7.0 or higher. Use the 64 bit version which is called amd64 under Linux. You can check your version by typing dpkg --print-architecture (which should return amd64) or uname -m (which should return x86_64).

Automatic Installation

For automatic installation type in a root terminal

wget -q ftp://share.netmodule.com/router/cloud/install.sh -O - | bash

This will install the depenencies and also the Cloud Router software.

After the package installation, the cloud router’s control panel is available on http://localhost. You will have to define the administrator’s password, the interface for Internet access, and some more things. Please follow the wizard.

See the Cloud Router Manual for further information.

Installation Script

For further information here is the installation script. Home Agent depends on libgcc1, libc6, libstdc++6 and libevent-2.0-5.
The Cloud Router core depends on apache2, libapache2-mod-php5, openssl, strongswan, openvpn, php5, php5-sqlite, sqlite3, sudo, unzip, xl2tpd and zip

install.sh
#!/bin/bash
 
# usage
# wget -q ftp://share.netmodule.com/router/cloud/install.sh -O - | bash
 
installPackage() {
    package=$1
    packageName=$(dpkg -I $package | grep Package | cut -d: -f2 | sed 's/ //')
    packageDescription=$(dpkg -I $package | grep Description: | cut -d: -f2 | sed 's/ //')
    dependencies=($(dpkg -I $package | grep Depends | cut -d: -f2 | sed 's/,//g' | sed 's/ //'))
    for dependency in "${dependencies[@]}"
    do
       if [ $(dpkg-query -W -f='${Status}\n' $dependency 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
          apt-get -y -qq install $dependency
          if [ $? -eq 0 ]; then
              echo "Installed dependency $dependency for $packageDescription"
          else
              echo "Could not install dependency $dependency for $packageDescription, aborting installation"
              exit 1
          fi
        fi
    done
    echo "Going to install $packageDescription"
    dpkg -i $package > $package.install.log
    if [ $(dpkg-query -W -f='${Status}\n' $packageName 2>/dev/null | grep -c "ok installed") -ne 0 ]; then
        echo "Successfully installed $packageDescription ($packageName)"
    else
        echo "$packageDescription ($packageName) could not be installed"
        exit 1
    fi
}
 
 
arch=$(dpkg --print-architecture)
version=1.1
# install home agent first so vpnportal can detect it
packages=(home-agent_${version}_$arch.deb vpnportal_${version}_$arch.deb)
server="ftp://share.netmodule.com/router/cloud/"
echo "====== Installation ======"
echo "Updating APT packet sources ..."
apt-get -qq update
for package in "${packages[@]}"
do
    echo "Downloading $package from $server ..."
    wget -q $server$package -O $package
    if [ -e $package -a -s $package ]; then
      installPackage $package
    else
      echo "could not download and install $package, skipping"
    fi
done
sleep 3
echo "====== Service Status ======"
services=(apache2 openvpn@vpnportal openvpn@vpnportal_autosetup ipsec xl2tpd home-agent vpnportal)
for service in "${services[@]}"; do service $service status; done | grep -e '.service\|Active' | grep -v CGroup
echo "====== Getting Started ======"
myIp=$(ip route get 8.8.8.8 | head -1 | cut -d' ' -f8)
echo "Browse to http://$myIp"

Uninstall Cloud Router

# check what is installed: dpkg -l | grep NetModule
dpkg -r vpnportal
dpkg -r home-agent