Commit 88cbe550 authored by Yann Garcia's avatar Yann Garcia
Browse files

Enhance install.sh

parent e216d2b5
Loading
Loading
Loading
Loading
+29 −19
Original line number Original line Diff line number Diff line
@@ -3,23 +3,33 @@
set -e
set -e
set -vx
set -vx


if [ $# != 2 ]
if [ $# != 3 ]
then
then
    echo "Usage: sudo install.sh <VENDOR VPN Login> <VENDOR VPN password>"
    echo "Usage: sudo install.sh <User Name> <VENDOR VPN Login> <VENDOR VPN password>"
    echo "E.g. sudo HOME_BIN=$HOME_BIN HOME_LIB=$HOME_LIB HOME_INC=$HOME_INC ./install.sh yann.garcia@fscom.fr 123456"
    echo "E.g. sudo HOME_BIN=$HOME_BIN HOME_LIB=$HOME_LIB HOME_INC=$HOME_INC ./install.sh yann yann.garcia@fscom.fr 123456"
   exit -1
   exit -1
fi
fi


PWD=`pwd`

# System update (for Debian)
# System update (for Debian)
apt-get update
apt-get update
apt-get dist-upgrade -y
apt-get dist-upgrade -y
apt-get install autoconf autopoint build-essential cmake g++ gcc gdb gettext git-core gnutls-bin libgnutls28-dev libssl-dev libtool iputils-ping ppp pkg-config sudo texinfo -y
apt-get install autoconf autopoint build-essential cmake g++ gcc gdb gettext git-core libpcap-dev gnutls-bin libgnutls28-dev libssl-dev libtool iputils-ping ppp pkg-config sudo texinfo -y
apt-get autoremove --purge -y
apt-get autoremove --purge -y
apt-get autoclean
apt-get autoclean


# Install additional tools & libraries
# Install additional tools & libraries
mkdir -p /home/$1/bin /home/$1/lib /home/$1/include /home/$1/frameworks
cat >> /home/$1/.profile <<EOF
export HOME_INC=~/bin
export HOME_INC=~/lib
export HOME_INC=~/include
EOF


# libmicrohttpd
# libmicrohttpd
cd /home/etsi/frameworks
cd /home/$1/frameworks
git clone https://git.gnunet.org/libmicrohttpd.git libmicrohttpd
git clone https://git.gnunet.org/libmicrohttpd.git libmicrohttpd
cd libmicrohttpd/
cd libmicrohttpd/
autoreconf -fi
autoreconf -fi
@@ -28,7 +38,7 @@ make
make install PREFIX=/home/etsi
make install PREFIX=/home/etsi


# Install ETSI ITS Bridge
# Install ETSI ITS Bridge
cd /home/etsi/frameworks
cd /home/$1/frameworks
git clone https://forge.etsi.org/rep/plugtests/its-plugtests/its-bridge.git its_bridge
git clone https://forge.etsi.org/rep/plugtests/its-plugtests/its-bridge.git its_bridge
cd ./its_bridge/objs
cd ./its_bridge/objs
cmake .
cmake .
@@ -36,13 +46,13 @@ make
make install PREFIX=/home/etsi
make install PREFIX=/home/etsi


# openfortivpn
# openfortivpn
cd /home/etsi/frameworks
cd /home/$1/frameworks
git clone https://github.com/adrienverge/openfortivpn.git
git clone https://github.com/adrienverge/openfortivpn.git
cd openfortivpn
cd openfortivpn
./autogen.sh
./autogen.sh
./configure --prefix=/home/etsi --sysconfdir=/home/etsi/etc
./configure --prefix=/home/etsi --sysconfdir=/home/$1/etc
make && make install
make && make install
cat > /home/etsi/frameworks/its_bridge/etc/openfortivpn.cfg <<EOF
cat > /home/$1/frameworks/its_bridge/etc/openfortivpn.cfg <<EOF
host = 212.234.160.11
host = 212.234.160.11
port = 443
port = 443
username = $1
username = $1
@@ -56,19 +66,19 @@ EOF


# Set correct uid & giud
# Set correct uid & giud
cd /home/etsi
cd /home/etsi
chown -R etsi:etsi ./frameworks/its_bridge ./frameworks/openfortivpn ./frameworks/libmicrohttpd $HOME_BIN $HOME_LIB $HOME_INC
chown -R $1:$1 ./frameworks/its_bridge ./frameworks/openfortivpn ./frameworks/libmicrohttpd $HOME_BIN $HOME_LIB $HOME_INC


# Create system links
# Create system links
mkdir -p /etc/its_bridge
mkdir -p /etc/its_bridge
ln -sf /home/etsi/frameworks/its_bridge/etc/its_bridge/client.conf /etc/its_bridge/client.conf
ln -sf /home/$1/frameworks/its_bridge/etc/its_bridge/client.conf /etc/its_bridge/client.conf
ln -sf /home/etsi/frameworks/its_bridge/etc/its_bridge/server.conf /etc/its_bridge/server.conf
ln -sf /home/$1/frameworks/its_bridge/etc/its_bridge/server.conf /etc/its_bridge/server.conf
ln -sf /home/etsi/frameworks/its_bridge/etc/its_bridge/webserver.conf /etc/its_bridge/webserver.conf
ln -sf /home/$1/frameworks/its_bridge/etc/its_bridge/webserver.conf /etc/its_bridge/webserver.conf
ln -sf /home/etsi/frameworks/its_bridge/etc/openfortivpn.conf /etc/its_bridge/openfortivpn.conf
ln -sf /home/$1/frameworks/its_bridge/etc/openfortivpn.conf /etc/its_bridge/openfortivpn.conf


ln -sf /home/etsi/frameworks/its_bridge/etc/init.d/its_bridge_webserver.sh /etc/init.d/its_bridge_webserver
ln -sf /home/$1/frameworks/its_bridge/etc/init.d/its_bridge_webserver.sh /etc/init.d/its_bridge_webserver
ln -sf /home/etsi/frameworks/its_bridge/etc/init.d/its_bridge_client.sh /etc/init.d/its_bridge_client
ln -sf /home/$1/frameworks/its_bridge/etc/init.d/its_bridge_client.sh /etc/init.d/its_bridge_client
ln -sf /home/etsi/frameworks/its_bridge/etc/init.d/its_bridge_server.sh /etc/init.d/its_bridge_server
ln -sf /home/$1/frameworks/its_bridge/etc/init.d/its_bridge_server.sh /etc/init.d/its_bridge_server
ln -sf /home/etsi/frameworks/its_bridge/scripts/openfortivpn.sh /etc/init.d/openfortivpn
ln -sf /home/$1/frameworks/its_bridge/scripts/openfortivpn.sh /etc/init.d/openfortivpn


# Setup Runlevels
# Setup Runlevels
update-rc.d openfortivpn defaults
update-rc.d openfortivpn defaults
@@ -77,7 +87,7 @@ update-rc.d its_bridge_client defaults
update-rc.d its_bridge_server defaults
update-rc.d its_bridge_server defaults


# Setup Runlevels
# Setup Runlevels
#cd /home/etsi/frameworks/its_bridge/etc/init.d/
#cd /home/$1/frameworks/its_bridge/etc/init.d/
#cp *.service /etc/systemd/system
#cp *.service /etc/systemd/system


#sudo systemctl enable its_bridge_client
#sudo systemctl enable its_bridge_client