How to install Chef without root access


#1

Hi,

We are trying to use Chef here but we’re facing with some difficulty around installing stuff on our box. We have been facing a lot of politics and it’s ended up we cannot install anything on our box and we don’t have root access. Is there anyway we can install Chef without root access, no matter how ugly it will be? We’re given a CentOS 5.8 VM.

We understand that Chef has to be installed on /opt/chef which we don’t have access to. Can we recompile chef to change that path?

Best.


#2

One option for you is to treat it like a workstation and use rvm or
rbenv to install your own version of ruby and install chef as a gem.

You can rebuild the whole omnibus bundle via the omnibus-chef project on
github and you can try changing the install_path to something other than
"/opt/chef", but you may also wind up needing to do something about the
postinstall symlinks that try to install into /usr/bin and yum won’t let
you write to the rpm database when you install either, so you might wind
up needing to just tar up the end result instead…

This is where the install_path is defined:

https://github.com/opscode/omnibus-chef/blob/master/config/projects/chef.rb

It will probably not work to just copy the files from /opt/chef over
into a different directory… Although when this problem has come up in
the past one simply solution was that all the files that should be in
/opt/chef were copied to some other directory and then a symlink was put
into /opt/chef pointing at the other location (the end result of truly
idiotic IT politics because for some reason the symlink was fine, but
software couldn’t be installed into /opt or something would burst into
flames…).

On 8/21/13 8:08 AM, Noppanit Charassinvichai wrote:

Hi,

We are trying to use Chef here but we’re facing with some difficulty around installing stuff on our box. We have been facing a lot of politics and it’s ended up we cannot install anything on our box and we don’t have root access. Is there anyway we can install Chef without root access, no matter how ugly it will be? We’re given a CentOS 5.8 VM.

We understand that Chef has to be installed on /opt/chef which we don’t have access to. Can we recompile chef to change that path?

Best.