Spatial Pattern Analysis with CartoDB
From CUOSGwiki
Introduction
Install Guide
git clone --recursive https://github.com/CartoDB/cartodb20.git
ADD CartoDB Personal Package Archives (PPAs)
Add CartoDB GIS PPA
sudo add-apt-repository ppa:cartodb/gisAdd CartoDB Mapnik PPAsudo add-apt-repository ppa:cartodb/mapnikAdd Mapnik Boost PPA "sudo add-apt-repository ppa:mapnik/boost" Add Chris Lea’s Nodejs Legacy PPA sudo add-apt-repository ppa:chris-lea/node.js-legacy Add CartoDB Redis PPA sudo add-apt-repository ppa:cartodb/redis Add CartoDB PostgreSQL PPA sudo add-apt-repository ppa:cartodb/postgresql Install unp and zip unp is required for archive file upload support sudo apt-get install unp zip is required for table exports sudo apt-get install zip Install GEOS GEOS is required for geometry function support. sudo apt-get install libgeos-c1 libgeos-dev Install GDAL GDAL is requires for raster support. sudo apt-get install gdal-bin libgdal1-dev Install JSON-C JSON-C is required for GeoJSON support. sudo apt-get install libjson0 python-simplejson libjson0-dev Install PROJ PROJ4 is required for reprojection support. sudo apt-get install proj-bin proj-data libproj-dev Install PostgreSQL PostgreSQL is the relational database that powers CartoDB. sudo apt-get install postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 postgresql-server-dev-9.1 plpython is required for Python support sudo apt-get install postgresql-plpython-9.1 Install PostGIS PostGIS is the geospatial extension that allows PostgreSQL to support geospatial queries. This is the heart of CartoDB! cd /usr/local/src sudo wget http://download.osgeo.org/postgis/source/postgis-2.0.2.tar.gz sudo tar xzf postgis-2.0.2.tar.gz cd postgis-2.0.2 ./configure --with-raster --with-topology make make install We are going to use the file manager and navigate to the following folder starting from the computer folder and ending with postgis-2.0.2 /usr/local/sr/postgis-2.0.2 Create a new empty document, name/label it es.sh Open the folder, paste and save the following, and finally close it. #!/usr/bin/env bash POSTGIS_SQL_PATH='pg_config --sharedir'/contrib/postgis-2.0 createdb -E UTF8 template_postgis createlang -d template_postgis plpgsql psql -d postgres -c \ "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis'" psql -d template_postgis -f postgis/postgis.sql psql -d template_postgis -f spatial_ref_sys.sql psql -d template_postgis -f postgis/legacy.sql psql -d template_postgis -f taster/rt_pg/rtpostgis.sql psql -d template_postgis -f topology/topology.sql psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" Back in the terminal, we are back where we started: sudo cd postgis-2.0.2 Run the following command sudo chmod 777 es.sh Change user to postgres sudo su postgres Rune the following command ./es.sh Install Ruby 1.9.1 sudo get-apt install ruby1.9.1 Install Node.js sudo apt-get install nodejs=0.8.26-1chl1~precise1 Install NPM sudo apt-get install npm=1.3.0-1chl1~precise1 Install Redis Components of CartoDB, like Windshaft or the SQL API depend on Redis. sudo apt-get install redis-server Install EASY INSTALL sudo apt-get install python-setuptools Install Python dependencies cd cartodb20 $ sudo easy_install pip $ sudo pip install -r python_requirements.txt Install Varnish sudo apt-get install varnish Install Mapnik sudo apt-get install libmapnik-dev python-mapnik2 mapnik-utils Install CartoDB SQL API The CartoDB SQL API component powers the SQL queries over HTTP. To install it: git clone git://github.com/CartoDB/CartoDB-SQL-API.git cd CartoDB-SQL-API git checkout master npm install cd CartoDB-SQL-API cd config/environments/ mv development.js.example development.js cd cd CartoDB-SQL-API node app.js development Install Windshaft-cartodb The Windshaft-cartodb component powers the CartoDB Maps API. To install it: git clone git://github.com/CartoDB/Windshaft-cartodb.git cd Windshaft-cartodb git checkout master npm install cd Windshaft-cartodb cd config/environments/ mv development.js.example development.js cd cd Windshaft-cartodb node app.js development