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 2011/11/23 15:45:02 UTC

[Couchdb Wiki] Trivial Update of "Quirks_on_Windows" by DaveCottlehuber

Dear Wiki user,

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

The "Quirks_on_Windows" page has been changed by DaveCottlehuber:
http://wiki.apache.org/couchdb/Quirks_on_Windows?action=diff&rev1=11&rev2=12

  
   * unzip [[http://curl.haxx.se/download/curl-7.19.5-win32-ssl-sspi.zip|curl]] and add to your path
   * install the corresponding [[http://www.slproweb.com/download/Win32OpenSSL-1_0_0d.exe|win32 OpenSSL]] binaries to your system path
-  * run the latest [[http://couchapp.org/page/windows-python-installers|couchapp installer]]
+  * run the latest [[https://github.com/downloads/couchapp/couchapp/couchapp-1.0.0-win.zip|couchapp installer]]
-  * sign yourself up for the current free no-guarantees [[http://www.iriscouch.com/get|beta cloud hosting]] to get your own couch ready to go
+  * sign yourself up for the current free [[http://www.iriscouch.com/get|cloud hosting]] to get your own couch ready to go
   * read the [[http://github.com/couchapp/couchapp/blob/master/README.md|quick start notes]] on using [[http://www.couchapp.org/|CouchApp]]
   * wade into [[http://guide.couchdb.org/draft|the Definitive Guide]]
  
  == Run ==
-  * you will likely wish to modify %COUCHDB%\etc\couchdb\local.ini with more appropriate details for IP address & server port (in the [httpd] section), or adjust the log file levels (in [log])
+  * you will likely wish to modify {{{%COUCHDB%\etc\couchdb\local.ini}}} with more appropriate details for IP address & server port (in the [httpd] section), or adjust the log file levels (in [log])
-  * your CouchDB data files are stored in %COUCHDB%\var\lib\couchdb\
+  * your CouchDB data files are stored in {{{%COUCHDB%\var\lib\couchdb\}}}
-  * log files are stored in %COUCHDB%\var\log\couchdb\
+  * log file is in {{{%COUCHDB%\var\log\couchdb\couch.log}}}
-  * these locations can be modified however if you duplicate the relevant [couchdb] section from %COUCHDB%\etc\couchdb\default.ini into local.ini as above
+  * these locations can be modified however if you duplicate the relevant [couchdb] section from {{{%COUCHDB%\etc\couchdb\default.ini}}} into {{{local.ini}}} as above
   * the crash-safe storage engine means you can hibernate or reboot at will without data loss
   * VSS snapshots for backup are a really good way to go
   * Firefox is the only supported browser for the test suite, but for almost anything else a current version of IE will work "just fine". YMMV
@@ -43, +43 @@

  }}}
  
  == Building from Source ==
- Note the full build chain is [[http://github.com/apache/couchdb/blob/trunk/INSTALL.Windows|documented]] -- but again you don't need this for *installing* and *using* CouchDB on Windows. There are a number of [[http://dch.posterous.com/tag/couchdb|blog posts]] helping you build from source if needed.
+ Note the full build chain is [[http://github.com/apache/couchdb/blob/trunk/INSTALL.Windows|documented]] -- but again you don't need this for *installing* and *using* CouchDB on Windows. There are a number of [[https://github.com/dch/glazier/|scripts]] helping you build from source if needed.
  
   * use only 32-bit components even if you are building on a 64-bit architecture
   * make sure you have a clean path with your build chain first - watch out for other developer tools like git, which may have older versions of OpenSSL or ICU binaries in your path
-  * Firefox is the only supported browser for running the Futon test suite - some tests still fail due to platform differences however
+  * Firefox is the only supported browser for running the Futon test suite - some tests still fail due to browser or timing differences. They should pass on a re-run however
  
  == Upgrade ==
   * recommendation is to backup, uninstall, re-install, validate using Futon test suite, restore data, rather than an in-place upgrade
   * this ensures you have a cruft-free experience while both CouchDB, the windows build & its installer continues to change rapidly
+  * In practice the uninstaller will not delete your data!
- 
- == Tricks and Traps ==
-  * there are some issues still with the windows installer - check [[http://wiki.apache.org/couchdb/Windows_binary_installer|Windows_binary_installer]] for more details
  
  == How is CouchDB deployed on Windows? ==
  A full MSI installer package is not yet available but check back on dev@ for news on this. The Official CouchDB installer performs 4 main functions:
   * unpacks itself into the provided folder, including Erlang, CouchDB and javascript DLLs, and the version of Visual C++ redist used to build Erlang/CouchDB
-  * runs the included matching vcredist_x86.exe package if required
+  * runs the included matching {{{vcredist_x86.exe}}} package if required
-  * runs "%COUCHDB%\Install.exe -s" to set up Erlang correctly. This involves adding some registry parameters under HKLM/Software/Ericsson (HKLM/Software/WOW6432Node/Ericcson on 64-bit Windows), and updating the 2 erl.ini files in %COUCHDB%\bin\ and %COUCHDB%\erts-*\bin respectively. Erlang and CouchDB will not run if these .ini files have not been created/updated during installation.
+  * runs {{{%COUCHDB%\Install.exe -s}}} to set up Erlang correctly. This involves adding some registry parameters under {{{HKLM/Software/Ericsson}}} or {{{HKLM/Software/WOW6432Node/Ericcson}}} on 64-bit Windows, and updating the 2 ini files {{{%COUCHDB%\bin\erl.ini}}} and {{{%COUCHDB%\erts-*\bin\erl.ini}}} respectively. Erlang and therefore CouchDB will not run if these .ini files have not been created/updated during installation.
-  * optionally running %COUCHDB%\erts-*\erlsrv.exe to set up CouchDB as a service. This alters further registry parameters.
+  * optionally running {{{%COUCHDB%\erts-*\erlsrv.exe}}} to set up CouchDB as a service. This alters further registry parameters.
  
  == Integrating CouchDB into your Windows Applications ==
  From the above, the bare minimum to roll CouchDB into your own application installer follows.
  === Preparation ===
-  * unpack the official installer into a blank directory. use the same fileset as above, editing both erl.ini as needed
+  * unpack the official installer into a blank directory. use the same fileset as above, editing both {{{erl.ini}}} as needed
-  * clean %COUCHDB%\var\lib\couchdb\ and %COUCHDB%\var\log\couchdb\ as required.
+  * clean {{{%COUCHDB%\var\lib\couchdb\}}} and {{{%COUCHDB%\var\log\couchdb\}}} and {{{%COUCHDB%\var\run\couchdb\}}} as required.
-  * you can optionally include a CouchDB database file simply by leaving it in %COUCHDB%\var\lib\couchdb\
+  * you can optionally include a CouchDB database file simply by leaving it in {{{%COUCHDB%\var\lib\couchdb\}}}
  
  === Bundling ===
  You can bundle the app in whatever installer toolkit you prefer. Make sure it does the following, in order:
   * set the installer to unpack distribution files
   * run vcredist first to ensure the following binaries don't simply crash
-  * set up Erlang using "%COUCHDB%\Install.exe -s"
+  * set up Erlang using {{{"%COUCHDB%\Install.exe -s"}}}
   * if you need to set up a service, use [[http://www.erlang.org/doc/man/erlsrv.html|erlsrv.exe]] to do so.
  
  === Upgrading ===
@@ -83, +81 @@

  == Inside CouchDB on Windows - the gory details ==
  There are 3 different ways of running CouchDB on windows.
  
-  * The simplest is the supplied couchdb.bat file in %COUCHDB%\bin. This launches couchdb.bat using the supplied Win32 GUI werl.exe erlang Read/Eval/Print/Loop tool. You can change the font/background/colour here (hint).
+  * The simplest is the supplied script {{{%COUCHDB%\bin\couchdb.bat}}}. This launches couchdb.bat using the supplied Win32 GUI {{{werl.exe}}} erlang Read/Eval/Print/Loop tool. You can change the font/background/colour here (hint).
   * If you modify the script, or set an environment variable "set erl=erl" prior to launching the batch file, erlang will run with the command prompt version, erl.exe which is less intrusive as a pure console application, but doesn't support copy/paste as easily.
-  * Run CouchDB as a windows service. This allows CouchDB to run unattended, and will survive logins, logouts, and reboots, however introduces some additional complexities if you wish to debug or interact with CouchDB. The actual service is a wrapper program erlsrv.exe  which acts as a restart and control shell. CouchDB starts up from erl.exe and the epmd.exe portmapper is also launched.
+  * Run CouchDB as a windows service. This allows CouchDB to run unattended, and will survive logins, logouts, and reboots, however introduces some additional complexities if you wish to debug or interact with CouchDB. The actual service is a wrapper program {{{erlsrv.exe}}} which acts as a restart and control shell. CouchDB starts up from {{{erl.exe}}} and the {{{epmd.exe}}} portmapper is also launched.
  
- The werl.exe version is clearly simplest for interactive and development usage, but the service is far superior for production usage. Full information is available for [[http://www.erlang.org/doc/man/erlsrv.html|erlsrv.exe]] and [[http://www.erlang.org/doc/man/erl.html|erl.exe]] which also covers [[http://www.erlang.org/doc/man/werl.html|werl.exe]]; refer to [[https://github.com/apache/couchdb/blob/trunk/bin/couchdb.bat.tpl.in|couchdb.bat]] for current flags passed to the emulator.
+ The {{{werl.exe}}} version is clearly simplest for interactive and development usage, but the service is far superior for production usage. Full information is available for [[http://www.erlang.org/doc/man/erlsrv.html|erlsrv.exe]] and [[http://www.erlang.org/doc/man/erl.html|erl.exe]] which also covers [[http://www.erlang.org/doc/man/werl.html|werl.exe]]; refer to [[https://github.com/apache/couchdb/blob/trunk/bin/couchdb.bat.tpl.in|couchdb.bat]] for current flags passed to the emulator.
  
   * use erl or werl with "-noinput" flag which provides a stdout only console - keep those grubby fingers out. Users can still kill or ctrl-C out.
   * use erl "-detached" flag to start up the erlang shell completely hidden from users. On logout however, CouchDB will still be shut down, and users can still kill via process or task manager tools.