1
0
Fork 0
arangodb/RestServer/install-manual.dox

319 lines
10 KiB
Plaintext

////////////////////////////////////////////////////////////////////////////////
/// @brief installation guide
///
/// @file
///
/// DISCLAIMER
///
/// Copyright 2012 triagens GmbH, Cologne, Germany
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Dr. Frank Celler
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page InstallManual ArangoDB's Installation Manual
///
/// @if LATEX
/// <ul>
/// <li>@ref Installing</li>
/// <li>@ref Compiling</li>
/// </ul>
/// @else
/// @copydetails InstallingTOC
/// @copydetails CompilingTOC
/// @endif
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page InstallingTOC
///
/// <ul>
/// <li>@ref Installing
/// <ul>
/// <li>@ref MacOSX
/// <ul>
/// <li>@ref MacOSXHomebrew
/// </ul>
/// </li>
/// </ul>
/// </li>
/// </ul>
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page Installing Installing the ArangoDB
///
/// @EMBEDTOC{InstallingTOC}
///
/// @section MacOSX
///////////////////
///
/// @subsection MacOSXHomebrew
//////////////////////////////
///
/// If you are using <a href="http://mxcl.github.com/homebrew/">homebrew</a>,
/// than you can install the ArangoDB using @CODE{brew} as follows:
///
/// @LIT{brew install arangodb}
///
/// This will install the current stable version of ArangoDB within
/// your Homebrew tree.
///
/// If you want to install the latest version use:
///
/// @LIT{brew install --HEAD arangodb}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page CompilingTOC
///
/// <ul>
/// <li>@ref Compiling
/// <ul>
/// <li>@ref CompilingAIO
/// <ul>
/// <li>@ref CompilingAIOPrerequisites
/// </li>
/// <li>@ref DownloadSourceAIO
/// </li>
/// <li>@ref CompilingAIOConfigure
/// </li>
/// <li>@ref CompilingAIOCompile
/// </li>
/// <li>@ref CompilingAIOTest
/// </li>
/// <li>@ref CompilingAIOInstall
/// </li>
/// </ul>
/// </li>
/// <li>@ref CompilingDevel
/// <ul>
/// <li>@ref CompilingDevelPrerequisites
/// </li>
/// <li>@ref DownloadSourceDevel
/// </li>
/// <li>@ref CompilingDevelSetup
/// </li>
/// <li>@ref CompilingDevelConfigure
/// </li>
/// </ul>
/// </li>
/// </ul>
/// </li>
/// </ul>
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page Compiling Compiling the ArangoDB from scratch
///
/// The following sections describe how to compile and build the ArangoDB from
/// scratch. The ArangoDB will compile on most Linux and Mac OS X systems. It
/// assumes that you use the GNU C++ compiler to compile the source. The
/// ArangoDB has been tested with the GNU C++ compiler, but should compile with
/// any Posix compliant compiler. Please let us know, whether you successfully
/// compiled it with another C++ compiler.
///
/// There are possibilities:
///
/// - all-in-one: this version contains the source code of the ArangoDB, all
/// generated files from the autotools, FLEX, and BISON as well
/// as a version of V8, libev and boost
///
/// - devel: this version contains the development version of the ArangoDB.
/// Use this branch, if you want to make changes to ArangoDB
/// source.
///
/// The devel version requires a complete development environment, while the
/// all-in-one version allows you to compile the ArangoDB without installing
/// all the prerequisites. The disadvantage is that it takes longer to compile
/// and you cannot make changes to the flex or bison files.
///
/// @EMBEDTOC{CompilingTOC}
///
/// @section CompilingAIO All-In-One Version
////////////////////////////////////////////
///
/// @subsection CompilingAIOPrerequisites Basic System Requirements
///////////////////////////////////////////////////////////////////
///
/// Verify that your system contains:
///
/// - the GNU C++ compiler "g++" and standard C++ libraries
/// - the GNU make
///
/// In addition you will need the following libraries:
///
/// - the GNU readline library
/// - the GNU ncurses library in version 5 or 6
///
/// Under Mac OS X you also need to install:
///
/// - Xcode
/// - scons
///
/// @subsection DownloadSourceAIO Download the Source
/////////////////////////////////////////////////////
///
/// Download the latest source using GIT:
///
/// @LIT{git clone git://github.com/triAGENS/ArangoDB.git}
///
/// @subsection CompilingAIOConfigure Configure
///////////////////////////////////////////////
///
/// Switch into the ArangoDB directory
///
/// @LIT{cd ArangoDB}
///
/// In order to configure the build environment execute
///
/// @LIT{./configure}
///
/// to setup the makefiles. This will check the various system characteristics
/// and installed libraries.
///
/// @subsection CompilingAIOCompile Compile
///////////////////////////////////////////
///
/// Compile the program by executing
///
/// @LIT{make}
///
/// This will compile the ArangoDB and create a binary of the server in
///
/// @LIT{./arangodb}
///
/// @subsection CompilingAIOTest Test
/////////////////////////////////////
///
/// Check the binary by starting it using the command line.
///
/// @LIT{./arango --server.http-port 12345 /tmp/vocbase}
///
/// This will start up the ArangoDB and listen for HTTP requests on port 12345
/// bound to any address. You should see the startup messages
///
/// @verbinclude startup1
///
/// Use your favorite browser to access the URL
///
/// @LIT{http://localhost:12345/version}
///
/// This should produce a JSON object like
///
/// @LIT{\{"server":"arango"\,"version":"0.0.8 [exported]"\}}
///
/// as result.
///
/// @subsection CompilingAIOInstall Install
///////////////////////////////////////////
///
/// Install everything by executing
///
/// @LIT{make install}
///
/// You must be root to do this or at least have write permission to the
/// corresponding directories.
///
/// @section CompilingDevel Devel Version
/////////////////////////////////////////
///
/// @subsection CompilingDevelPrerequisites Basic System Requirements
//////////////////////////////////////////////////////////////////////
///
/// Verify that your system contains
///
/// - the GNU C++ compiler "g++" and standard C++ libraries
/// - the GNU autotools (autoconf, automake)
/// - the GNU make
/// - the GNU scanner generator FLEX, at least version 2.3.35
/// - the GNU parser generator BISON, at least version 2.4
///
/// In addition you will need the following libraries
///
/// - libev in version 3 or 4
/// - Google's V8 engine
/// - the GNU readline library
/// - the GNU ncurses library in version 5 or 6
/// - boost header files, at least version 1.33
///
/// To compile Google V8 yourself, you will also need SCons.
///
/// Some distributions, for example Centos 5, provide only very out-dated
/// versions of FLEX, BISON, and the V8 engine. In that case you need to compile
/// newer versions of the programs and/or libraries.
///
/// Install or download the prerequisites
///
/// - boost development package (see www.boost.org)
/// - Google's V8 engine (see code.google.com/p/v8)
/// - SCons for compiling V8 (see www.scons.org)
/// - libev (see software.schmorp.de/pkg/libev.html)
///
/// if neccessary. Most linux systems already supply RPM or DEP for
/// these packages. Please note that you have to install the
/// development packages.
///
/// @subsection DownloadSourceDevel Download the Source
///////////////////////////////////////////////////////
///
/// Download the latest source using GIT:
///
/// @LIT{git clone git://github.com/triAGENS/ArangoDB.git}
///
/// @subsection CompilingDevelSetup Setup
/////////////////////////////////////////
///
/// Switch into the ArangoDB directory
///
/// @LIT{cd ArangoDB}
///
/// The source tarball contains a pre-generated "configure" script. You can
/// regenerate this script by using the GNU auto tools. In order to do so,
/// execute
///
/// @LIT{make setup}
///
/// This will call aclocal, autoheader, automake, and autoconf in the correct
/// order.
///
/// @subsection CompilingDevelConfigure Configure
/////////////////////////////////////////////////
///
/// In order to configure the build environment execute
///
/// @LIT{./configure --disable-all-in-one --enable-bison --enable-flex}
///
/// to setup the makefiles. This will check for the various system
/// characteristics and installed libraries. If the configure scripts fail to
/// find the boost library, check that C++ is installed and working and that the
/// boost-devel package was successfully installed.
///
/// Specifying @LIT{disable-all-in-one} will tell the build system
/// to use the installed system versions of boost, V8, and libev
/// instead of compiling these libaries in the make run.
///
/// Now continue with @ref CompilingAIOCompile.
////////////////////////////////////////////////////////////////////////////////
// Local Variables:
// mode: c++
// mode: outline-minor
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
// End: