This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
packages:chef-server [2013-06-20 16:42] glen [Install] |
packages:chef-server [2014-05-04 19:34] glen [Bugfixes] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Installing Opscode Chef Server via omnibus packaging ====== | ====== Installing Opscode Chef Server via omnibus packaging ====== | ||
- | |||
As prepackaged chef-server is [[http://www.opscode.com/chef/install/#tab2|not available]] | As prepackaged chef-server is [[http://www.opscode.com/chef/install/#tab2|not available]] | ||
Line 17: | Line 16: | ||
Install packages: | Install packages: | ||
- | # poldek -u --noask ruby-bundler git-core ruby-devel glibc-devel libffi-devel libstdc++-devel patch bzip2 lsb-release rpm-build | + | # poldek -u --noask ruby-bundler git-core ruby-devel glibc-devel libffi-devel libstdc++-devel patch bzip2 lsb-release rpm-build ncurses-devel |
===== Building ===== | ===== Building ===== | ||
Line 33: | Line 31: | ||
- [[https://github.com/opscode/omnibus-software/commit/4f2ee0a9d563acbeea14af3d8d84e2d2e0e53fb4|libiconv]] <code> | - [[https://github.com/opscode/omnibus-software/commit/4f2ee0a9d563acbeea14af3d8d84e2d2e0e53fb4|libiconv]] <code> | ||
sed -i -e 's,a1f25d7ab6930826822323b373b8298bff02fed1,4f2ee0a9d563acbeea14af3d8d84e2d2e0e53fb4,' Gemfile.lock | sed -i -e 's,a1f25d7ab6930826822323b373b8298bff02fed1,4f2ee0a9d563acbeea14af3d8d84e2d2e0e53fb4,' Gemfile.lock | ||
+ | </code> \\ or rather: <code> | ||
+ | # cd /usr/share/ruby/gems/1.9/bundler/gems/omnibus-software-dc156b4a2c40 | ||
+ | # curl https://github.com/opscode/omnibus-software/commit/4f2ee0a9d563acbeea14af3d8d84e2d2e0e53fb4.patch | patch -p1 | ||
+ | patching file config/patches/libiconv/libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch | ||
+ | patching file config/software/libiconv.rb | ||
+ | Hunk #1 succeeded at 32 with fuzz 1 (offset -10 lines). | ||
</code> | </code> | ||
- makeself <code> | - makeself <code> | ||
$ wget -O package-scripts/chef-server/makeselfinst https://raw.github.com/opscode/omnibus-chef/master/package-scripts/chef/makeselfinst</code> | $ wget -O package-scripts/chef-server/makeselfinst https://raw.github.com/opscode/omnibus-chef/master/package-scripts/chef/makeselfinst</code> | ||
- patch omnibus gem with [[https://raw.github.com/pld-linux/ruby-omnibus/master/omnibus-pld.patch|omnibus-pld.patch]] | - patch omnibus gem with [[https://raw.github.com/pld-linux/ruby-omnibus/master/omnibus-pld.patch|omnibus-pld.patch]] | ||
+ | - cacerts fails with checksum, like [[https://github.com/opscode/omnibus-software/pull/174|here]], modify '' | ||
+ | ~/.bundler/ruby/*/omnibus-software-*/config/software/cacerts.rb'' | ||
Install bundle binstubs: | Install bundle binstubs: | ||
Line 59: | Line 65: | ||
<code> | <code> | ||
# (umask 2; rpm -Uhv --define '_check_dirname_deps 0' chef-server-11.0.8+20130618223354.git.14.1853585-1.pld.3.0.x86_64.rpm) | # (umask 2; rpm -Uhv --define '_check_dirname_deps 0' chef-server-11.0.8+20130618223354.git.14.1853585-1.pld.3.0.x86_64.rpm) | ||
+ | </code> | ||
+ | |||
+ | You need to use [[package>shadow]] instead of [[package>pwdutils]] as ''gpasswd'' doesn't have ''-M'' option: <file> | ||
+ | ---- Begin output of gpasswd -M chef_server chef_server ---- | ||
+ | STDOUT: | ||
+ | STDERR: gpasswd: invalid option -- 'M' | ||
+ | Try `gpasswd --help' or `gpasswd --usage' for more information. | ||
+ | ---- End output of gpasswd -M chef_server chef_server ---- | ||
+ | </file> | ||
+ | |||
+ | Alternatively you can find the recipe and change ''append'' to ''true'' in [[http://docs.opscode.com/resource_group.html#attributes|group]] resource. | ||
+ | |||
+ | |||
+ | If using [[docs/vserver]] without ''initstyle=plain'', you need to make ''init q'' silent: <file> | ||
+ | # init q | ||
+ | init: /dev/initctl: No such file or directory | ||
+ | # touch /dev/initctl | ||
+ | # init q | ||
+ | </file> | ||
+ | |||
+ | also, postgresql needs shared memory, so configure it fstab: <code - /etc/vservers/NAME/fstab> | ||
+ | none /dev/shm tmpfs mode=1777,nosuid,nodev,noexec 0 0 | ||
+ | </code> | ||
+ | |||
+ | and also: | ||
+ | <code bash> | ||
+ | mkdir -p /etc/vservers/chef-server/sysctl/{0,1} | ||
+ | echo kernel.shmall > /etc/vservers/chef-server/sysctl/0/setting | ||
+ | echo 600000000 > /etc/vservers/chef-server/sysctl/0/value | ||
+ | echo kernel.shmmax > /etc/vservers/chef-server/sysctl/1/setting | ||
+ | echo 600000000 > /etc/vservers/chef-server/sysctl/1/value | ||
</code> | </code> | ||
Line 66: | Line 103: | ||
</code> | </code> | ||
+ | Meanwhile when the progress stops, it is expecting init to start ''/opt/chef-server/embedded/bin/runsvdir-start'', but without init, nothing processes ''/etc/inittab'', so start it manually or use ''initstyle=plain''. | ||
+ | |||
+ | When using container like vserver, ensure following devices are present: | ||
+ | <code> | ||
+ | crw-rw---- 1 root console 5, 1 Jan 9 15:09 /dev/console | ||
+ | crw-rw-rw- 1 root root 1, 3 Jul 20 2013 /dev/null | ||
+ | crw-rw-rw- 1 root root 1, 5 Dec 25 17:35 /dev/zero | ||
+ | </code> | ||
+ | ===== Configure ===== | ||
+ | |||
+ | To change https certificate, have look into ''/var/opt/chef-server/nginx/ca'' |