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

You might also need to install:
- mysql client development libraries: 	$ sudo apt-get install libmysqlclient16-dev 
- ruby development libraries: 		$ sudo apt-get install ruby1.8-dev
for build to succeed.

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 libpgosm.so

You might also need to install:
- postgresql development libraries: 	$ sudo apt-get install postgresql-server-dev-8.3
- ruby development libraries: 		$ sudo apt-get install ruby1.8-dev
for build to succeed.

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.so', '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

You will need to make sure the database connection is configured in database.yml in config directory
You might start with example configuration provided: 
$ cp config/mysql.example.database.yml config/database.yml
