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