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.
