diff --git a/etc/vagrant/bootstrap.sh b/etc/vagrant/bootstrap.sh index d530d82e252a2cc9a8e43e5ac1b7a7da043444f1..ec39ab7963540adb9ea3982ff68b52131f8fa0ac 100644 --- a/etc/vagrant/bootstrap.sh +++ b/etc/vagrant/bootstrap.sh @@ -1,5 +1,5 @@ #! /bin/bash -########################### +############################# # This bootstrap script installs some build tools and the packages # neo4j, neo4j-spatial, httpd, postgresql, postgis, pgRouting, osmosis, osm2pgrouting # into a centos6/fedora19 environment. @@ -10,19 +10,26 @@ # # After various installations, the databases, the httpd server, tomcat # (and therefor also geoserver, which is installed as war file) are started -########################### -# Environment configuration -########################### +############################ if [ -f "/var/vagrant_provision" ]; then - exit 0 + exit 0 fi +if [ "$EUID" -ne "0" ]; then + echo '- The bootstrap script must be run as root!' + exit 1 +fi + +############################ +# Variable definitions # +############################ + IMPORT_OSMDATA=true IMPORT_OSMDATA_CACHED=true IMPORT_SCHEDULES=true INSTALL_HTTPD=true -INSTALL_GEOSERVER=false +INSTALL_GEOSERVER=true INSTALL_NEO4J=false INSTALL_NEO4J_SPATIAL=false INSTALL_PGROUTING=true @@ -43,6 +50,10 @@ INSTALL_ISOCHRONE_RELEASE=true INSTALL_ISOCHRONE_SNAPSHOT=true INSTALL_PROJECT_PSIPROBE=true +############################ +# Ext. argument handling # +############################ + PG_DB_NAME="isochrone" PG_DB_USER="@db_username@" PG_DB_PASSWORD="@db_password@" @@ -60,9 +71,9 @@ if [ -n "$3" ]; then fi fi -########################### -# General configuration -########################### +############################ +# General configuration # +############################ CACHE_DIR_LOCAL="/tmp/vagrant-cache" CACHE_DIR_REMOTE="http://www.krismer.de/files/PhD" @@ -70,12 +81,18 @@ DEPLOY_DIR="/opt" DOWNLOAD_DIR="$CACHE_DIR_LOCAL/wget" SHARED_CONF_DIR="/setup/conf" SHARED_IMG_DIR="/setup/img" +WORKING_DIR=`pwd` -CMAKE_VERSION="2.8.12.1" -CMAKE_VERSION_MAIN="v2.8" -CMAKE_FILE="cmake-$CMAKE_VERSION.tar.gz" +############################ +# Components configuration # +############################ + +#Armadillo from epel is too new for postgis (version 4 instead of 3), so use hard-coded file here +ARMADILLO_FILE="armadillo-3.800.2-1.el6.x86_64.rpm" +ARMADILLO_URL="$CACHE_DIR_REMOTE/armadillo-3.800.2-1.el6.x86_64.rpm" GEOSERVER_VERSION="2.5.2" GEOSERVER_FILE="geoserver-$GEOSERVER_VERSION-war.zip" +GEOSERVER_DOWNLOAD_URL="http://sourceforge.net/projects/geoserver/files/GeoServer/$GEOSERVER_VERSION/$GEOSERVER_FILE" GEOSERVER_SHELL_VERSION="0.2-SNAPSHOT" GEOSERVER_SHELL_FILE="gs-shell-$GEOSERVER_SHELL_VERSION-app.zip" JAVA_VERSION="8u11" @@ -84,11 +101,15 @@ JAVA_FILE_64="jdk-$JAVA_VERSION-linux-x64.rpm" JAVA_CRYPTO_FILE="jce_policy-8.zip" MAVEN_VERSION="3.2.2" MAVEN_FILE="apache-maven-$MAVEN_VERSION-bin.zip" +MAVEN_DOWNLOAD_URL="http://tweedo.com/mirror/apache/maven/maven-3/3.1.1/binaries/$MAVEN_FILE" NEO4J_DB_USER="neo4j" NEO4J_VERSION="2.1.3" NEO4J_FILE="neo4j-community-$NEO4J_VERSION-unix.tar.gz" +NEO4J_DOWNLOAD_URL="http://dist.neo4j.org/$NEO4J_FILE" NEO4J_SERVICE_NAME="neo4j-service" +NEO4J_SPATIAL_GIT_URL="https://github.com/neo4j/spatial.git" NEO4J_SPATIAL_VERSION="0.13-neo4j-2.1" +NEO4J_SPATIAL_PLUGIN_DOWNLOAD_URL="http://dist.neo4j.org.s3.amazonaws.com/spatial/neo4j-spatial-$NEO4J_SPATIAL_VERSION-server-plugin.zip" NEXUS_ARTIFACT_NAME="isochrone-web" NEXUS_BASE_URL_DBIS="http://138.232.66.78/nexus" NEXUS_BASE_URL_KRISMER="https://server.krismer.de/nexus" @@ -108,6 +129,7 @@ OSM_BBOX_IBK="${SHARED_CONF_DIR}/poly_ibk.poly" OSM_BBOX_IT="${SHARED_CONF_DIR}/poly_it.poly" OSM_BBOX_SF="${SHARED_CONF_DIR}/poly_sf.poly" OSM_BBOX_ST="${SHARED_CONF_DIR}/poly_st.poly" #also referred to as poly_taa.poly +OSM_DOWNLOAD_MIRROR="http://download.geofabrik.de" OSM_FILE_AUSTRIA="europe/austria-140301.osm.pbf" OSM_FILE_ITALY="europe/italy-140301.osm.pbf" OSM_FILE_CALIFORNIA="north-america/us/california-140301.osm.pbf" @@ -117,40 +139,53 @@ OSM_FILE_IT_FILTERED="italy-140301-filtered.osm" OSM_FILE_SF_FILTERED="sanfrancisco-140301-filtered.osm" OSM_FILE_ST_FILTERED="southtyrol-140301-filtered.osm" OSM_KEYS="aerialway,highway,public_transport,railway,route" +OSM2PGROUTING_GIT_URL="https://github.com/pgRouting/osm2pgrouting.git" OSM2PGROUTING_VERSION="v2.0.0" OSM2PGROUTING_MAPPING_CONF="$DEPLOY_DIR/osm2pgrouting/mapconfig.xml" OSMOSIS_VERSION="0.43.1" OSMOSIS_FILE="osmosis-$OSMOSIS_VERSION.zip" -POSTGIS_VERSION="2.1.3" +OSMOSIS_DOWNLOAD_URL="http://bretth.dev.openstreetmap.org/osmosis-build/$OSMOSIS_FILE" +POSTGIS_GIT_URL="https://github.com/postgis/postgis.git" +POSTGIS_VERSION="auto" # activate to install from repository +#POSTGIS_VERSION="2.1.3" # activate to install from source POSTGRESQL_DATA_DIR="/var/lib/pgsql/9.3/data" POSTGRESQL_HBA_CONF="$POSTGRESQL_DATA_DIR/pg_hba.conf" POSTGRESQL_PKG_NAME="postgresql93" POSTGRESQL_SERVICE_NAME="postgresql-9.3" -PGROUTING_VERSION="2.0.0" -REPO_BASE_CONFIG="/etc/yum.repos.d/fedora-updates.repo" +PGROUTING_GIT_URL="https://github.com/pgRouting/pgrouting.git" +PGROUTING_VERSION="auto" # activate to install from repository +#PGROUTING_VERSION="2.0.0" # activate to install from source +REPO_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="" # will be set later (depending on architecture) 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="" # will be set later (depending on architecture) 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" +REPO_RPMFORGE_CONFIG="/etc/yum.repos.d/rpmforge.repo" +SELINUX_CONFIG="/etc/selinux/config" TABLE_PREFIX_BZ="bz_" TABLE_PREFIX_IBK="ibk_" TABLE_PREFIX_IT="it_" TABLE_PREFIX_SF="sf_" TABLE_PREFIX_ST="st_" -TEMPLATE_VERSION_PSIPROBE="2.3.3" -TEMPLATE_FILE_PSIPROBE="probe-$TEMPLATE_VERSION_PSIPROBE.zip" +TEMPLATE_PSIPROBE_VERSION="2.3.3" +TEMPLATE_PSIPROBE_FILE="probe-$TEMPLATE_PSIPROBE_VERSION.zip" +TEMPLATE_PSIPROBE_DOWNLOAD_URL="https://psi-probe.googlecode.com/files/$TEMPLATE_PSIPROBE_FILE" TEMPLATE_DIR_ISOCHRONE="/vagrant" TOMCAT_VERSION="8.0.9" TOMCAT_FILE="apache-tomcat-$TOMCAT_VERSION.tar.gz" +TOMCAT_DOWNLOAD_URL="http://tweedo.com/mirror/apache/tomcat/tomcat-8/v$TOMCAT_VERSION/bin/$TOMCAT_FILE" TOMCAT_MEMORY_OPTS="-Xmx2048m -Xms512m -XX:MaxPermSize=512m" TOMCAT_NAME="tomcat" TOMCAT_USER="tomcat" -TOPOLOGY_TOLERANCE="0.0005" +TOMCAT_WEBAPP_DIR="$DEPLOY_DIR/$TOMCAT_NAME/webapps" +TOPOLOGY_TOLERANCE=0.0005 -## Calculated variables -####################### +############################ +# Calculated configuration # +############################ INSTALL_JAVA=false INSTALL_MAVEN=false @@ -178,6 +213,10 @@ if $INSTALL_POSTGRES_ADMIN || $INSALL_POSTGIS; then INSTALL_POSTGRES=true fi +############################ +# OS check & configuration # +############################ + DISTRI_FILE="/etc/redhat-release" if [ ! -f "$DISTRI_FILE" ]; then DISTRI_FILE="/etc/issue" @@ -186,8 +225,8 @@ 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 - REPO_BASE_CONFIG="/etc/yum.repos.d/CentOS-Base.repo" +if [ "$DISTRI" == "CentOS" ]; then + REPO_CONFIG="/etc/yum.repos.d/CentOS-Base.repo" 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" @@ -202,7 +241,7 @@ if [ $DISTRI == "CentOS" ]; then 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 +elif [ "$DISTRI" == "Fedora" ]; then if echo $DISTRI_NAME | egrep -q " 20 (Heisenbug)" ; then DISTRI_SUPPORTED=true fi @@ -228,17 +267,14 @@ else JAVA_FILE="$JAVA_FILE_32" fi -START=$(date +%s) -TOMCAT_WEBAPP_DIR="$DEPLOY_DIR/$TOMCAT_NAME/webapps" -WORKING_DIR=`pwd` - -## Functions -############ +############################ +# Function definitions # +############################ fn_download() { - FILE="$1" - URL="$2" + local FILE="$1" + local URL="$2" if wget --no-check-certificate -q -O /dev/null "$URL"; then wget --no-check-certificate -q -O "$FILE" "$URL" @@ -248,8 +284,8 @@ fn_download() # "wget -N" does not work with "-O" option... so we use a workaround here fn_download_newer() { - FILE="$1" - URL="$2" + local FILE="$1" + local URL="$2" if [ ! -f "$FILE" ]; then if wget --no-check-certificate -q -O /dev/null "$URL"; then @@ -260,12 +296,12 @@ fn_download_newer() fn_import_data() { - NAME="$1" - OSM_FILE="$2" - OSM_FILE_FILTERED="$3" - BOUNDING="$4" - SCHEDULE_FILE="$5" - TABLE_PREFIX="$6" + local NAME="$1" + local OSM_FILE="$2" + local OSM_FILE_FILTERED="$3" + local BOUNDING="$4" + local SCHEDULE_FILE="$5" + local TABLE_PREFIX="$6" echo "Importing data for region of $NAME" if $IMPORT_OSMDATA_CACHED; then @@ -277,7 +313,7 @@ fn_import_data() if [ ! -f $DEPLOY_DIR/$OSM_FILE_FILTERED ]; then echo " - downloading OpenStreetMap file" OSM_FILENAME=$DOWNLOAD_DIR/${OSM_FILE##*/} - fn_download_newer $OSM_FILENAME http://download.geofabrik.de/$OSM_FILE + fn_download_newer $OSM_FILENAME $OSM_DOWNLOAD_MIRROR/$OSM_FILE echo " - filtering OpenStreetMap data" if [[ "$BOUNDING" == *.poly ]]; then @@ -320,10 +356,105 @@ fn_import_data() fi } -## Start of environment preparation -################################### +fn_service_start() +{ + local SERVICE_NAME="$1" + + touch "service_start_$SERVICE_NAME.log" 2>&1 + if [ "$DISTRI_TYPE" == "CentOS 6" ]; then + service $SERVICE_NAME start >> "service_start_$SERVICE_NAME.log" 2>&1 + chkconfig $SERVICE_NAME on "service_start_$SERVICE_NAME.log" 2>&1 + else + systemctl start $SERVICE_NAME >> "service_start_$SERVICE_NAME.log" 2>&1 + systemctl enable $SERVICE_NAME >> "service_start_$SERVICE_NAME.log" 2>&1 + fi +} + +fn_service_stop() +{ + local SERVICE_NAME="$1" + + touch "service_stop_$SERVICE_NAME.log" 2>&1 + if [ "$DISTRI_TYPE" == "CentOS 6" ]; then + service $SERVICE_NAME stop >> "service_stop_$SERVICE_NAME.log" 2>&1 + chkconfig $SERVICE_NAME off "service_stop_$SERVICE_NAME.log" 2>&1 + else + systemctl stop $SERVICE_NAME >> "service_stop_$SERVICE_NAME.log" 2>&1 + systemctl disable $SERVICE_NAME >> "service_stop_$SERVICE_NAME.log" 2>&1 + fi +} + +START=$(date +%s) + +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo " Performing basic system preparations:" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + +############################ +# Basic preparations # +############################ + +cd $WORKING_DIR +mkdir -p $DOWNLOAD_DIR + +echo "Configuring timezone" +cp /usr/share/zoneinfo/Europe/Vienna /etc/localtime > setup_timezone.log 2>&1 + +echo "Installing utils (gcc, git, ...)" +yum -y install gcc gcc-c++ git gzip iptables-services nano nmap sed tar unzip wget > install_utils.log 2>&1 + +############################ +# Security preparations # +############################ + +echo "Stopping Firewall and SELinux" +if [ "$DISTRI_TYPE" == "CentOS 6" ]; then + fn_service_stop "iptables" + fn_service_stop "ip6tables" +else + fn_service_stop "firewalld" +fi + +if [ $(getenforce) == "Enforcing" ]; then + setenforce 0 > stop_selinux.log 2>&1 +fi +sed -i 's/SELINUX=enabled/SELINUX=disabled/' $SELINUX_CONFIG + +############################ +# Repository preparations # +############################ + +if $INSTALL_POSTGRES; then + if [ "$DISTRI" == "CentOS" ]; then + sed -i 's/\[base\]/\[base\]\nexclude=postgresql\*/' $REPO_CONFIG + sed -i 's/\[updates\]/\[updates\]\nexclude=postgresql\*/' $REPO_CONFIG + else + sed -i 's/\[fedora\]/\[fedora\]\nexclude=postgresql\*/' $REPO_CONFIG + fi + + # Epel Repository is needed for dependencies (gdal!) of postgresql/postgis/pgRouting + echo "Installing epel repository" + fn_download $DOWNLOAD_DIR/epel-repo.rpm $REPO_EPEL + yum -y localinstall $DOWNLOAD_DIR/epel-repo.rpm > install_epel_repo.log 2>&1 + echo " - enabled" + + echo "Installing $POSTGRESQL_SERVICE_NAME repository" + fn_download $DOWNLOAD_DIR/postgresql-repo.rpm $REPO_POSTGRESQL + yum -y localinstall $DOWNLOAD_DIR/postgresql-repo.rpm > install_postgresql_repo.log 2>&1 + echo " - enabled" +fi + +# RpmForge is deactivated by default and has to be explicitly activated when using yum +echo "Installing rpmForge repository" +fn_download_newer $DOWNLOAD_DIR/rpmforge-repo.rpm $REPO_RPMFORGE +yum -y localinstall $DOWNLOAD_DIR/rpmforge-repo.rpm > install_rpmforge_repo.log 2>&1 +echo " - disabled" +sed -i 's/enabled = 1/enabled = 0/' $REPO_RPMFORGE_CONFIG + +############################ +# Repository preparations # +############################ -echo "" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" echo " Bootstrapping the VM:" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" @@ -358,56 +489,8 @@ echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" echo " Performing installations:" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -# Are we punching above our weight? -if [ "$EUID" -ne "0" ]; then - echo '- The bootstrap script must be run as root!' - exit 1 -fi - -cd $WORKING_DIR -mkdir -p $DOWNLOAD_DIR - -echo "Configuring timezone" -cp /usr/share/zoneinfo/Europe/Vienna /etc/localtime > setup_timezone.log 2>&1 - -echo "Installing utils (gcc, git, ...) with yum repository version" -yum -y install gcc gcc-c++ git iptables-services nano nmap sed tar unzip wget > insall_utils.log 2>&1 - -#echo "Installing krismer repository" -#fn_download_newer $DOWNLOAD_DIR/krismer.repo $NEXUS_YUM_REPO -#cp $DOWNLOAD_DIR/krismer.repo /etc/yum.repos.d > install_krismer_repo.log 2>&1 - -if $INSTALL_POSTGRES; then - if [ $DISTRI == "CentOS" ]; then - sed -i 's/\[base\]/\[base\]\nexclude=postgresql\*/' $REPO_BASE_CONFIG - sed -i 's/\[updates\]/\[updates\]\nexclude=postgresql\*/' $REPO_BASE_CONFIG - else - sed -i 's/\[fedora\]/\[fedora\]\nexclude=postgresql\*/' $REPO_BASE_CONFIG - fi - - echo "Installing postgresql-9.3 repository" - 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 $REPO_EPEL - yum -y localinstall $DOWNLOAD_DIR/epel-repo.rpm > install_epel_repo.log 2>&1 -fi - -echo "Stopping Firewall and SELinux" -service iptables stop > stop_iptables.log 2>&1 -service ip6tables stop >> stop_iptables.log 2>&1 -service firewalld stop >> stop_iptables.log 2>&1 -chkconfig iptables off >> stop_iptables.log 2>&1 -chkconfig iptables off >> stop_iptables.log 2>&1 -chkconfig iptables off >> stop_iptables.log 2>&1 -systemctl disable iptables >> stop_iptables.log 2>&1 -systemctl disable ip6tables >> stop_iptables.log 2>&1 -systemctl disable firewalld >> stop_iptables.log 2>&1 -if [ $(getenforce) == "Enforcing" ]; then - setenforce 0 > stop_selinux.log 2>&1 -fi -sed -i 's/SELINUX=enabled/SELINUX=disabled/' /etc/selinux/config +echo "Installing cmake" +yum -y --enablerepo=rpmforge-extras install cmake > install_cmake.log 2>&1 if $INSTALL_HTTPD; then echo "Installing httpd server" @@ -415,29 +498,35 @@ if $INSTALL_HTTPD; then fi if $INSTALL_POSTGRES; then - echo "Installing $POSTGRESQL_PKG_NAME" - yum -y install $POSTGRESQL_PKG_NAME $POSTGRESQL_PKG_NAME-devel $POSTGRESQL_PKG_NAME-server $POSTGRESQL_PKG_NAME-contrib > install_postgresql.log 2>&1 + echo "Installing $POSTGRESQL_SERVICE_NAME" + yum -y install $POSTGRESQL_PKG_NAME $POSTGRESQL_PKG_NAME-server $POSTGRESQL_PKG_NAME-contrib > install_postgresql.log 2>&1 + echo " - exporting postgresql options" echo "export PostgreSQL_ROOT=/usr/pgsql-9.3" > /etc/profile.d/postgresql.sh source /etc/profile.d/postgresql.sh fi if $INSTALL_POSTGIS; then -# echo "Installing postgis dependencies" -# yum -y install gdal-devel geos-devel json-c-devel libxml2-devel proj-devel > install_postgis_deps.log 2>&1 - -# echo "Installing postgis $POSTGIS_VERSION from source" -# git clone -q https://github.com/postgis/postgis.git $DEPLOY_DIR/postgis-$POSTGIS_VERSION -# ln -sf $DEPLOY_DIR/postgis-$POSTGIS_VERSION $DEPLOY_DIR/postgis -# cd $DEPLOY_DIR/postgis -# git checkout -q $POSTGIS_VERSION > /dev/null 2>&1 -# ./configure > $WORKING_DIR/install_postgis.log 2>&1 -# make >> $WORKING_DIR/install_postgis.log 2>&1 -# make install >> $WORKING_DIR/install_postgis.log 2>&1 -# cd $WORKING_DIR + fn_download_newer $DOWNLOAD_DIR/$ARMADILLO_FILE "$ARMADILLO_URL" + yum -y localinstall $DOWNLOAD_DIR/$ARMADILLO_FILE > install_armadillo.log 2>&1 - echo "Installing $POSTGRESQL_PKG_NAME from repository" - yum -y install postgis2_93 postgis2_93-devel > install_postgis.log 2>&1 + if [ "$POSTGIS_VERSION" == "auto" ]; then + echo "Installing postgis (from repository)" + yum -y install postgis2_93 > install_postgis.log 2>&1 + else + echo "Installing postgis dependencies" + yum -y install gdal-devel geos-devel json-c-devel libxml2-devel proj-devel > install_postgis_deps.log 2>&1 + + echo "Installing postgis $POSTGIS_VERSION (from source)" + git clone -q "$POSTGIS_GIT_URL" $DEPLOY_DIR/postgis-$POSTGIS_VERSION + ln -sf $DEPLOY_DIR/postgis-$POSTGIS_VERSION $DEPLOY_DIR/postgis + cd $DEPLOY_DIR/postgis + git checkout -q $POSTGIS_VERSION > /dev/null 2>&1 + ./configure > $WORKING_DIR/install_postgis.log 2>&1 + make >> $WORKING_DIR/install_postgis.log 2>&1 + make install >> $WORKING_DIR/install_postgis.log 2>&1 + cd $WORKING_DIR + fi fi if $INSTALL_POSTGRES_ADMIN; then @@ -446,49 +535,25 @@ if $INSTALL_POSTGRES_ADMIN; then fi if $INSTALL_PGROUTING; then -# echo "Installing cmake $CMAKE_VERSION from source" -# fn_download_newer $DOWNLOAD_DIR/$CMAKE_FILE http://www.cmake.org/files/$CMAKE_VERSION_MAIN/$CMAKE_FILE -# cp $DOWNLOAD_DIR/$CMAKE_FILE $DEPLOY_DIR/$CMAKE_FILE -# tar -xvzf $DEPLOY_DIR/$CMAKE_FILE -C $DEPLOY_DIR > install_cmake.log 2>&1 -# cd $DEPLOY_DIR/cmake* -# ./bootstrap >> install_cmake.log 2>&1 -# make >> install_cmake.log 2>&1 -# make install >> install_cmake.log 2>&1 -# cd $WORKSPACE_DIR - - echo "Installing rpmForge repository" - 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 - - echo "Installing cmake from repository" - yum -y --enablerepo=rpmforge-extras install cmake > install_cmake.log 2>&1 - - echo "Installing pgRouting dependencies" - 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 -# cp $DOWNLOAD_DIR/CGAL-4.3.zip $DEPLOY_DIR/CGAL-4.3.zip -# unzip -o -d $DEPLOY_DIR $DEPLOY_DIR/CGAL-4.3.zip > install_cgal.log 2>&1 -# cd $DEPLOY_DIR/CGAL-4.3 -# cmake . >> install_cgal.log 2>&1 -# make >> install_cgal.log 2>&1 -# make install >> install_cgal.log 2>&1 -# cd $WORKING_DIR - - echo "Installing pgRouting $PGROUTING_VERSION" - git clone -q https://github.com/pgRouting/pgrouting.git $DEPLOY_DIR/pgRouting-$PGROUTING_VERSION - ln -sf $DEPLOY_DIR/pgRouting-$PGROUTING_VERSION $DEPLOY_DIR/pgRouting - cd $DEPLOY_DIR/pgRouting - git checkout -q pgrouting-$PGROUTING_VERSION > /dev/null 2>&1 - mkdir build - cd build -# cmake -DWITH_DD=ON -DBoost_DIR:PATH=/usr/lib64/boost -DPOSTGRESQL_EXECUTABLE:FILEPATH="$PostgreSQL_ROOT"/bin/postgres -DPOSTGRESQL_PG_CONFIG:FILEPATH="$PostgreSQL_ROOT"/bin/pg_config .. > $WORKING_DIR/install_pgRouting.log 2>&1 - cmake -DWITH_DD=OFF -DBoost_DIR:PATH=/usr/lib64/boost -DPOSTGRESQL_EXECUTABLE:FILEPATH="$PostgreSQL_ROOT"/bin/postgres -DPOSTGRESQL_PG_CONFIG:FILEPATH="$PostgreSQL_ROOT"/bin/pg_config .. > $WORKING_DIR/install_pgRouting.log 2>&1 - make >> $WORKING_DIR/install_pgRouting.log 2>&1 - make install >> $WORKING_DIR/install_pgRouting.log 2>&1 - cd $WORKING_DIR + if [ "$PGROUTING_VERSION" == "auto" ]; then + echo "Installing pgRouting (from repository)" + yum -y install pgrouting_93 > install_pgRouting.log 2>&1 + else + echo "Installing pgRouting dependencies" + yum -y install boost-devel $POSTGRESQL_PKG_NAME-devel $POSTGRESQL_PKG_NAME-libs postgis2_93-devel > install_pgRouting_deps.log 2>&1 + + echo "Installing pgRouting $PGROUTING_VERSION (from source)" + git clone -q "$PGROUTING_GIT_URL" $DEPLOY_DIR/pgRouting-$PGROUTING_VERSION + ln -sf $DEPLOY_DIR/pgRouting-$PGROUTING_VERSION $DEPLOY_DIR/pgRouting + cd $DEPLOY_DIR/pgRouting + git checkout -q pgrouting-$PGROUTING_VERSION > /dev/null 2>&1 + mkdir build + cd build + cmake -DWITH_DD=OFF -DBoost_DIR:PATH=/usr/lib64/boost -DPOSTGRESQL_EXECUTABLE:FILEPATH="$PostgreSQL_ROOT"/bin/postgres -DPOSTGRESQL_PG_CONFIG:FILEPATH="$PostgreSQL_ROOT"/bin/pg_config .. > $WORKING_DIR/install_pgRouting.log 2>&1 + make >> $WORKING_DIR/install_pgRouting.log 2>&1 + make install >> $WORKING_DIR/install_pgRouting.log 2>&1 + cd $WORKING_DIR + fi fi if $INSTALL_JAVA; then @@ -498,18 +563,19 @@ if $INSTALL_JAVA; then ln -sf /usr/java/latest $DEPLOY_DIR/jdk > setup_java.log 2>&1 ln -sf /usr/java/latest/jre $DEPLOY_DIR/jre > setup_java.log 2>&1 - echo " - setting alternatives for java" + echo " - setting alternatives for java" alternatives --install /usr/bin/java java $DEPLOY_DIR/jre/bin/java 200000 >> setup_java.log 2>&1 alternatives --install /usr/bin/javaws javaws $DEPLOY_DIR/jre/bin/javaws 200000 >> setup_java.log 2>&1 alternatives --set java $DEPLOY_DIR/jre/bin/java >> setup_java.log 2>&1 alternatives --install /usr/bin/javac javac $DEPLOY_DIR/jdk/bin/javac 200000 >> setup_java.log 2>&1 alternatives --install /usr/bin/jar jar $DEPLOY_DIR/jdk/bin/jar 200000 >> setup_java.log 2>&1 + echo " - exporting java options" echo "export JAVA_HOME=$DEPLOY_DIR/jre" > /etc/profile.d/java.sh echo "export PATH=\${JAVA_HOME}/bin:\${PATH}" >> /etc/profile.d/java.sh source /etc/profile.d/java.sh - echo " - installing strong cryptographie" + echo " - installing strong cryptographie" fn_download_newer $DOWNLOAD_DIR/$JAVA_CRYPTO_FILE $CACHE_DIR_REMOTE/$JAVA_CRYPTO_FILE unzip -j -u $DOWNLOAD_DIR/$JAVA_CRYPTO_FILE -d $DEPLOY_DIR/jre/lib/security >> setup_java.log 2>&1 fi @@ -519,29 +585,35 @@ if $INSTALL_TOMCAT; then # yum -y install $TOMCAT_NAME $TOMCAT_NAME-webapps $TOMCAT_NAME-admin-webapps > install_tomcat.log 2>&1 # ln -sf /usr/share/$TOMCAT_NAME $DEPLOY_DIR/$TOMCAT_NAME - fn_download_newer $DOWNLOAD_DIR/$TOMCAT_FILE http://tweedo.com/mirror/apache/tomcat/tomcat-8/v$TOMCAT_VERSION/bin/$TOMCAT_FILE + fn_download_newer $DOWNLOAD_DIR/$TOMCAT_FILE $TOMCAT_DOWNLOAD_URL cp $DOWNLOAD_DIR/$TOMCAT_FILE $DEPLOY_DIR/$TOMCAT_FILE tar -xvzf $DEPLOY_DIR/$TOMCAT_FILE -C $DEPLOY_DIR > install_tomcat.log 2>&1 rm -f $DEPLOY_DIR/$TOMCAT_FILE >> install_tomcat.log 2>&1 ln -sf $DEPLOY_DIR/apache-tomcat-$TOMCAT_VERSION $DEPLOY_DIR/$TOMCAT_NAME >> install_tomcat.log 2>&1 + + echo " - exporting catalina options" + if $INSTALL_GEOSERVER; then + echo "export CATALINA_OPTS=\"-Djava.awt.headless=true $TOMCAT_MEMORY_OPTS -DGEOSERVER_DATA_DIR=$DEPLOY_DIR/geoserver/data\"" > /etc/profile.d/catalina.sh + else + echo "export CATALINA_OPTS=\"-Djava.awt.headless=true $TOMCAT_MEMORY_OPTS\"" > /etc/profile.d/catalina.sh + fi + source /etc/profile.d/catalina.sh fi if $INSTALL_GEOSERVER; then echo "Installing geoserver $GEOSERVER_VERSION" - fn_download_newer $DOWNLOAD_DIR/$GEOSERVER_FILE http://sourceforge.net/projects/geoserver/files/GeoServer/$GEOSERVER_VERSION/$GEOSERVER_FILE + fn_download_newer $DOWNLOAD_DIR/$GEOSERVER_FILE $GEOSERVER_DOWNLOAD_URL unzip -o -d $TOMCAT_WEBAPP_DIR $DOWNLOAD_DIR/$GEOSERVER_FILE geoserver.war > install_geoserver.log 2>&1 - echo "Installing geoserver web archive into tomcat" + echo " - copying web archive into tomcat" mkdir -p $TOMCAT_WEBAPP_DIR/geoserver unzip -o -d $TOMCAT_WEBAPP_DIR/geoserver $TOMCAT_WEBAPP_DIR/geoserver.war >> install_geoserver.log 2>&1 rm -f $TOMCAT_WEBAPP_DIR/geoserver.war >> install_geoserver.log 2>&1 - echo "Installing geoserver data directory" + echo " - creating geoserver data directory" # mkdir -p $DEPLOY_DIR/geoserver >> install_geoserver.log 2>&1 # mv $TOMCAT_WEBAPP_DIR/geoserver/data $DEPLOY_DIR/geoserver >> install_geoserver.log 2>&1 mkdir -p $DEPLOY_DIR/geoserver/data >> install_geoserver.log 2>&1 - echo "export CATALINA_OPTS=\"-Djava.awt.headless=true $TOMCAT_MEMORY_OPTS -DGEOSERVER_DATA_DIR=$DEPLOY_DIR/geoserver/data\"" > /etc/profile.d/catalina.sh - source /etc/profile.d/catalina.sh echo "Installing geoserver-shell $GEOSERVER_SHELL_VERSION" fn_download_newer $DOWNLOAD_DIR/$GEOSERVER_SHELL_FILE $CACHE_DIR_REMOTE/$GEOSERVER_SHELL_FILE @@ -549,14 +621,11 @@ 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 echo "Installing template project \"isochrone (local testing)\"" - echo " - creating war using gradle from $TEMPLATE_DIR_ISOCHRONE" + echo " - creating war using gradle from $TEMPLATE_DIR_ISOCHRONE" $TEMPLATE_DIR_ISOCHRONE/gradlew -b $TEMPLATE_DIR_ISOCHRONE/build.gradle -c $TEMPLATE_DIR_ISOCHRONE/settings.gradle clean war > install_isochrone_local.log 2>&1 unzip -o -d $TOMCAT_WEBAPP_DIR/localTesting $TEMPLATE_DIR_ISOCHRONE/build/libs/isochrone-*.war >> install_isochrone_local.log 2>&1 @@ -564,7 +633,7 @@ fi if $INSTALL_ISOCHRONE_RELEASE; then echo "Installing template project \"isochrone (release)\"" - echo " - artifact: $NEXUS_RELEASE_ISOCHRONE" + echo " - artifact: $NEXUS_RELEASE_ISOCHRONE" # we do not save this file in download dir (we do not want caching for isochrone.war) fn_download $DOWNLOAD_DIR/isochrone.war $NEXUS_RELEASE_ISOCHRONE @@ -575,7 +644,7 @@ fi if $INSTALL_ISOCHRONE_SNAPSHOT; then echo "Installing template project \"isochrone (testing)\"" - echo " - artifact: $NEXUS_SNAPSHOT_ISOCHRONE" + echo " - artifact: $NEXUS_SNAPSHOT_ISOCHRONE" # we do not save this file in download dir (we do not want caching for testing.war) fn_download $DOWNLOAD_DIR/testing.war $NEXUS_SNAPSHOT_ISOCHRONE @@ -586,7 +655,7 @@ fi if $INSTALL_PROJECT_CANIGET2; then echo "Installing template project \"CanIGet2\"" - echo " - artifact: $NEXUS_RELEASE_CANIGET2" + echo " - artifact: $NEXUS_RELEASE_CANIGET2" fn_download_newer $DOWNLOAD_DIR/caniget2.war $NEXUS_RELEASE_CANIGET2 cp $DOWNLOAD_DIR/caniget2.war $TOMCAT_WEBAPP_DIR @@ -595,28 +664,28 @@ if $INSTALL_PROJECT_CANIGET2; then fi if $INSTALL_PROJECT_PSIPROBE; then - echo "Installing template project \"psi-probe\"" - echo " - artifact: https://psi-probe.googlecode.com/files/$TEMPLATE_FILE_PSIPROBE" + echo "Installing template project \"psi-probe\" version $TEMPLATE_PSIPROBE_VERSION" + echo " - artifact: $TEMPLATE_PSIPROBE_DOWNLOAD_URL" - fn_download_newer $DOWNLOAD_DIR/$TEMPLATE_FILE_PSIPROBE https://psi-probe.googlecode.com/files/$TEMPLATE_FILE_PSIPROBE - unzip $DOWNLOAD_DIR/$TEMPLATE_FILE_PSIPROBE probe.war -d $TOMCAT_WEBAPP_DIR + fn_download_newer $DOWNLOAD_DIR/$TEMPLATE_PSIPROBE_FILE "$TEMPLATE_PSIPROBE_DOWNLOAD_URL" + unzip $DOWNLOAD_DIR/$TEMPLATE_PSIPROBE_FILE probe.war -d $TOMCAT_WEBAPP_DIR unzip -o -d $TOMCAT_WEBAPP_DIR/psiprobe $TOMCAT_WEBAPP_DIR/probe.war > install_psiprobe.log 2>&1 rm -f $TOMCAT_WEBAPP_DIR/probe.war >> install_psiprobe.log 2>&1 fi if $INSTALL_MAVEN; then echo "Installing maven $MAVEN_VERSION" - mkdir -p $CACHE_DIR_LOCAL/maven - fn_download_newer $DOWNLOAD_DIR/$MAVEN_FILE http://tweedo.com/mirror/apache/maven/maven-3/3.1.1/binaries/$MAVEN_FILE + fn_download_newer $DOWNLOAD_DIR/$MAVEN_FILE "$MAVEN_DOWNLOAD_URL" unzip -o $DOWNLOAD_DIR/$MAVEN_FILE -d $DEPLOY_DIR > install_maven.log 2>&1 ln -sf $DEPLOY_DIR/apache-maven-$MAVEN_VERSION $DEPLOY_DIR/apache-maven + echo " - exporting maven options" echo "export M2_HOME=$DEPLOY_DIR/apache-maven" > /etc/profile.d/maven.sh echo "export PATH=\${M2_HOME}/bin:\${PATH}" >> /etc/profile.d/maven.sh source /etc/profile.d/maven.sh - echo "Configuring maven to use vagrant-cache plugin" + echo " - configuring maven to use vagrant-cache plugin" # yum -y install xmlstarlet >> install_xmlstarlet.log # xmlstarlet edit --inplace --subnode "/_:settings" -t elem -n "localRepository" -v "$CACHE_DIR_LOCAL/maven" $DEPLOY_DIR/apache-maven/conf/settings.xml cp $SHARED_CONF_DIR/maven-settings.xml $DEPLOY_DIR/apache-maven/conf/settings.xml @@ -627,32 +696,39 @@ if $INSTALL_NEO4J; then yum install -y lsof > install_neo4j_deps.log 2>&1 echo "Installing neo4j $NEO4J_VERSION" - fn_download_newer $DOWNLOAD_DIR/$NEO4J_FILE http://dist.neo4j.org/$NEO4J_FILE + fn_download_newer $DOWNLOAD_DIR/$NEO4J_FILE "$NEO4J_DOWNLOAD_URL" tar -xvzf $DOWNLOAD_DIR/$NEO4J_FILE -C $DEPLOY_DIR > install_neo4j.log 2>&1 ln -sf $DEPLOY_DIR/neo4j-community-$NEO4J_VERSION $DEPLOY_DIR/neo4j + + echo " - enabling neo4j network access" echo "org.neo4j.server.webserver.address=0.0.0.0" >> $DEPLOY_DIR/neo4j/conf/neo4j-server.properties fi if $INSTALL_NEO4J_SPATIAL; then echo "Installing neo4j-spatial $NEO4J_SPATIAL_VERSION" - git clone -q https://github.com/neo4j/spatial.git $DEPLOY_DIR/neo4j-spatial-$NEO4J_SPATIAL_VERSION + git clone -q "$NEO4J_SPATIAL_GIT_URL" $DEPLOY_DIR/neo4j-spatial-$NEO4J_SPATIAL_VERSION ln -sf $DEPLOY_DIR/neo4j-spatial-$NEO4J_SPATIAL_VERSION $DEPLOY_DIR/neo4j-spatial cd $DEPLOY_DIR/neo4j-spatial git checkout -q $NEO4J_SPATIAL_VERSION > /dev/null 2>&1 if $INSTALL_GEOSERVER; then - # We need to compile the source when importing data, so that the main class gets compiled - echo "Installing neo4j-spatial into geoserver from source" - mvn clean install -DskipTests > $WORKING_DIR/install_neo4j_spatial.log 2>&1 - unzip -o $DEPLOY_DIR/neo4j-spatial/target/*server-plugin.zip -d $TOMCAT_WEBAPP_DIR/geoserver/WEB-INF/lib > $WORKING_DIR/install_neo4j_spatial_plugin.log 2>&1 + if $IMPORT_OSMDATA || $IMPORT_OSMDATA_CACHED; then + # We need to compile the source when importing data, so that the main class gets compiled + echo " - copying neo4j-spatial into geoserver (from source)" + mvn clean install -DskipTests > $WORKING_DIR/install_neo4j_spatial.log 2>&1 + unzip -o $DEPLOY_DIR/neo4j-spatial/target/*server-plugin.zip -d $TOMCAT_WEBAPP_DIR/geoserver/WEB-INF/lib > $WORKING_DIR/install_neo4j_spatial_plugin.log 2>&1 + else + echo " - copying neo4j-spatial into geoserver (from binary)" + fn_download_newer $DOWNLOAD_DIR/neo4j-spatial-$NEO4J_SPATIAL_VERSION-server-plugin.zip "$NEO4J_SPATIAL_PLUGIN_DOWNLOAD_URL" + unzip -o $DOWNLOAD_DIR/neo4j-spatial-$NEO4J_SPATIAL_VERSION-server-plugin.zip -d $TOMCAT_WEBAPP_DIR/geoserver/WEB-INF/lib > $WORKING_DIR/install_neo4j_spatial_plugin.log 2>&1 + fi fi - cd $WORKING_DIR fi if $IMPORT_OSMDATA; then echo "Installing osmosis $OSMOSIS_VERSION" - fn_download_newer $DOWNLOAD_DIR/$OSMOSIS_FILE http://bretth.dev.openstreetmap.org/osmosis-build/$OSMOSIS_FILE + fn_download_newer $DOWNLOAD_DIR/$OSMOSIS_FILE "$OSMOSIS_DOWNLOAD_URL" mkdir -p $DEPLOY_DIR/osmosis-$OSMOSIS_VERSION unzip -o $DOWNLOAD_DIR/$OSMOSIS_FILE -d $DEPLOY_DIR/osmosis-$OSMOSIS_VERSION > install_osmosis.log 2>&1 ln -sf $DEPLOY_DIR/osmosis-* $DEPLOY_DIR/osmosis @@ -664,7 +740,7 @@ if ( $IMPORT_OSMDATA || $IMPORT_OSMDATA_CACHED ) && $INSTALL_PGROUTING; then yum install -y expat-devel boost-devel > install_osm2pgrouting_deps.log 2>&1 echo "Installing osm2pgrouting $OSM2PGROUTING_VERSION" - git clone -q https://github.com/pgRouting/osm2pgrouting.git $DEPLOY_DIR/osm2pgrouting-$OSM2PGROUTING_VERSION + git clone -q "$OSM2PGROUTING_GIT_URL" $DEPLOY_DIR/osm2pgrouting-$OSM2PGROUTING_VERSION ln -sf $DEPLOY_DIR/osm2pgrouting-$OSM2PGROUTING_VERSION $DEPLOY_DIR/osm2pgrouting cd $DEPLOY_DIR/osm2pgrouting @@ -677,13 +753,18 @@ if ( $IMPORT_OSMDATA || $IMPORT_OSMDATA_CACHED ) && $INSTALL_PGROUTING; then fi echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo " Installations done!" -echo " Preparing services" +echo " Installations performed!" +echo " Preparing services:" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + if $INSTALL_POSTGRES; then - echo "Initialize postgresql database" - rm -rf $POSTGRESQL_DATA_DIR - $PostgreSQL_ROOT/bin/postgresql93-setup initdb > initialize_postgresql.log 2>&1 + echo "Initializing postgresql database" + if [ -f "$PostgreSQL_ROOT/bin/postgresql93-setup" ]; then + rm -rf $POSTGRESQL_DATA_DIR + $PostgreSQL_ROOT/bin/postgresql93-setup initdb > initialize_postgresql.log 2>&1 + else + service $POSTGRESQL_SERVICE_NAME initdb > initialize_postgresql.log 2>&1 + fi sleep 2 echo "Configuring and starting postgresql-server" @@ -699,10 +780,10 @@ if $INSTALL_POSTGRES_ADMIN; then fi if $INSTALL_NEO4J; then - echo "Initialize neo4j database" + echo "Initializing neo4j database" $DEPLOY_DIR/neo4j/bin/neo4j -h -u $NEO4J_DB_USER install > initialize_neo4j.log 2>&1 - # Configuring max open file limit for user "neo4j" + echo " - setting max open file limit for neo4j user" echo "$NEO4J_DB_USER soft nofile 40000" >> /etc/security/limits.conf echo "$NEO4J_DB_USER hard nofile 40000" >> /etc/security/limits.conf echo "session required pam_limits.so" >> /etc/pam.d/su @@ -745,29 +826,25 @@ if $INSTALL_POSTGIS && $INSTALL_GEOSERVER; then chown -R $TOMCAT_USER:$TOMCAT_USER $DEPLOY_DIR/geoserver/data/user_projections fi -echo "Starting services" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo " Services prepared!" +echo " Starting services:" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + if $INSTALL_HTTPD; then - service httpd start > start_httpd.log 2>&1 - systemctl enable httpd >> start_httpd.log 2>&1 - chkconfig httpd on >> start_httpd.log 2>&1 + fn_service_start "httpd" sleep 2 fi if $INSTALL_POSTGRES; then - service $POSTGRESQL_SERVICE_NAME start > start_pg.log 2>&1 - systemctl enable $POSTGRESQL_SERVICE_NAM >> start_pg.log 2>&1 - chkconfig $POSTGRESQL_SERVICE_NAME on >> start_pg.log 2>&1 + fn_service_start "$POSTGRESQL_SERVICE_NAME" sleep 2 fi if $INSTALL_NEO4J; then - service $NEO4J_SERVICE_NAME start > start_neo4j.log 2>&1 - systemctl enable $NEO4J_SERVICE_NAME >> start_neo4j.log 2>&1 - chkconfig $NEO4J_SERVICE_NAME on >> start_neo4j.log 2>&1 + fn_service_start "$NEO4J_SERVICE_NAME" sleep 2 fi if $INSTALL_TOMCAT; then - service $TOMCAT_NAME start > start_tomcat.log 2>&1 - systemctl enable $TOMCAT_NAME >> start_tomcat.log 2>&1 - chkconfig $TOMCAT_NAME on >> start_tomcat.log 2>&1 + fn_service_start "$TOMCAT_NAME" sleep 2 fi @@ -792,9 +869,9 @@ if $INSTALL_PGROUTING; then fi echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo " Services prepared!" +echo " Services started!" if $IMPORT_OSMDATA || $IMPORT_OSMDATA_CACHED; then - echo " Importing data" + 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" @@ -844,6 +921,10 @@ if $IMPORT_OSMDATA || $IMPORT_OSMDATA_CACHED; then fi fi fi + + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + echo "Data imported!" + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" fi # Prevent second provision (done by check at the beginning of this file) @@ -853,6 +934,6 @@ END=$(date +%s) TOTAL=$(( $END - $START )) echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo " All preparations done... box can now be used" -echo " Bootstrapping time: $TOTAL seconds" +echo " All preparations done... the system can now be used" +echo " Provisioning time: $TOTAL seconds" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"