Creating database
===================
OSM server uses a database with the following name:
openstreetmap
You may create it with your preferable client or run next (linux) command:
$ mysql -u <uid> -p
(change <uid> with appropriate username of administrative user eg. root )
> create database openstreetmap default character set utf8;
> exit
Creating user, password, and access rights
============================================
$ mysql -u <uid> -p
(change <uid> with appropriate username of administrative user eg. root )
> grant all privileges on openstreetmap.* to 'openstreetmap'@'localhost' identified by 'openstreetmap';
> flush privileges;
> exit
Creating functions For MySQL
==============================
Run this command in the db/functions directory:
$ make libmyosm.so
Make sure the db/functions directory is on the MySQL server's library
path and restart the MySQL server.
On Linux the easiest way to do this is to create /etc/ld.so.conf.d/osm.conf, and place the path to the db/functions directory in it and then run the ldconfig command as root.
On OS X: sudo ln -s /path_to_your_osm_install/sites/rails_port/db/functions/libmyosm.so /usr/local/lib/libmyosm.so
Now create the functions as follows:
$ mysql -u <uid> -p openstreetmap
(change <uid> with appropriate username of administrative user eg. root )
> create function tile_for_point returns integer soname 'libmyosm.so';
> create function maptile_for_point returns integer soname 'libmyosm.so';
> exit
Creating functions for PgSQL
==============================
Run this command in the db/functions directory:
$ make libmyosm.so
Now create the function as follows:
$ psql openstreetmap
(This may need authentication or a -u <dbowneruid>)
> CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4
AS '/path/to/rails-port/db/functions/libpgosm', 'maptile_for_point'
LANGUAGE C STRICT;
Creating database skeleton tables
===================================
Run this command from the root of your rails directory:
$ rake db:migrate
This will create the db for you