User Tools

Site Tools


packages:chef-server

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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] (current)
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''​
packages/chef-server.1371739337.txt.gz · Last modified: 2013-06-20 16:42 by glen