We give here an installation guide for installing and starting the most common components. For other components, see the detailed installation guide. There is also an installation guide on the wiki which covers most errors that have ever been occured during installation and startup.
We do cover here various base systems, in particular at least Ubuntu Linux and FreeBSD.
We first give a complete list of commands you need for installation and startup: The comands are explained afterwards:
Install required software packages (on Ubuntu):
sudo apt-get install wget g++ make expat libexpat1-dev
Install the Overpass API software:
wget http://overpass-api.de/misc/osm-3s_v0.7.3.tar.gz gunzip <osm-3s_v0.7.3.tar.gz | tar xvf - cd osm-3s_v0.7.3/build/ ../src/configure --prefix="`pwd`/../" make CXXFLAGS="-O3" install
Clone the database or import a planet file:
../src/bin/download_clone.sh --source=http://overpass-api.de/api/ --db-dir="../db/" --meta=no
or
wget -O planet.osm.bz2 "http://ftp.heanet.ie/mirrors/openstreetmap.org/planet-latest.osm.bz2" ../src/bin/init_osm3s.sh planet.osm.bz2 "../db/" "../" --meta
nohup ../bin/dispatcher --osm-base --meta --db-dir="../db/" & chmod 666 "../db/osm3s_v0.7.3_osm_base" nohup ../bin/fetch_osc.sh id "http://planet.openstreetmap.org/replication/minute/" "../minute-diffs/" & nohup ../bin/apply_osc_to_db.sh "../minute-diffs/" id --meta=yes --augmented_diffs=no &
With a POSIX confirming operating system (this includes all kinds of Linux as well as FreeBSD, OpenBSD and several others), you have already fulfilled most base requirements.
Concerning hardware, I suggest at least 1 GB of RAM. The more RAM is available, the better, because caching of disk content in the RAM will significantly speed up Overpass API. The processor speed will have little relevance. For the hard disk, it depends on what you want to install. A full planet database with minutely updates should have at least 150 GB of hard disk space at disposal. Without minute diffs and meta data, 50 GB would already suffice.
To automatically download diff files, you need a command line download tool. I suggest wget. If it is not already installed, you can get it on e.g. Ubuntu with:
sudo apt-get install wget
If you want to use another program instead of wget, you can find an explanation in the detailed installation guide.
To compile the software, you need a C++ compiler and make. I suggest the GCC collection. If it is not already installed, you can get it on e.g. Ubuntu with:
sudo apt-get install g++ make
To compile the software, you also need the expat library. If it is not already installed, you can get it on e.g. Ubuntu with:
sudo apt-get install expat libexpat1-dev
You can also include expat from sources. Please have a look in the detailed installation guide.
First, you need to download the tarball of the latest version:
wget http://overpass-api.de/misc/osm-3s_v0.7.3.tar.gz gunzip <osm-3s_v0.7.3.tar.gz | tar xvf - cd osm-3s_v0.7.3/build/
You need to choose a directory where you put the executable files. You can later move them to a different directory. But the default choice of the installation program automake, /usr/bin, requires root permissions, although no root permissions are really necessary to run the program. I suggest the parent directory of the source code directory: this can be reached with "`pwd`/../". To configure this output directory and detect necessary adaptions of your system, run in the build subdirectory:
../src/configure --prefix="`pwd`/../"
Generate the executables:
make CXXFLAGS="-O3" install
Other system than Linux may require here some extra parameters. For example, FreeBSD needs -DNATIVE_LARGE_FILES, because it doesn't have a separate open64 function:
make CXXFLAGS="-O3" CPPFLAGS="-DNATIVE_LARGE_FILES" install
Since version 0.6.98, the database can be cloned from an exisiting instance rather than created from scratch. This only takes 4 to 8 hours in comparison to 24 to 48 hours for an update from the planet file. Note that this feature is still rather experimental - please report any problems by eMail to me (roland.olbricht at gmx.de). If you don't want the entire planet or prefer a manually planet import for some other reason, use the manual import instead.
Download a clone of the database at overpass-api.de with the command:
../src/bin/download_clone.sh --source=http://overpass-api.de/api/ --db-dir="../db/" --meta=no
or
nohup ../src/bin/download_clone.sh --source=http://overpass-api.de/api/ --db-dir="../db/" --meta=no &
If you want meta data, use --meta=yes instead of --meta=no. This downloads about 15 GB (25 GB with meta data) in several compressed files and uncompresses them to a ready-to-use database.
Now you can proceed with minute updates.
The standard use case is to set up the database with the whole planet data and including meta data. If you haven't downloaded an OSM XML planet file yet, you can fetch one for example with:
wget -O planet.osm.bz2 "http://ftp.heanet.ie/mirrors/openstreetmap.org/planet-latest.osm.bz2"
This file has a size of more than 20 GB. Thus, depending on your internet connection, it may take between 4 hours (fastest possible) and 22 hours (with 2 MBit) to download the file. If you are not working on your local machine, you may want the download to continue even if you logout. Use nohup for this:
nohup wget -O planet.osm.bz2 "http://ftp.heanet.ie/mirrors/openstreetmap.org/planet-latest.osm.bz2" &
Once you have the file, you can start the import. The import again may take up to 48 hours:
../src/bin/init_osm3s.sh planet.osm.bz2 "../db/" "../" --meta
or
nohup ../src/bin/init_osm3s.sh planet.osm.bz2 "../db/" "../" --meta &
You may need to adapt the parameters: The first parameter planet.osm.bz2 is the osm file to process, the second parameter "../db/" is the directory where the database should go to, and the third parameter "../" is the base directory of the executables, i.e. there must exist update_database in the subdirectory bin of the location where the third parameter points to.
When this command is done, it writes Update complete. to the console (or to the file nohup.out if you have used nohup). At this point, the database can be used.
But maybe you also want minutely updates. In this case, run the commands:
nohup ../bin/dispatcher --osm-base --meta --db-dir="../db/" &
chmod 666 "../db/osm3s_v0.7.3_osm_base"
nohup ../bin/fetch_osc.sh id "http://planet.openstreetmap.org/replication/minute/" "../minute-diffs/" &
nohup ../bin/apply_osc_to_db.sh "../minute-diffs/" id --meta=yes &
These commands don't make sense without nohup, because the programs become daemons and never terminate. Once again, you need to replace parameters: you always need to replace id by the replicate id to start from. Search on http://planet.openstreetmap.org/replication/minute/ with your browser for the last replication diff that has been created before the planet creation date.
The other parameters need only to be adapted if you have chosen a different directory in a previous step: "../db/" is the directory of the database, "http://planet.openstreetmap.org/replication/minute/" is the replicate diff's remote source, and "../minute-diffs/" is the directory where the minute diffs are stored until they have been applied.
Congratulations! Now you have a database mirror that can serve the entire world and is always only a few minutes behind the OSM main database.