How to install and configure Standalone Chef Server and Chef Management Console on CentOS 7
Pre-requisities –
CentOS7 machine 64-bit
Resolvable hostname
Internet connected
local mail transfer agent
20GB Harddisk
2GB RAM minimum
Procedure –
Step1: Download the Chef Server package from the below download URL and transfer to CentOS 7 machine
Package – chef-server-core-12.15.7-1.el7.x86_64.rpm
[root@centos12 ~]# ls -ltr /root/Downloads/chef-server-core-12.15.7-1.el7.x86_64.rpm
-rw-r–r–. 1 root root 208763407 Jun 17 17:07 /root/Downloads/chef-server-core-12.15.7-1.el7.x86_64.rpm
Step2: Install the Chef Server RPM package
[root@centos12 ~]# yum install /root/Downloads/chef-server-core-12.15.7-1.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining /root/Downloads/chef-server-core-12.15.7-1.el7.x86_64.rpm: chef-server-core-12.15.7-1.el7.x86_64
Marking /root/Downloads/chef-server-core-12.15.7-1.el7.x86_64.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package chef-server-core.x86_64 0:12.15.7-1.el7 will be installed
–> Finished Dependency Resolution
base/7/x86_64 | 3.6 kB 00:00:00
extras/7/x86_64 | 3.4 kB 00:00:00
updates/7/x86_64 | 3.4 kB 00:00:00
updates/7/x86_64/primary_db | 6.4 MB 00:00:46
Dependencies Resolved
======================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================
Installing:
chef-server-core x86_64 12.15.7-1.el7 /chef-server-core-12.15.7-1.el7.x86_64 791 M
Transaction Summary
======================================================================================================================================
Install 1 Package
Total size: 791 M
Installed size: 791 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : chef-server-core-12.15.7-1.el7.x86_64 1/1
Verifying : chef-server-core-12.15.7-1.el7.x86_64 1/1
Installed:
chef-server-core.x86_64 0:12.15.7-1.el7
Complete!
[root@centos12 Downloads]# ls -ltr /usr/bin/chef-server-ctl
lrwxrwxrwx. 1 root root 32 Jun 22 23:48 /usr/bin/chef-server-ctl -> /opt/opscode/bin/chef-server-ctl
Step3: Configure the Chef Server services by running the below reconfigure command
[root@centos12 Downloads]# chef-server-ctl reconfigure
Starting Chef Client, version 12.19.36
resolving cookbooks for run list: [“private-chef::default”]
Synchronizing Cookbooks:
– yum (3.13.0)
– runit (3.0.5)
– enterprise (0.10.3)
– apt (6.1.0)
– private-chef (0.1.0)
– packagecloud (0.3.0)
– yum-epel (2.1.1)
– compat_resource (12.19.0)
– openssl (7.0.1)
….
….
Chef Client finished, 493/1080 resources updated in 10 minutes 16 seconds
Chef Server Reconfigured!
After the Chef Server reconfigure is run it will configure the system by running multiple cookbooks and recipes and enable and run the required services that are needed.
If you look at the processes that got launched after reconfiguring your Chef Server you see something similiar as below
[root@centos12 Downloads]# ps -ef | grep chef
root 10671 4402 0 00:01 ? 00:00:00 runsv opscode-erchef
root 11119 4402 0 00:02 ? 00:00:00 runsv opscode-chef-mover
opscode 12532 10671 0 00:06 ? 00:00:00 svlogd -tt /var/log/opscode/opscode-erchef
opscode 12598 10671 10 00:06 ? 00:00:09 /opt/opscode/embedded/lib/erlang/erts-7.3/bin/beam.smp -Bd -K true -A 5 — -root /opt/opscode/embedded/service/opscode-erchef -progname opt/opscode/embedded/service/opscode-erchef/bin/oc_erchef — -home /var/opt/opscode/opscode-erchef — -noshell -noshell -noinput -boot /opt/opscode/embedded/service/opscode-erchef/releases/12.15.7+20170517144019/oc_erchef -mode embedded -boot_var ERTS_LIB_DIR /opt/opscode/embedded/lib/erlang/lib -config /opt/opscode/embedded/service/opscode-erchef/sys.config -name erchef@127.0.0.1 -setcookie erchef -smp enable -pa lib/patches -pa — foreground
opscode 12843 11119 0 00:06 ? 00:00:00 svlogd -tt /var/log/opscode/opscode-chef-mover
opscode+ 13064 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(35892) idle
opscode+ 13065 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(32777) idle
opscode+ 13068 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(36417) idle
opscode+ 13070 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(60205) idle
opscode+ 13071 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(57120) idle
opscode+ 13072 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(33618) idle
opscode+ 13073 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(60387) idle
opscode+ 13074 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(43084) idle
opscode+ 13075 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(58586) idle
opscode+ 13076 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(38066) idle
opscode+ 13077 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(57964) idle
opscode+ 13078 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(37911) idle
opscode+ 13079 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(59803) idle
opscode+ 13080 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(51439) idle
opscode+ 13081 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(52995) idle
opscode+ 13082 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(40556) idle
opscode+ 13083 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(57989) idle
opscode+ 13084 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(40731) idle
opscode+ 13085 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(49552) idle
opscode+ 13086 12288 0 00:07 ? 00:00:00 postgres: opscode_chef opscode_chef 127.0.0.1(52100) idle
opscode 13087 12598 2 00:07 ? 00:00:00 ruby /opt/opscode/embedded/service/opscode-erchef/lib/chef_objects-12.15.7+20170517144019/priv/depselector_rb/depselector.rb
opscode 13089 12598 4 00:07 ? 00:00:00 ruby /opt/opscode/embedded/service/opscode-erchef/lib/chef_objects-12.15.7+20170517144019/priv/depselector_rb/depselector.rb
opscode 13093 12598 4 00:07 ? 00:00:00 ruby /opt/opscode/embedded/service/opscode-erchef/lib/chef_objects-12.15.7+20170517144019/priv/depselector_rb/depselector.rb
opscode 13095 12598 4 00:07 ? 00:00:00 ruby /opt/opscode/embedded/service/opscode-erchef/lib/chef_objects-12.15.7+20170517144019/priv/depselector_rb/depselector.rb
opscode 13097 12598 4 00:07 ? 00:00:00 ruby /opt/opscode/embedded/service/opscode-erchef/lib/chef_objects-12.15.7+20170517144019/priv/depselector_rb/depselector.rb
root 13114 3483 0 00:07 pts/0 00:00:00 grep –color=auto chef
Step4: Create an administrator user to manage the Chef Server
[root@centos12 Downloads]# chef-server-ctl user-create admin firstname lastname first@gmail.com ‘admin@1096’ –filename /home/sbhoga/admin.pem
Step5: Create an Organization
[root@centos12 Downloads]# chef-server-ctl org-create chefregion ‘chef region india’ –association_user admin –filename /home/sbhoga//chefregion.pem
Step6: Install Chef Management Console
[root@centos12 Downloads]# chef-server-ctl install chef-manage
Starting Chef Client, version 12.19.36
resolving cookbooks for run list: [“private-chef::add_ons_wrapper”]
Synchronizing Cookbooks:
– private-chef (0.1.0)
– enterprise (0.10.3)
– apt (6.1.0)
– yum (3.13.0)
– openssl (7.0.1)
– runit (3.0.5)
– packagecloud (0.3.0)
– yum-epel (2.1.1)
– compat_resource (12.19.0)
Installing Cookbook Gems:
Compiling Cookbooks…
Converging 4 resources
Recipe: private-chef::add_ons_wrapper
* ruby_block[addon_install_notification_chef-manage] action nothing (skipped due to action :nothing)
* remote_file[/var/opt/opscode/local-mode-cache/chef-manage-2.5.4-1.el7.x86_64.rpm] action create
– create new file /var/opt/opscode/local-mode-cache/chef-manage-2.5.4-1.el7.x86_64.rpm
– update content in file /var/opt/opscode/local-mode-cache/chef-manage-2.5.4-1.el7.x86_64.rpm from none to d01403
(file sizes exceed 10000000 bytes, diff output suppressed)
– restore selinux security context
* ruby_block[locate_addon_package_chef-manage] action run
– execute the ruby block locate_addon_package_chef-manage
* yum_package[chef-manage] action install
– install version 2.5.4-1.el7 of package chef-manage
* ruby_block[addon_install_notification_chef-manage] action create
– execute the ruby block addon_install_notification_chef-manage
Running handlers:
— Installed Add-On Package: chef-manage
– #<Class:0x00000007147308>::AddonInstallHandler
Running handlers complete
Deprecated features used!
Property `sensitive` of resource `yum_repository` overwrites an existing method. Please use a different property name. This will raise an exception in Chef 13. at 1 location:
– /var/opt/opscode/local-mode-cache/cookbooks/yum/resources/repository.rb:59:in `class_from_file’
See https://docs.chef.io/deprecations_property_name_collision.html for further details.
Chef Client finished, 4/5 resources updated in 16 minutes 52 seconds
Note – This is going to download the package from https://packages.chef.io/by default
Step7: Run Chef Server reconfigure and then Chef Manage reconfigure
[root@centos12 Downloads]# chef-server-ctl reconfigure
[root@centos12 Downloads]# chef-manage-ctl reconfigure –accept-license
After install the Chef Server and Chef Management Console. The disk occupied by these two softwares is as below
[root@centos12 opt]# du -sh *
542M chef-manage
937M opscode
Step8: Validate the Chef Management Console
Hope you enjoyed reading this article. Thank you.
Leave a Reply
You must be logged in to post a comment.