You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by Apache Wiki <wi...@apache.org> on 2009/06/10 17:54:19 UTC

[Couchdb Wiki] Update of "Installing on Windows" by NathanStott

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The following page has been changed by NathanStott:
http://wiki.apache.org/couchdb/Installing_on_Windows

------------------------------------------------------------------------------
  
  Please update this guide as needed, we aim to collect feedback and roll the procedure into the official build.
  
- These instructions currently refer to paths as they'd be set up in a default installation of Erlang OTP 5.6.3, with the couchDB distribution installed at
+ These instructions currently refer to paths as they'd be set up in a default installation of Erlang OTP 5.7.1, with the couchDB distribution installed at
  
  {{{
- C:\Program Files\erl5.6.3\lib\couchdb-0.8.1
+ C:\Program Files\erl5.7.1\lib\apahce-couchdb-0.9.0
  }}}
  
  == Dependencies ==
@@ -30, +30 @@

  After installing Erlang you should having something similar to:
  
  {{{
- C:\Program Files\erl5.6.3
+ C:\Program Files\erl5.7.1
  }}}
  
  Copy the whole CouchDB source tree to:
  
  {{{
- C:\Program Files\erl5.6.3\lib\couchdb-0.8.1
+ C:\Program Files\erl5.7.1\lib\apache-couchdb-0.9.0
  }}}
  
  Make the following empty directory:
  
  {{{
- C:\Program Files\erl5.6.3\lib\mochiweb-0.01\ebin
+ C:\Program Files\erl5.7.1\lib\mochiweb-0.01\ebin
  }}}
  
  == Provide ICU to Erlang ==
@@ -50, +50 @@

  From ICU copy `icu*.dll` (and `libeay32.dll` for older versions of ICU) to:
  
  {{{
- C:\Program Files\erl5.6.3\erts-5.6.3\bin
+ C:\Program Files\erl5.7.1\erts-5.7.1\bin
  }}}
  
  == Build SpiderMonkey ==
@@ -62, +62 @@

  Once you've built js.exe and js32.dll, copy them both to
  
  {{{
- C:\Program Files\erl5.6.3\erts-5.6.3\bin
+ C:\Program Files\erl5.7.1\erts-5.7.1\bin
  }}}
  
  and rename js.exe to couch_js.exe.
@@ -73, +73 @@

  
  This is a wrapper to provide ICU features to CouchDB.
  
- ''Here is a binary (no worry! MS bleeding-edge technology proved!) built against ICU 4.0 in 32-bit Windows: attachment:couch_erl_driver.dll''
+ ''Here is a binary (no worry! MS bleeding-edge technology proved!) built against ICU 4.2 in 32-bit Windows: attachment:couch_erl_driver.dll''
  
  The simplest way to build a DLL is to create a Win32 DLL project in an IDE, add `couch_erl_driver.c` into the project, and change project settings to include the Erlang ERTS and ICU4C header paths. You must also include the various ICU `*.lib` files to the MSVC linker as inputs. MSVC doesn't know how to create a DLL with unresolved names.
  
+ The erlang include paths for this build for example were 
+ 
+ {{{
+ C:\otp_src_R13B\erts\emulator\sys\win32 
+ C:\otp_src_R13B\erts\emulator\beam
+ }}}
+ 
  Make the following empty directory:
  
  {{{
- C:\Program Files\erl5.6.3\lib\couchdb-0.8.1\priv
+ C:\Program Files\erl5.7.1\lib\apache-couchdb-0.9.0\priv
  }}}
  
  Copy the DLL to:
  
  {{{
- C:\Program Files\erl5.6.3\lib\couchdb-0.8.1\priv\couch_erl_driver.dll
+ C:\Program Files\erl5.7.1\lib\apache-couchdb-0.9.0\priv\couch_erl_driver.dll
  }}}
  
  == Erlang Compilation ==
@@ -94, +101 @@

  Create a the following file:
  
  {{{
- C:\Program Files\erl5.6.3\lib\couchdb-0.8.1\src\Emakefile
+ C:\Program Files\erl5.7.1\lib\apache-couchdb-0.9.0\src\Emakefile
  }}}
  
  Add the following content:
@@ -107, +114 @@

  Launch `erl` (or `werl`) and execute the following command to change working directory:
  
  {{{
- cd("C:/Program Files/erl5.6.3/lib/couchdb-0.8.1/src").
+ cd("C:/Program Files/erl5.7.1/lib/apache-couchdb-0.9.0/src").
  }}}
  
  Execute this command to compile CouchDB:
@@ -121, +128 @@

  Copy the following file:
  
  {{{
- C:\Program Files\erl5.6.3\lib\couchdb-0.8.1\etc\couchdb\couch.ini.tpl.in
+ C:\Program Files\erl5.7.1\lib\apache-couchdb-0.9.0\etc\couchdb\default.ini.tpl.in
  }}}
  
  To this location:
  
  {{{
- C:/Program Files/erl5.6.3/bin/couch.ini
+ C:/Program Files/erl5.7.1/bin/default.ini
  }}}
  
  or to this location:
  
  {{{
- C:/Program Files/erl5.6.3/lib/couchdb-0.8.1/couch.ini
+ C:/Program Files/erl5.7.1/lib/couchdb-0.9.0/default.ini
  }}}
  
  Edit the file to look something like this:
  
  {{{
  [Couch]
- 
+ database_dir = c:/data/couch
+ view_index_dir = c:/data/couch
+ util_driver_dir = C:/Program Files/erl5.7.1/lib/apache-couchdb-0.9.0/priv
  ConsoleStartupMsg=Apache CouchDB is starting.
+ max_document_size = 4294967296 ; 4 GB
+ max_attachment_chunk_size = 4294967296 ; 4GB
+ os_process_timeout = 5000 ; 5 seconds. for view and external servers.
+ max_dbs_open = 100
  
+ [httpd]
- DbRootDir=C:/Path/To/Database/Directory
- 
- Port=5984
+ port = 5984
- 
- BindAddress=127.0.0.1
+ bind_address = 127.0.0.1
+ authentication_handler = {couch_httpd, default_authentication_handler}
+ WWW-Authenticate = Basic realm="administrator"
  
- DocumentRoot=C:/Program Files/erl5.6.3/lib/couchdb-0.8.1/share/www
+ [log]
+ file = c:/logs/couch.log
+ level = info
  
- LogFile=C:/Path/To/Log/Directory
+ [daemons]
+ view_manager={couch_view, start_link, []}
+ external_manager={couch_external_manager, start_link, []}
+ db_update_notifier={couch_db_update_notifier_sup, start_link, []}
+ query_servers={couch_query_servers, start_link, []}
+ httpd={couch_httpd, start_link, []}
+ stats_aggregator={couch_stats_aggregator, start, []}
+ stats_collector={couch_stats_collector, start, []}
  
- UtilDriverDir=C:/Program Files/erl5.6.3/lib/couchdb-0.8.1/priv/
+ [httpd_global_handlers]
+ / = {couch_httpd_misc_handlers, handle_welcome_req, <<"Welcome">>}
+ favicon.ico = {couch_httpd_misc_handlers, handle_favicon_req, "C:/Program Files/erl5.7.1/lib/apache-couchdb-0.9.0/share/www"}
  
- LogLevel=info
+ _utils = {couch_httpd_misc_handlers, handle_utils_dir_req, "C:/Program Files/erl5.7.1/lib/apache-couchdb-0.9.0/share/www"}
+ _all_dbs = {couch_httpd_misc_handlers, handle_all_dbs_req}
+ _active_tasks = {couch_httpd_misc_handlers, handle_task_status_req}
+ _config = {couch_httpd_misc_handlers, handle_config_req}
+ _replicate = {couch_httpd_misc_handlers, handle_replicate_req}
+ _uuids = {couch_httpd_misc_handlers, handle_uuids_req}
+ _restart = {couch_httpd_misc_handlers, handle_restart_req}
+ _stats = {couch_httpd_stats_handlers, handle_stats_req}
  
- [Couch Query Servers]
+ [httpd_db_handlers]
+ _design = {couch_httpd_db, handle_design_req}
+ _temp_view = {couch_httpd_view, handle_temp_view_req}
  
- javascript=couch_js "C:/Program Files/erl5.6.3/lib/couchdb-0.8.1/share/server/main.js"
- }}}
+ [httpd_design_handlers]
+ _view = {couch_httpd_view, handle_view_req}
+ _show = {couch_httpd_show, handle_doc_show_req}
+ _list = {couch_httpd_show, handle_view_list_req}
  
+ }}}
+ 
- Make sure that the `DbRootDir` exists and that the `LogFile` can be created.
+ Make sure that the `database_dir` exists and that the `LogFile` can be created.
  
  == Running ==
  
@@ -171, +208 @@

  {{{
  couch_server:start().
  }}}
+ 
+ If you encounter any trouble, set the log 'level' to 'debug' in default.ini
  
  To check that everything has worked point your web browser to
  [http://localhost:5984/_utils/index.html] and run the test suite.