Difference between revisions of "Setting up tilestream"
From stgo
(→Setting up TileStream) |
|||
(6 intermediate revisions by one user not shown) | |||
Line 2: | Line 2: | ||
---- | ---- | ||
− | This page documents how to install TileStream, a tile server for MapBox Tiles generated with [http://www.mapbox.com/tilemill/ MapBox TileMill], on Ubuntu 12.04. The basic description is taken from [http://github.com/mapbox/tilestream TileStreams Github page] | + | == Setting up TileStream == |
+ | |||
+ | This page documents how to install TileStream, a tile server for MapBox Tiles generated with [http://www.mapbox.com/tilemill/ MapBox TileMill], on Ubuntu 12.04. The basic description is taken from [http://github.com/mapbox/tilestream TileStreams Github page]. | ||
* I took an existing copy of my VirtualBox with Ubuntu 12.04 installed, including Apache2 | * I took an existing copy of my VirtualBox with Ubuntu 12.04 installed, including Apache2 | ||
* <code>sudo apt-get update</code> | * <code>sudo apt-get update</code> | ||
− | * Note: there are 2 | + | * Note: there are '''2 options to install TileStream''', one from source and one from directly (described on the github page a bit below). The latter is useful for running multiple applications that use node.js. As I am having a separate VirtualBox just for that I used Option A (below). '''But''', if TileStream is run on the same server as GeoNode, I think one needs to use [http://github.com/mapbox/tilestream#installation-ubuntu-alternate-procedure Option B - Alternate Procedure] since GeoNode uses Node.js as well. |
* <code>sudo apt-get install curl build-essential libssl-dev libsqlite3-0 libsqlite3-dev git-core</code> This installs curl, sqlite, git etc. When running the command I also got some problems with a repository location so I did add the parameter <code>"--fix-missing"</code> as suggested. | * <code>sudo apt-get install curl build-essential libssl-dev libsqlite3-0 libsqlite3-dev git-core</code> This installs curl, sqlite, git etc. When running the command I also got some problems with a repository location so I did add the parameter <code>"--fix-missing"</code> as suggested. | ||
* next step is to add a further apt repository, but for that I needed to enable add-apt using <code>sudo apt-get install python-software-properties</code> | * next step is to add a further apt repository, but for that I needed to enable add-apt using <code>sudo apt-get install python-software-properties</code> | ||
Line 48: | Line 50: | ||
* To see TileStream running at port 80 one should use <code>./index.js start --uiPort=[80]</code> , but this gave me actually an error. | * To see TileStream running at port 80 one should use <code>./index.js start --uiPort=[80]</code> , but this gave me actually an error. | ||
* for running TileStream longer: | * for running TileStream longer: | ||
− | ** the tile server can be startup using <code>./index.js start --host 146.155.17.113 &<code>. This should return a PID to later use the kill command. | + | ** the tile server can be startup using <code>./index.js start --host 146.155.17.113 &</code>. This should return a PID to later use the kill command. |
** or (ToDo): Ubuntu settings should be adapted so that TileServer is automatically run on machine startup | ** or (ToDo): Ubuntu settings should be adapted so that TileServer is automatically run on machine startup | ||
+ | * next I copied the Fondef tileset (1.5G with tar) to my TileStream VM into /usr/share/tilestream, so I started TileStream now with <pre>./tilestream/index.js start --host 146.155.17.113 --tiles=/usr/share/tilestream</pre> | ||
+ | Note, if there comes a message like | ||
+ | <pre>events.js:72 | ||
+ | throw er; // Unhandled 'error' event | ||
+ | ^ | ||
+ | Error: listen EADDRINUSE | ||
+ | at errnoException (net.js:904:11) | ||
+ | at Server._listen2 (net.js:1042:14) | ||
+ | at listen (net.js:1064:10) | ||
+ | at Server.listen (net.js:1138:5) | ||
+ | at _.extend.start (/home/ssteinig/tilestream/node_modules/bones/server/server.js:34:27) | ||
+ | </pre> | ||
+ | Then the port may be un use already. Check this with <code>netstat -a</code> | ||
+ | |||
+ | == TileStream on Lautaro by Daniel == | ||
+ | * the TileStream on Lautaro serves the following "Fondef" tileset: http://lautaro.ing.puc.cl/map/v2/Fondef/{z}/{x}/{y}.png | ||
+ | * Daniel used the following start params: <code>/bin/sh /srv/www/tilestream/start --uiPort=9876 --tilePort=9877 --tiles=/usr/share/tilestream</code> obtained with htop |
Latest revision as of 16:08, 27 February 2014
>> return to Cedeus IDE
Setting up TileStream
This page documents how to install TileStream, a tile server for MapBox Tiles generated with MapBox TileMill, on Ubuntu 12.04. The basic description is taken from TileStreams Github page.
- I took an existing copy of my VirtualBox with Ubuntu 12.04 installed, including Apache2
-
sudo apt-get update
- Note: there are 2 options to install TileStream, one from source and one from directly (described on the github page a bit below). The latter is useful for running multiple applications that use node.js. As I am having a separate VirtualBox just for that I used Option A (below). But, if TileStream is run on the same server as GeoNode, I think one needs to use Option B - Alternate Procedure since GeoNode uses Node.js as well.
-
sudo apt-get install curl build-essential libssl-dev libsqlite3-0 libsqlite3-dev git-core
This installs curl, sqlite, git etc. When running the command I also got some problems with a repository location so I did add the parameter"--fix-missing"
as suggested. - next step is to add a further apt repository, but for that I needed to enable add-apt using
sudo apt-get install python-software-properties
- add the node.js repository:
sudo apt-add-repository ppa:chris-lea/node.js
- update: <code>sudo apt-get update
- install node.js:
sudo apt-get install nodejs
Note, the TileStream install instructions say that nodejs-dev and npm should be installed too, but this blog entry says that for nodejs version 0.10.0 these packages don't exist anymore, while they did for node.js 0.8.x. - get TileStream from GitHub:
git clone https://github.com/mapbox/tilestream.git
- switch to the folder
cd tilestream
and install TileStreamnpm install
- the output I got after was like this
[sqlite3] Success: "lib/node_sqlite3.node" is installed sphericalmercator@1.0.2 node_modules/sphericalmercator step@0.0.5 node_modules/step underscore@1.3.3 node_modules/underscore modestmaps@3.3.5 node_modules/modestmaps wax@6.4.2 node_modules/wax tilelive@4.3.3 node_modules/tilelive ├── generic-pool@1.0.12 └── optimist@0.3.7 (wordwrap@0.0.2) bones@1.3.29 node_modules/bones ├── underscore@1.1.7 ├── optimist@0.6.1 (wordwrap@0.0.2, minimist@0.0.8) ├── backbone@0.3.3 ├── mirror@0.3.3 (uglify-js@1.0.2) ├── express@2.5.11 (qs@0.4.2, mime@1.2.4, mkdirp@0.3.0, connect@1.9.2) └── jquery@1.6.3 (htmlparser@1.7.7, jsdom@0.10.1) mbtiles@0.2.9 node_modules/mbtiles ├── underscore@1.5.2 └── sqlite3@2.2.0 (node-pre-gyp@0.2.6)
- start TileStream from within the tilestream directory
./index.js start
(or use "--help" to check out the startup option) - now TileStream should be available in the machines web browser at
http://localhost:8888
(for a web browser one needs to setup XFCE desktop, etc, as described under: [accessing server infra]) . - To make the port 8888 of the VM available externally there has to be added a new --natpf1 rule with VBoxManage. Then I started TileStream with
./index.js start --host 146.155.17.113
to see it in my webbrowser on cedeusgis. - To see TileStream running at port 80 one should use
./index.js start --uiPort=[80]
, but this gave me actually an error. - for running TileStream longer:
- the tile server can be startup using
./index.js start --host 146.155.17.113 &
. This should return a PID to later use the kill command. - or (ToDo): Ubuntu settings should be adapted so that TileServer is automatically run on machine startup
- the tile server can be startup using
- next I copied the Fondef tileset (1.5G with tar) to my TileStream VM into /usr/share/tilestream, so I started TileStream now with
./tilestream/index.js start --host 146.155.17.113 --tiles=/usr/share/tilestream
Note, if there comes a message like
events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:904:11) at Server._listen2 (net.js:1042:14) at listen (net.js:1064:10) at Server.listen (net.js:1138:5) at _.extend.start (/home/ssteinig/tilestream/node_modules/bones/server/server.js:34:27)
Then the port may be un use already. Check this with netstat -a
TileStream on Lautaro by Daniel
- the TileStream on Lautaro serves the following "Fondef" tileset: http://lautaro.ing.puc.cl/map/v2/Fondef/{z}/{x}/{y}.png
- Daniel used the following start params:
/bin/sh /srv/www/tilestream/start --uiPort=9876 --tilePort=9877 --tiles=/usr/share/tilestream
obtained with htop