diff --git a/Vagrantfile b/Vagrantfile
index 88d0c51c7ed041956525f6e3ef073a586c2ab399..73d67ed8d64a8afc30862ec4cadf4f0e8338966d 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -29,17 +29,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
     config.cache.enable :yum
   end
 
-  # Information about the box itself (name and url)
-#  config.vm.box = "fedora19-x86_64"
-#  config.vm.box_url = "http://www.krismer.de/files/VM/fedora19-x86_64.box"
-#  config.vm.box = "centos64-x86_64"
-#  config.vm.box_url = "http://www.krismer.de/files/VM/centos64-x86_64.box"
-#  config.vm.box = "centos65-x86_64"
-#  config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box"
-  config.vm.box = "vagrant-centos-65-x86_64-minimal"
-  config.vm.box_url = "http://files.brianbirkinbine.com/vagrant-centos-65-x86_64-minimal.box"
-#  config.vm.box = "vagrant-centos-65-i386-minimal"
-#  config.vm.box_url = "http://files.brianbirkinbine.com/vagrant-centos-65-i386-minimal.box"
+  # Information about the box itself (name from vagrantcloud)
+  config.vm.box = "jayunit100/centos7"
 
   # Setup of shared folders
   config.vm.synced_folder "etc/vagrant/conf", "/setup/conf"
diff --git a/etc/vagrant/Vagrantfile b/etc/vagrant/Vagrantfile
index 0b32ce028f2d5df43696958f6080bcecaed59f25..d9216ef207a5d5a7ec68df773c9f3b3d56a3e67c 100644
--- a/etc/vagrant/Vagrantfile
+++ b/etc/vagrant/Vagrantfile
@@ -17,17 +17,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
     config.cache.enable :yum
   end
 
-  # Information about the box itself (name and url)
-#  config.vm.box = "fedora19-x86_64"
-#  config.vm.box_url = "http://www.krismer.de/files/VM/fedora19-x86_64.box"
-#  config.vm.box = "centos64-x86_64"
-#  config.vm.box_url = "http://www.krismer.de/files/VM/centos64-x86_64.box"
-#  config.vm.box = "centos65-x86_64"
-#  config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box"
-#  config.vm.box = "vagrant-centos-65-i386-minimal"
-#  config.vm.box_url = "http://files.brianbirkinbine.com/vagrant-centos-65-i386-minimal.box"
-  config.vm.box = "vagrant-centos-65-x86_64-minimal"
-  config.vm.box_url = "http://files.brianbirkinbine.com/vagrant-centos-65-x86_64-minimal.box"
+  # Information about the box itself (name from vagrantcloud)
+  config.vm.box = "jayunit100/centos7"
 
   # Setup of shared folders
   config.vm.synced_folder "vagrant/conf", "/setup/conf"
diff --git a/etc/vagrant/bootstrap.sh b/etc/vagrant/bootstrap.sh
index 68b99535752f0b5df4f0bb01a11ac5281e9e3694..a7b5b5b3a0f1f340c1bbeb25749cd7c3767006d8 100644
--- a/etc/vagrant/bootstrap.sh
+++ b/etc/vagrant/bootstrap.sh
@@ -125,14 +125,15 @@ POSTGIS_VERSION="2.1.3"
 POSTGRESQL_DATA_DIR="/var/lib/pgsql/9.3/data"
 POSTGRESQL_HBA_CONF="$POSTGRESQL_DATA_DIR/pg_hba.conf"
 POSTGRESQL_PKG_NAME="postgresql93"
-POSTGRESQL_REPO_RPM_32="http://yum.postgresql.org/9.3/fedora/fedora-20-i386/pgdg-fedora93-9.3-1.noarch.rpm"
-POSTGRESQL_REPO_RPM_64="http://yum.postgresql.org/9.3/fedora/fedora-20-x86_64/pgdg-fedora93-9.3-1.noarch.rpm"
 POSTGRESQL_SERVICE_NAME="postgresql-9.3"
 PGROUTING_VERSION="2.0.0"
 REPO_BASE_CONFIG="/etc/yum.repos.d/fedora-updates.repo"
+REPO_EPEL="http://fedora.aau.at/epel/6/i386/epel-release-6-8.noarch.rpm"
+REPO_POSTGRESQL_32="http://yum.postgresql.org/9.3/fedora/fedora-20-i386/pgdg-fedora93-9.3-1.noarch.rpm"
+REPO_POSTGRESQL_64="http://yum.postgresql.org/9.3/fedora/fedora-20-x86_64/pgdg-fedora93-9.3-1.noarch.rpm"
 REPO_RPMFORGE_CONFIG="/etc/yum.repos.d/rpmforge.repo"
-REPO_RPMFORGE_URL_32="http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm"
-REPO_RPMFORGE_URL_64="http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm"
+REPO_RPMFORGE_32="http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm"
+REPO_RPMFORGE_64="http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm"
 TABLE_PREFIX_BZ="bz_"
 TABLE_PREFIX_IBK="ibk_"
 TABLE_PREFIX_IT="it_"
@@ -177,13 +178,38 @@ if $INSTALL_POSTGRES_ADMIN || $INSALL_POSTGIS; then
 	INSTALL_POSTGRES=true
 fi
 
-DISTRI=$(cat /etc/issue | head -n 1 | cut -d " " -f 1)
+DISTRI_FILE="/etc/redhat-release"
+if  [ ! -f "$DISTRI_FILE" ]; then
+	DISTRI_FILE="/etc/issue"
+fi
+DISTRI_NAME=$(cat "$DISTRI_FILE" | head -n 1)
+DISTRI_SUPPORTED=false
+DISTRI_TYPE="Fedora 20"
+DISTRI=$(printf "$DISTRI_NAME" | cut -d " " -f 1)
 if [ $DISTRI == "CentOS" ]; then
-	POSTGRESQL_REPO_RPM_32="http://yum.postgresql.org/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm"
-	POSTGRESQL_REPO_RPM_64="http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm"
 	REPO_BASE_CONFIG="/etc/yum.repos.d/CentOS-Base.repo"
-elif [ $DISTRI != "Fedora" ]; then
-	echo "Unsupported OS. Only CentOS and Fedora are supported!"
+	if printf "$DISTRI_NAME" | egrep -q " 6." ; then
+		DISTRI_TYPE="CentOS 6"
+		REPO_POSTGRESQL_32="http://yum.postgresql.org/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm"
+		REPO_POSTGRESQL_64="http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm"
+		DISTRI_SUPPORTED=true
+	elif printf "$DISTRI_NAME" | egrep -q " 7." ; then
+		DISTRI_TYPE="CentOS 7"
+		REPO_EPEL="http://fedora.aau.at/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm"
+		REPO_POSTGRESQL_32="http://yum.postgresql.org/9.3/redhat/rhel-7-i386/pgdg-centos93-9.3-1.noarch.rpm"
+		REPO_POSTGRESQL_64="http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm"
+		REPO_RPMFORGE_32="http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.i686.rpm"
+		REPO_RPMFORGE_64="http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm"
+		DISTRI_SUPPORTED=true
+	fi
+elif [ $DISTRI == "Fedora" ]; then
+	if echo $DISTRI_NAME | egrep -q " 20 (Heisenbug)" ; then
+		DISTRI_SUPPORTED=true
+	fi
+fi
+
+if ! $DISTRI_SUPPORTED; then
+	echo "Unsupported OS. Only CentOS 6, CentOS 7 and Fedora 20 are supported!"
 	exit 1;
 fi
 
@@ -193,12 +219,12 @@ if [ "x86_64" == $(uname -m) ]; then
 fi
 
 if $IS_64_BIT; then
-	POSTGRESQL_REPO_RPM="$POSTGRESQL_REPO_RPM_64"
-	REPO_RPMFORGE_URL="$REPO_RPMFORGE_URL_64"
+	REPO_POSTGRESQL="$REPO_POSTGRESQL_64"
+	REPO_RPMFORGE="$REPO_RPMFORGE_64"
 	JAVA_FILE="$JAVA_FILE_64"
 else
-	POSTGRESQL_REPO_RPM="$POSTGRESQL_REPO_RPM_32"
-	REPO_RPMFORGE_URL="$REPO_RPMFORGE_URL_32"
+	REPO_POSTGRESQL="$REPO_POSTGRESQL_32"
+	REPO_RPMFORGE="$REPO_RPMFORGE_32"
 	JAVA_FILE="$JAVA_FILE_32"
 fi
 
@@ -301,6 +327,8 @@ echo ""
 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
 echo " Bootstrapping the VM:"
 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Operating system $DISTRI_NAME"
+echo "  - osType: $DISTRI_TYPE"
 if $IS_LOCAL_TEST_DEPLOY; then echo "Starting in local test deploy mode"; fi
 if $IMPORT_SCHEDULES && ! $IMPORT_OSMDATA && ! $IMPORT_OSMDATA_CACHED; then
 	echo "Warning: Schedules will not be imported, since no data from OSM is imported!"
@@ -358,11 +386,11 @@ if $INSTALL_POSTGRES; then
 	fi
 
 	echo "Installing postgresql-9.3 repository"
-	fn_download $DOWNLOAD_DIR/postgresql-repo.rpm $POSTGRESQL_REPO_RPM
+	fn_download $DOWNLOAD_DIR/postgresql-repo.rpm $REPO_POSTGRESQL
 	yum -y localinstall $DOWNLOAD_DIR/postgresql-repo.rpm > install_postgresql_repo.log 2>&1
 
 	echo "Installing epel repository"
-	fn_download $DOWNLOAD_DIR/epel-repo.rpm http://fedora.aau.at/epel/6/i386/epel-release-6-8.noarch.rpm
+	fn_download $DOWNLOAD_DIR/epel-repo.rpm $REPO_EPEL
 	yum -y localinstall $DOWNLOAD_DIR/epel-repo.rpm > install_epel_repo.log 2>&1
 fi
 
@@ -379,7 +407,7 @@ fi
 
 if $INSTALL_POSTGRES; then
 	echo "Installing $POSTGRESQL_PKG_NAME"
-	yum -y install $POSTGRESQL_PKG_NAME $POSTGRESQL_PKG_NAME-server $POSTGRESQL_PKG_NAME-contrib > install_postgresql.log 2>&1
+	yum -y install $POSTGRESQL_PKG_NAME $POSTGRESQL_PKG_NAME-devel $POSTGRESQL_PKG_NAME-server $POSTGRESQL_PKG_NAME-contrib > install_postgresql.log 2>&1
 
 	echo "export PostgreSQL_ROOT=/usr/pgsql-9.3" > /etc/profile.d/postgresql.sh
 	source /etc/profile.d/postgresql.sh
@@ -400,7 +428,7 @@ if $INSTALL_POSTGIS; then
 #	cd $WORKING_DIR
 
 	echo "Installing $POSTGRESQL_PKG_NAME from repository"
-	yum -y install postgis2_93 > install_postgis.log 2>&1
+	yum -y install postgis2_93 postgis2_93-devel > install_postgis.log 2>&1
 fi
 
 if $INSTALL_POSTGRES_ADMIN; then
@@ -420,7 +448,7 @@ if $INSTALL_PGROUTING; then
 #	cd $WORKSPACE_DIR
 
 	echo "Installing rpmForge repository"
-	fn_download_newer $DOWNLOAD_DIR/rpmforge-repo.rpm $REPO_RPMFORGE_URL
+	fn_download_newer $DOWNLOAD_DIR/rpmforge-repo.rpm $REPO_RPMFORGE
 	yum -y localinstall $DOWNLOAD_DIR/rpmforge-repo.rpm > install_rpmforge_repo.log 2>&1
 	sed -i 's/enabled = 1/enabled = 0/' $REPO_RPMFORGE_CONFIG
 
@@ -428,7 +456,7 @@ if $INSTALL_PGROUTING; then
 	yum -y --enablerepo=rpmforge-extras install cmake > install_cmake.log 2>&1
 
 	echo "Installing pgRouting dependencies"
-	yum -y install $POSTGRESQL_PKG_NAME-devel $POSTGRESQL_PKG_NAME-libs boost-devel postgis2_93-devel > install_pgRouting_deps.log 2>&1
+	yum -y install $POSTGRESQL_PKG_NAME-libs boost-devel > install_pgRouting_deps.log 2>&1
 
 #	echo "Installing CGAL 4.3"
 #	fn_download_newer $DOWNLOAD_DIR/CGAL-4.3.zip https://gforge.inria.fr/frs/download.php/32996/CGAL-4.3.zip
@@ -512,6 +540,9 @@ if $INSTALL_GEOSERVER; then
 	ln -sf $DEPLOY_DIR/gs-shell-0.2-SNAPSHOT $DEPLOY_DIR/gs-shell
 	make >> install_geoserver_shell.log 2>&1
 	make install >> install_geoserver_shell.log 2>&1
+else
+	echo "export CATALINA_OPTS=\"-Djava.awt.headless=true $TOMCAT_MEMORY_OPTS\"" > /etc/profile.d/catalina.sh
+	source /etc/profile.d/catalina.sh
 fi
 
 if $INSTALL_ISOCHRONE_LOCAL; then
@@ -642,7 +673,8 @@ echo " Preparing services"
 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
 if $INSTALL_POSTGRES; then
 	echo "Initialize postgresql database"
-	service $POSTGRESQL_SERVICE_NAME initdb > initialize_postgresql.log 2>&1
+	rm -rf $POSTGRESQL_DATA_DIR
+	$PostgreSQL_ROOT/bin/postgresql93-setup initdb > initialize_postgresql.log 2>&1
 	sleep 2
 
 	echo "Configuring and starting postgresql-server"
@@ -752,8 +784,8 @@ if $IMPORT_OSMDATA || $IMPORT_OSMDATA_CACHED; then
 	echo " Importing data"
 	echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
 
-	fn_import_data "Bolzen" "$OSM_FILE_ITALY" "$OSM_FILE_BZ_FILTERED" "$OSM_BBOX_BZ" "bz_export.sql.gz" $TABLE_PREFIX_BZ
-	fn_import_data "Innsbruck" "$OSM_FILE_AUSTRIA" "$OSM_FILE_IBK_FILTERED" "$OSM_BBOX_IBK" "" $TABLE_PREFIX_IBK
+	fn_import_data "Bolzen" "$OSM_FILE_ITALY" "$OSM_FILE_BZ_FILTERED" "$OSM_BBOX_BZ" "bz_export.sql.gz" "$TABLE_PREFIX_BZ"
+	fn_import_data "Innsbruck" "$OSM_FILE_AUSTRIA" "$OSM_FILE_IBK_FILTERED" "$OSM_BBOX_IBK" "" "$TABLE_PREFIX_IBK"
 	if ! $IS_LOCAL_TEST_DEPLOY; then
 #		fn_import_data "Italy" "$OSM_FILE_ITALY" "$OSM_FILE_IT_FILTERED" "$OSM_BBOX_IT" "it_export.sql.gz" $TABLE_PREFIX_IT
 		fn_import_data "San Francisco" "$OSM_FILE_CALIFORNIA" "$OSM_FILE_SF_FILTERED" "$OSM_BBOX_SF" "sf_export.sql.gz" $TABLE_PREFIX_SF