- Install a fresh Ubuntu 14.04 64bit, include only openssh in the setup wizard,
- reboot,
- log in to guest and check the ip address then login from mac host via ssh (so we can copy paste following commands)
- do this as a normal user not root!
- Follow github instructions from mapbox:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install git-core
sudo apt-get update
git clone https://github.com/mapbox/tilestream.git
cd tilestream/ && npm install
3. You have to remove the current node_modules directory, reinstall using the new package config and re launch ./index.js:
charlton@tileserver:~/tilestream$ rm -fR node_modules/ && npm install && ./index.js --host 10.0.0.34
npm WARN package.json tilestream@1.1.0 'repositories' (plural) Not supported. Please pick one as the 'repository' field
npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN deprecated set-immediate@0.1.1: Use `setimmediate` instead
> sqlite3@2.2.7 install /home/charlton/tilestream/node_modules/mbtiles/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build
[sqlite3] Success: "/home/charlton/tilestream/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v11-linux-x64/node_sqlite3.node" is installed via remote
sphericalmercator@1.0.2 node_modules/sphericalmercator
step@0.0.5 node_modules/step
xmlhttprequest@1.5.0 node_modules/xmlhttprequest
underscore@1.6.0 node_modules/underscore
jquery@1.6.3 node_modules/jquery
└── htmlparser@1.7.7
express@2.5.11 node_modules/express
├── qs@0.4.2
├── mime@1.2.4
├── mkdirp@0.3.0
└── connect@1.9.2 (formidable@1.0.17)
connect@3.4.0 node_modules/connect
├── utils-merge@1.0.0
├── parseurl@1.3.0
├── debug@2.2.0 (ms@0.7.1)
└── finalhandler@0.4.0 (escape-html@1.0.2, unpipe@1.0.0, on-finished@2.3.0)
backbone@0.3.3 node_modules/backbone
tilelive@4.5.3 node_modules/tilelive
└── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
bones@1.3.29 node_modules/bones
├── underscore@1.1.7
├── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
└── mirror@0.3.3 (uglify-js@1.0.2)
modestmaps@3.3.5 node_modules/modestmaps
wax@6.4.2 node_modules/wax
jsdom@0.8.3 node_modules/jsdom
├── cssom@0.2.5
├── nwmatcher@1.3.6
├── htmlparser2@3.8.3 (domelementtype@1.3.0, entities@1.0.0, domhandler@2.3.0, readable-stream@1.1.13, domutils@1.5.1)
├── cssstyle@0.2.30 (cssom@0.3.0)
└── request@2.65.0 (aws-sign2@0.6.0, forever-agent@0.6.1, caseless@0.11.0, stringstream@0.0.5, tunnel-agent@0.4.1, oauth-sign@0.8.0, isstream@0.1.2, json-stringify-safe@5.0.1, extend@3.0.0, node-uuid@1.4.7, qs@5.2.0, combined-stream@1.0.5, tough-cookie@2.2.1, mime-types@2.1.7, form-data@1.0.0-rc3, http-signature@0.11.0, bl@1.0.0, hawk@3.1.1, har-validator@2.0.2)
mbtiles@0.2.9 node_modules/mbtiles
├── underscore@1.5.2
└── sqlite3@2.2.7 (set-immediate@0.1.1, nan@1.1.2)
Creating tiles dir /home/charlton/Documents/MapBox/tiles
Started [Server Tile].
Started [Server Core:8888].
If you have a firewall secretly hiding - don't forget to allow connections from other machines:
History
I couldn't find anything about the stringify error anywhere because it is indirectly related but by trial and error I asked for the latest version of each module in the package.json file and found the outdated connect module was the culprit.
Hope this saves some hell!!
And the result is (drum roll)...
./index.js will complain about the stringify module - fail
so to fix this....
2. Update the dependencies section of the package.json file and allow the latest connect version
2. Update the dependencies section of the package.json file and allow the latest connect version
"dependencies": {
"jsdom":"https://github.com/springmeyer/jsdom-nogyp/tarball/c501ee8b71d8",
"xmlhttprequest": "1.5.0",
"backbone":"0.3.3",
"jquery":"1.6.3",
"express":"2.5.11",
"connect":"*",
"bones": "1.3.29",
"step": "0.0.5",
"tilelive": "4.5.3",
"mbtiles": "0.2.9",
"sphericalmercator": "1.0.2",
"underscore": "1.6.0",
"wax": "6.4.2",
"modestmaps": "3.3.5"
},
charlton@tileserver:~/tilestream$ rm -fR node_modules/ && npm install && ./index.js --host 10.0.0.34
npm WARN package.json tilestream@1.1.0 'repositories' (plural) Not supported. Please pick one as the 'repository' field
npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.37","npm":"1.4.28"})
npm WARN deprecated set-immediate@0.1.1: Use `setimmediate` instead
> sqlite3@2.2.7 install /home/charlton/tilestream/node_modules/mbtiles/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build
[sqlite3] Success: "/home/charlton/tilestream/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v11-linux-x64/node_sqlite3.node" is installed via remote
sphericalmercator@1.0.2 node_modules/sphericalmercator
step@0.0.5 node_modules/step
xmlhttprequest@1.5.0 node_modules/xmlhttprequest
underscore@1.6.0 node_modules/underscore
jquery@1.6.3 node_modules/jquery
└── htmlparser@1.7.7
express@2.5.11 node_modules/express
├── qs@0.4.2
├── mime@1.2.4
├── mkdirp@0.3.0
└── connect@1.9.2 (formidable@1.0.17)
connect@3.4.0 node_modules/connect
├── utils-merge@1.0.0
├── parseurl@1.3.0
├── debug@2.2.0 (ms@0.7.1)
└── finalhandler@0.4.0 (escape-html@1.0.2, unpipe@1.0.0, on-finished@2.3.0)
backbone@0.3.3 node_modules/backbone
tilelive@4.5.3 node_modules/tilelive
└── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
bones@1.3.29 node_modules/bones
├── underscore@1.1.7
├── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
└── mirror@0.3.3 (uglify-js@1.0.2)
modestmaps@3.3.5 node_modules/modestmaps
wax@6.4.2 node_modules/wax
jsdom@0.8.3 node_modules/jsdom
├── cssom@0.2.5
├── nwmatcher@1.3.6
├── htmlparser2@3.8.3 (domelementtype@1.3.0, entities@1.0.0, domhandler@2.3.0, readable-stream@1.1.13, domutils@1.5.1)
├── cssstyle@0.2.30 (cssom@0.3.0)
└── request@2.65.0 (aws-sign2@0.6.0, forever-agent@0.6.1, caseless@0.11.0, stringstream@0.0.5, tunnel-agent@0.4.1, oauth-sign@0.8.0, isstream@0.1.2, json-stringify-safe@5.0.1, extend@3.0.0, node-uuid@1.4.7, qs@5.2.0, combined-stream@1.0.5, tough-cookie@2.2.1, mime-types@2.1.7, form-data@1.0.0-rc3, http-signature@0.11.0, bl@1.0.0, hawk@3.1.1, har-validator@2.0.2)
mbtiles@0.2.9 node_modules/mbtiles
├── underscore@1.5.2
└── sqlite3@2.2.7 (set-immediate@0.1.1, nan@1.1.2)
Creating tiles dir /home/charlton/Documents/MapBox/tiles
Started [Server Tile].
Started [Server Core:8888].
Bam!!!
If you have a firewall secretly hiding - don't forget to allow connections from other machines:
charlton@ubuntu:~/tilestream$ sudo ufw allow 8888
[sudo] password for charlton:
Rules updated
Rules updated (v6)
I couldn't find anything about the stringify error anywhere because it is indirectly related but by trial and error I asked for the latest version of each module in the package.json file and found the outdated connect module was the culprit.
Here's the history for proof!
charlton@tileserver:~$ uname -a
Linux tileserver 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
charlton@tileserver:~/tilestream$ history
1 ifconfig
2 sudo reboot
3 sudo apt-add-repository ppa:chris-lea/node.js
4 sudo apt-get update
5 sudo apt-get install nodejs nodejs-dev npm
6 node -v
7 sudo apt-get install nodejs
8 sudo apt-get install git-core
9 sudo apt-get update
10 git clone https://github.com/mapbox/tilestream.git
11 cd tilestream/
12 npm install
13 ./index.js
14 vim package.json
15 ifconfig
16 rm -fR node_modules/ && npm install && ./index.js --host 10.0.0.34
17 history
This can be shortened to :
This can be shortened to :
sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get -y install nodejs git-core
git clone https://github.com/mapbox/tilestream.git && cd tilestream
vim package.json # edit the connect line
npm install && ./index.js --host 10.0.0.34
