• WordPress
  • cPanel
  • Softaculous
  • KVM Virtualization
  • Vmware Virtualization
  • Proxmox
Sunday, June 15, 2025
LinuxBoost
  • Home
  • Almalinux
  • CentOS
  • Debian
  • Fedora
  • Ubuntu
  • Red Hat Enterprise Linux
  • Rocky Linux
  • OpenSUSE
  • Arch Linux
  • Oracle Linux
No Result
View All Result
LinuxBoost
  • Home
  • Almalinux
  • CentOS
  • Debian
  • Fedora
  • Ubuntu
  • Red Hat Enterprise Linux
  • Rocky Linux
  • OpenSUSE
  • Arch Linux
  • Oracle Linux
LinuxBoost
  • Home
  • Almalinux
  • CentOS
  • Debian
  • Fedora
  • Ubuntu
  • Red Hat Enterprise Linux
  • Rocky Linux
  • OpenSUSE
  • Arch Linux
  • Oracle Linux

How to Install and Configure Chef on Rocky Linux

in Rocky Linux
How to Install and Configure Chef on Rocky Linux

In today’s fast-paced world of technology, automation has become the key to success. Automation in the IT industry ensures a smooth and efficient workflow, leading to increased productivity and reduced costs. One such tool that has emerged as a popular choice among system administrators and developers is Chef. Chef is a powerful automation platform that helps manage complex infrastructure with ease. In this tutorial, we will guide you through the process of how to install and configure Chef on Rocky Linux.

Table of Contents

  1. Introduction to Chef
  2. Prerequisites
  3. Install Chef Workstation
  4. Install Chef Infra Server
  5. Configure Chef Infra Server
  6. Setup Chef Workstation
  7. Create and Configure a Chef Cookbook
  8. Conclusion

How to Install and Configure Chef on Rocky Linux

Introduction to Chef

Chef is an open-source configuration management and automation tool that allows you to manage your infrastructure as code. It provides a way to define your infrastructure using Ruby-based DSL (Domain Specific Language), making it easy to manage, version, and automate your servers and applications. Chef is designed to work with various platforms, including Linux, Windows, and macOS, making it a versatile choice for managing your infrastructure.

There are three main components in Chef:

  1. Chef Infra Server: The central hub where all the cookbooks and configurations are stored.
  2. Chef Workstation: The development environment where users create and test cookbooks.
  3. Chef Nodes: The systems that are managed by Chef.

With these components, Chef ensures an efficient and streamlined workflow for managing your infrastructure. To learn more about Chef, visit their official documentation.

Prerequisites

Before proceeding with the installation and configuration of Chef, ensure that you have the following:

  1. A fresh installation of Rocky Linux
  2. A user account with sudo privileges
  3. A stable internet connection

Install Chef Workstation on Rocky Linux

To begin, we’ll first install the Chef Workstation on our Rocky Linux system. The Chef Workstation includes all the tools required for managing your infrastructure, such as the Chef Infra Client, Knife, and other utilities.

  • First, download the Chef Workstation package:
curl -O https://packages.chef.io/files/stable/chef-workstation/21.10.640/el/8/chef-workstation-21.10.640-1.el8.x86_64.rpm
  • Install the package using the rpm command:
sudo rpm -Uvh chef-workstation-21.10.640-1.el8.x86_64.rpm

Verify the installation by checking the Chef Workstation version:

chef --version 

This command should display the installed version of Chef Workstation.

Setting up a Chef Server on Rocky Linux

Next, we’ll set up a Chef Server. This server acts as a central hub for managing your infrastructure, storing cookbooks, and controlling access to your nodes.

  1. Sign up for a free account on Chef’s website and download the starter kit. This kit contains the necessary configuration files and RSA keys to connect to your Chef Server.
  2. Extract the contents of the starter kit on your workstation:
tar -xzf chef-starter.zip

Change into the chef-repo directory:

cd chef-repo

Creating and Configuring a Chef Repo on Rocky Linux

A Chef Repo is a centralized repository for storing cookbooks, recipes, and other configuration data. It serves as the basis for managing your infrastructure with Chef.

  1. Initialize the Chef Repo using the knife command:
knife configure

This will create a .chef directory in your home folder, containing the necessary configuration files.

Edit the knife.rb file to configure your Chef Repo:

vi ~/.chef/knife.rb

Update the following lines with your Chef Server URL and organization name:

chef_server_url 'https://api.chef.io/organizations/your_organization_name' 

Save and close the file.

Working with Chef Cookbooks on Rocky Linux

Chef Cookbooks are collections of recipes, templates, and other files that define how your infrastructure should be configured.

  1. To create a new cookbook, run the following command:
chef generate cookbook my_cookbook

This will create a new directory called my_cookbook in your Chef Repo.

Change into the my_cookbook directory:

cd my_cookbook

Now that you’re inside the my_cookbook directory, you can start creating and configuring the necessary files for your cookbook.

Create the default recipe

Every Chef cookbook should have a default recipe, which is a Ruby script containing the desired configuration for your system. Create a new file called default.rb inside the recipes directory:

touch recipes/default.rb

Open the default.rb file with your favorite text editor and add the following content:

package 'httpd' do
  action :install
end

service 'httpd' do
  action [:enable, :start]
end

template '/var/www/html/index.html' do
  source 'index.html.erb'
  owner 'root'
  group 'root'
  mode '0644'
end

This recipe installs the Apache HTTP Server (httpd), enables it at boot time, starts the service, and creates a new index.html file in the /var/www/html directory using a template.

Create the template file

Now, create the template directory and the corresponding index.html.erb file:

mkdir templates
touch templates/index.html.erb

Open the index.html.erb file with your favorite text editor and add the following content:

<!DOCTYPE html>
<html>
<head>
  <title>Welcome to Chef</title>
</head>
<body>
  <h1>Hello, World!</h1>
  <p>This page is managed by Chef.</p>
</body>
</html>

This template will be used to generate the index.html file on your server.

Upload the cookbook to the Chef Server

With your cookbook ready, you can now upload it to the Chef Server. Change to the root of your Chef Repo and run the following command:

knife cookbook upload my_cookbook

Add the cookbook to the run-list of your node

To apply the cookbook to your node, you must add it to the run-list. Replace NODE_NAME with the name of your node and run the following command:

knife node run_list add NODE_NAME 'recipe[my_cookbook]'

Run Chef Client on the node

Finally, log in to your node and execute the Chef Client to apply the cookbook:

sudo chef-client

The Chef Client will download the my_cookbook cookbook from the Chef Server and execute the default.rb recipe. You should now have an Apache HTTP Server installed and running on your Rocky Linux system, with a simple “Hello, World!” webpage.

Congratulations! You have successfully installed and configured Chef on Rocky Linux. If you’re looking to expand your knowledge and explore other Linux automation tools, check out our guides on Puppet, Ansible

Conclusion

Chef is a powerful and flexible infrastructure management platform that enables you to automate and streamline your organization’s IT infrastructure. With its comprehensive set of features, tools, and resources, Chef allows you to create a highly automated, efficient, and reliable infrastructure management system that can adapt to your organization’s growing needs and complexity.

ShareTweet
Previous Post

How to Install and Configure Puppet on Rocky Linux

Next Post

How to Install and Configure Rsyslog on Rocky Linux

Related Posts

How to Install and Configure OpenVAS on Rocky Linux

How to Install and Configure OpenVAS on Rocky Linux

How to Install and Configure Nikto on Rocky Linux

How to Install and Configure Nikto on Rocky Linux

Set up FreeIPA on Rocky Linux

How to Install and Configure FreeIPA on Rocky Linux

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Golden Host VPS
  • Privacy Policy
  • Terms and Conditions
  • About Us
  • Contact Us

Copyright © 2023 linuxboost.com All Rights Reserved.

  • Privacy Policy
  • Terms and Conditions
  • About Us
  • Contact Us

Copyright © 2023 linuxboost.com All Rights Reserved.