diff --git a/Vagrantfile b/Vagrantfile index b59a5e1c8713d9fe44a54e312e208cde20ff1415..f2f2b06f6d19abceaca5ee649b68dc614ab9ba43 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,7 +1,8 @@ Vagrant.configure("2") do |config| config.vm.box = "ubuntu/bionic64" - + + config.vm.network "forwarded_port", guest: 8080, host: 8080 #config.vm.network "forwarded_port", guest: 8080, host: 8080 config.vm.provider "virtualbox" do |vb| vb.cpus = 4 diff --git a/scripts/autoInstall.sh b/scripts/autoInstall.sh index 7ac3759220938ed790e1d40d73714eb85c7bd79f..356225a401a534b5fcafdc479a8a6dc39e288828 100644 --- a/scripts/autoInstall.sh +++ b/scripts/autoInstall.sh @@ -2,4 +2,5 @@ source ./upgradeSystem.sh source ./install.sh -source ./setupWebserver.sh \ No newline at end of file +source ./setupWebserver.sh +source ./rendering.sh \ No newline at end of file diff --git a/scripts/install.sh b/scripts/install.sh index 49fd4531303b1363a30db63ccc1d7553464abd83..4bc3e42ba6cb428b425ca191363c82377dde26bf 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -2,12 +2,15 @@ source ./spinner.sh +echo " " +echo " " echo "=====================================================================================" -echo " Installing tileserver " +echo " Installing tileserver "echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Installing dependencies:" -( - apt-get -qq upgrade -y \ +( + apt-get update -qq > /dev/null 2>&1 + apt-get -qq install -y \ libboost-all-dev git-core tar unzip wget \ bzip2 build-essential autoconf libtool libxml2-dev \ libgeos-dev libgeos++-dev libpq-dev libbz2-dev libproj-dev \ @@ -25,9 +28,9 @@ echo "====> : Installing dependencies:" ) & spinner $! echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Installing postgresql with postgis:" ( @@ -37,97 +40,102 @@ echo "====> : Installing postgresql with postgis:" > /dev/null 2>&1 ) & spinner $! echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Initialising postgresql:" ( sudo -u postgres -i bash << EOF - createuser postgresuser - createdb -E UTF8 -O postgresuser gis + createuser vagrant + createdb -E UTF8 -O vagrant gis psql -U postgres -d gis -c "CREATE EXTENSION postgis" psql -U postgres -d gis -c "CREATE EXTENSION hstore" - psql -U postgres -d gis -c "ALTER TABLE geometry_columns OWNER TO postgresuser;" - psql -U postgres -d gis -c "ALTER TABLE spatial_ref_sys OWNER TO postgresuser;" + psql -U postgres -d gis -c "ALTER TABLE geometry_columns OWNER TO vagrant;" + psql -U postgres -d gis -c "ALTER TABLE spatial_ref_sys OWNER TO vagrant;" EOF -sudo useradd -m postgresuser +sudo useradd -m vagrant ) & spinner $! echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" -echo "====> : Downloading an building osm2pgsql from github.com:" +echo "====> : Downloading and building osm2pgsql from github.com:" ( mkdir ~/src cd ~/src - git clone -q git://github.com/openstreetmap/osm2pgsql.git + git clone -q git://github.com/openstreetmap/osm2pgsql.git + echo "Download complete." + cd osm2pgsql - mkdir build cd build cmake .. > /dev/null 2>&1 - make > /dev/null 2>&1 + make -j4 > /dev/null 2>&1 sudo make install > /dev/null 2>&1 ) & spinner $! echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Downloading and building mod_tile from github.com:" ( cd ~/src - git clone -b switch2osm git://github.com/SomeoneElseOSM/mod_tile.git + git clone -qb switch2osm git://github.com/SomeoneElseOSM/mod_tile.git + echo "Download complete." + cd mod_tile ./autogen.sh > /dev/null 2>&1 ./configure > /dev/null 2>&1 - make --silent + make -j4 > /dev/null 2>&1 sudo make install > /dev/null 2>&1 sudo make install-mod_tile > /dev/null 2>&1 sudo ldconfig > /dev/null 2>&1 ) & spinner $! echo " : ... done" -echo " " + +echo " " +echo " " echo "=====================================================================================" -echo " Configuring Stylesheets " +echo " Configuring Stylesheets "echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Downloading openstreetmap-carto:" -( cd ~/src git clone git://github.com/gravitystorm/openstreetmap-carto.git >/dev/null 2>&1 cd openstreetmap-carto sudo apt -qq install -y npm nodejs >/dev/null 2>&1 sudo npm install -g carto >/dev/null 2>&1 - echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Converting carto to .xml:" ( - carto project.mml > mapnik.xml >/dev/null 2>&1 + carto project.mml > mapnik.xml ) & spinner $! echo " : ... done" -echo " " + +echo " " +echo " " echo "=====================================================================================" -echo " Loading Data " +echo " Loading Data "echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Downloading sample data from geofabrik.de:" ( mkdir ~/data cd ~/data - wget http://download.geofabrik.de/asia/azerbaijan-latest.osm.pbf + wget http://download.geofabrik.de/asia/azerbaijan-latest.osm.pbf > /dev/null 2>&1 ) & spinner $! echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Loading data into database:" ( @@ -145,23 +153,21 @@ sudo -u postgres -i bash << EOF ~/data/azerbaijan-latest.osm.pbf EOF ) & spinner $! - echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Downloading additional shapefiles:" ( cd ~/src/openstreetmap-carto/ - scripts/get-shapefiles.py + scripts/get-shapefiles.py > /dev/null 2>&1 ) & spinner $! - echo " : ... done" -echo " " +echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Installing additional fonts:" ( @@ -170,6 +176,4 @@ echo "====> : Installing additional fonts:" > /dev/null 2>&1 ) & spinner $! - echo " : ... done" -echo " " diff --git a/scripts/rendering.sh b/scripts/rendering.sh new file mode 100644 index 0000000000000000000000000000000000000000..c504cae2c77241389aaa92d956b49509fb629ea0 --- /dev/null +++ b/scripts/rendering.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +source ./spinner.sh + +echo " " +echo " " +echo "=====================================================================================" +echo " Rendering " +echo "-------------------------------------------------------------------------------------" +echo "====> : Starting renderd:" +( + sed -i 's/renderaccount/vagrant/g' /usr/local/etc/renderd.conf + + renderd -f -c /usr/local/etc/renderd.conf +) & spinner $! + +echo " : ... done" diff --git a/scripts/setupWebserver.sh b/scripts/setupWebserver.sh index 9ce5f03f1564ee94b38a13df9bfbc49cbcf5e267..fce55fc0480ade3324a52b834c16d7b860346bfb 100644 --- a/scripts/setupWebserver.sh +++ b/scripts/setupWebserver.sh @@ -1,16 +1,43 @@ #!/bin/bash source ./spinner.sh - +echo " " +echo " " echo "=====================================================================================" echo " Setting up webserver " echo "-------------------------------------------------------------------------------------" -echo "====> : :" +echo "====> : Setting up Apache:" ( - + sudo mkdir /var/lib/mod_tile + sudo chown vagrant /var/lib/mod_tile + + sudo mkdir /var/run/renderd + sudo chown vagrant /var/run/renderd ) & spinner $! echo " : ... done" + echo " " +echo "-------------------------------------------------------------------------------------" +echo "====> : Configuring Apache:" +( + echo LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so >> /etc/apache2/conf-available/mod_tile.conf + sudo a2enconf mod_tile > /dev/null 2>&1 + + sed -i '/ServerAdmin/a \ + LoadTileConfigFile /usr/local/etc/renderd.conf\n \ + ModTileRenderdSocketName /var/run/renderd/renderd.sock\n \ + # Timeout before giving up for a tile to be rendered\n \ + ModTileRequestTimeout 0\n \ + # Timeout before giving up for a tile to be rendered that is otherwise missing\n \ + ModTileMissingRequestTimeout 30' \ + /etc/apache2/sites-available/000-default.conf + + sudo service apache2 reload + sudo service apache2 reload +) & spinner $! + +echo " : ... done" + diff --git a/scripts/template.sh b/scripts/template.sh index 82a06a1820a6fd0d4bc900d3907f7be302a7b36a..dd035918555c94b150e2eb044e90ff5151554d62 100644 --- a/scripts/template.sh +++ b/scripts/template.sh @@ -2,6 +2,8 @@ source ./spinner.sh +echo " " +echo " " echo "=====================================================================================" echo " XYZ " echo "-------------------------------------------------------------------------------------" @@ -11,4 +13,3 @@ echo "====> : XYZ:" ) & spinner $! echo " : ... done" -echo " " diff --git a/scripts/upgradeSystem.sh b/scripts/upgradeSystem.sh index ddc7463d7baf37f5617ddfe03f5a24c8656a6ff9..4b3f852fcd3f6a45e0e9f58612f82682915bfe04 100644 --- a/scripts/upgradeSystem.sh +++ b/scripts/upgradeSystem.sh @@ -2,6 +2,8 @@ source spinner.sh +echo " " +echo " " echo "=====================================================================================" echo " Upgrading your system " echo "-------------------------------------------------------------------------------------"