Giter Site home page Giter Site logo

Comments (8)

big-r81 avatar big-r81 commented on August 28, 2024

Hey,

your user account has no write permissions on your installation directory. Check your users security settings.

from couchdb.

rnewson avatar rnewson commented on August 28, 2024

{error,eacces} is the important bit. couchdb is not permitted to write to the log file location you've configured.

from couchdb.

sht2017 avatar sht2017 commented on August 28, 2024

{error,eacces} is the important bit. couchdb is not permitted to write to the log file location you've configured.

Hey,

your user account has no write permissions on your installation directory. Check your users security settings.

Thanks, for solving it by manually resetting the installation path's permission. However, somehow the setup program for Windows would alternate the installation path permission. I doubt that might be a bug because it won't make the installation path auto-inherit the parent-path's permission.

from couchdb.

big-r81 avatar big-r81 commented on August 28, 2024

Hi,

commenting on your video from above:
The msi is doing an administrative installation of CouchDB (UAC window is opening during setup), so the install directory has system rights. Looking at the wix installer we have this:

<CreateFolder>
  <Permission User="[WIX_ACCOUNT_LOCALSYSTEM]" GenericAll="yes" />
  <Permission User="[WIX_ACCOUNT_ADMINISTRATORS]" GenericAll="yes" />
  <Permission User="[WIX_ACCOUNT_USERS]" GenericRead="yes" GenericExecute="yes" />
</CreateFolder>

So users in the USERS group will get read/execute access by default ...

from couchdb.

sht2017 avatar sht2017 commented on August 28, 2024

Hi,

commenting on your video from above: The msi is doing an administrative installation of CouchDB (UAC window is opening during setup), so the install directory has system rights. Looking at the wix installer we have this:

<CreateFolder>
  <Permission User="[WIX_ACCOUNT_LOCALSYSTEM]" GenericAll="yes" />
  <Permission User="[WIX_ACCOUNT_ADMINISTRATORS]" GenericAll="yes" />
  <Permission User="[WIX_ACCOUNT_USERS]" GenericRead="yes" GenericExecute="yes" />
</CreateFolder>

So users in the USERS group will get read/execute access by default ...

I still believe so.
Since the part you provide,
<Permission User="[WIX_ACCOUNT_USERS]" GenericRead="yes" GenericExecute="yes" />
Obviously, the USERS group will not get write access by default. If anyone tries to start CouchDB server without the administrator's permission it will fail anyway due to the lack of write access to the default log path as I occoured.

{"Kernel pid terminated",application_controller,"{application_start_failure,couch_log,{{shutdown,{failed_to_start_child,couch_log_server,{{badmatch,{error,eacces}},[{couch_log_writer,init,0,[{file,\"src/couch_log_writer.erl\"},{line,36}]},{couch_log_server,init,1,[{file,\"src/couch_log_server.erl\"},{line,56}]},{gen_server,init_it,2,[{file,\"gen_server.erl\"},{line,423}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,226}]}]}}},{couch_log_app,start,[normal,[]]}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,couch_log,{{shutdown,{failed_to_start_child,couch_log_server,{{badmatch,{error,eacces}},[{couch_log_writer,init,0,[{file,"src/couch_log_writer.erl"},{line,36}]},{couch_log_server,init,1,[{file,"src/couch_log_server.erl"},{line,56}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}},{couch_log_app,start,[normal,[]]}}})

Crash dump is being written to: erl_crash.dump...

So I guess we may need to consider that to let the USERs group obtain write access to the path, or change the default path for log file...
Or at least, I guess we need to put it in document

from couchdb.

sht2017 avatar sht2017 commented on August 28, 2024

@big-r81

from couchdb.

big-r81 avatar big-r81 commented on August 28, 2024

Hi,

I think we should not mix things here. The current setup is an administrative installation (exactly a system-wide install) with the possibility to install and run CouchDB as a Windows service (with administrator privileges). So far, all is working as expected. Currently, CouchDB is not intended to run under a "normal" user after installation.
At the moment you have the possibility (workaround) change the installation folder permissions to have write access for the current user after the installation.

To fix this as a whole, there need to be more changes to the process of distributing it for Windows:

  1. Create an installer, which allows a system-wide or user-wide installation of CouchDB and / or
  2. Distribute CouchDB as a zipped package without installation at all

I would welcome any PRs which provide more flexible and user-friendly installation methods in the CouchDB Glazier repository. 😉

from couchdb.

sht2017 avatar sht2017 commented on August 28, 2024

Hi,

I think we should not mix things here. The current setup is an administrative installation (exactly a system-wide install) with the possibility to install and run CouchDB as a Windows service (with administrator privileges). So far, all is working as expected. Currently, CouchDB is not intended to run under a "normal" user after installation. At the moment you have the possibility (workaround) change the installation folder permissions to have write access for the current user after the installation.

To fix this as a whole, there need to be more changes to the process of distributing it for Windows:

  1. Create an installer, which allows a system-wide or user-wide installation of CouchDB and / or
  2. Distribute CouchDB as a zipped package without installation at all

I would welcome any PRs which provide more flexible and user-friendly installation methods in the CouchDB Glazier repository. 😉

Sure, I'll look into the CouchDB Glazier repository =)

from couchdb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.