The following example will focus on standalone installation of Chef Server. Firstly, we will need to download the Chef Server package from http://downloads.chef.io/chef-server/ to which I will be installing the package on an Ubuntu Linux 14.04 operating system.
Once the package is downloaded I uploaded the package to the standalone server and installed the package from the filesystem path.
dpkg -i chef-server-core_12.0.6-1_amd64.deb
Following successful installation of the package we now need to start the services, this process may take a couple of minutes due to the number of services which are required to be started for a functioning Chef Server.
chef-server-ctl reconfigure
Now we will need to create a administrative user, organisation and to associate that administrative user to the organisation. This step will also create an RSA private key and save this to a specified path.
chef-server-ctl user-create <user_name> <first_name> <last_name> <email> <password> --filename <FILE_NAME>
For Example, the below will create an administrative user for myself and store the RSA private key in the file system path /home/deangrant/chef_deangrant.pem.
chef-server-ctl user-create deangrant Dean Grant dean.grant@dean.local *********** --filename home/deangrant/chef_deangrant.pem
To create the organisation and associate the user, there a number of rules to which the organisation name must adhere to as follows:
- The organization name must begin with a lower-case letter or digit, may only contain lower-case letters, digits, hyphens, and underscores, and must be between 1 and 255 characters. For example: chef.
- The full organization name must begin with a non-white space character and must be between 1 and 1023 characters. For example: Chef Software, Inc..
Once you have decided upon an organisation name, the below will create an organisation, associate a user and create an RSA private key for the organisation and store this to a specified path.
chef-server-ctl org-create <short_name> <full_organization_name> --association_user <user_name> --filename <FILE_NAME>
For Example, the below will create an organisation named ‘deanslab’, associate the user ‘deangrant’ and create the RSA private key.
chef-server-ctl org-create deanslab "Deans Lab" --association_user deangrant --filename /secure/org_deanslab_validator.pem
Now we have completed a standalone installation of Chef Server, created our first administrative user and assiocated that user with a newly created organisation. The above installation will only install the standalone components for Chef Server. In order to install additional features we can perform the following:
Chef Manage
chef-server-ctl install opscode-manage opscode-manage-ctl reconfigure chef-server-ctl reconfigure
Chef Push Jobs
chef-server-ctl install opscode-push-jobs-server opscode-push-jobs-server-ctl reconfigure chef-server-ctl reconfigure
Chef Replication
chef-server-ctl install chef-sync chef-sync-ctl reconfigure chef-server-ctl reconfigure
Reporting
chef-server-ctl install opscode-reporting opscode-reporting-ctl reconfigure chef-server-ctl reconfigure