Chef server installation on linux

We are going to see Chef server installation on linux

Configuration options in Chef:


1. Standalone
2. High Availability
3. Tiered


1. Machine with RedHat server operating system with FQDN.
2. Mail agent which will help chef server to send notification.
3. Should know to work with cron jobs to schedule jobs

We are going to see Standalone chef server in this post.

In this method will use single machine for chef server installation.
1. Download “chef-server-core-<ver>” and kept under /tmp directory on a server which will run the server.
2. Install the package as root user using below commands.

#rpm -ivh chef-server-core-xxx.rpm

It will take some minutes to install it.

Execute the following server to start all services.

#chef-server-ctl reconfigure

Now we should create a user to manage the chef server

#chef-server-ctl user-create <username> <firstname> <lastname> <email> ‘Password’ –filename /path/uname.pem

Now we should create organization


#chef-server-ctl org-create short_name ‘full_organization_name’ –association_user user_name –filename ORGANIZATION-validator.pem

Download and install additional packages:
We can use Chef management console to manage the data bags, attributes, run-lists, roles, environments, and cookbooks from a web user interface.

Run below commands on chef server.

#chef-server-ctl install chef-manage
#chef-server-ctl reconfigure
#chef-manage-ctl reconfigure

We can use Chef push jobs to execute the jobs

Run the below commands on chef server.

#chef-server-ctl install opscode-push-jobs-server
#chef-server-ctl reconfigure
#opscode-push-jobs-server-ctl reconfigure

Use reporting will keep track while every client run on full infra.

Run the below commands on chef server:

#chef-server-ctl install opscode-reporting
#chef-server-ctl reconfigure
#opscode-reporting-ctl reconfigure

Update purchase for nodes:

While using more than 25 nodes, configuration should be updated by us for license.
for that, need to edit chef-server.rb file. follow the below steps to edit

#mkdir /etc/opscode && sudo touch /etc/opscode/chef-server.rb

open new chef-server.rb file
#vi /etc/opscode/chef-server.rb

append the below line on that file

#license[‘nodes’] = N (number of licensed nodes you have purchased)

save and exit from the file using :wq

run below command to update the modified changes on chef server

#chef-server-ctl reconfigure

Send mail Configuration on linux

Send mail Configuration on linux
We are going to Send mail Configuration on linux

•A linux server with ip address and hostname Server
•A linux client with ip address and hostname Client1
•A Configured DNS server on Linux server
•Updated /etc/hosts file on both linux system
•Running portmap and xinetd services
•Firewall should be off on server

Configure the DNS server before start configuration of sendmail server.

Required RPM:


#yum install sendmail
#yum install m4

Mail server program reads the /etc/mail/ When Sendmail is started or restarted with the service sendmail restart command a new file is automatically generated if has been modified.

open /etc/mail/ for editing
#vi /etc/mail/
show hidden line with : set nu option on vi command mode
By default, the following line limits sendmail access to connect local host only [line no 116]
You can allow other computers to use your sendmail server by commenting out this line.

DAEMON_OPTION(‘Port=smtp, Addr=, Name=MTA’)dnl 

comment this line with dnl keyword followed by # sign

dnl # DAEMON_OPTION(‘Port=smtp, Addr=, Name=MTA’)dnl
save this file with :wq and exit.
Now generate new file by using m4 command as shown here
#m4 /etc/mail/ > /etc/mail/
Now restart sendmail service and also set it on with chkconfig
#chkconfig sendmail on
#service sendmail restart
if sendmail service restart without any error means you have configured sendmail successfully.

Configure sendmail client side

Required RPM:

Now generate new file by using m4 command as shown here
#m4 /etc/mail/ > /etc/mail/
Now restart sendmail service and also set it on with chkconfig
#chkconfig sendmail on
#service sendmail restart

Testing of sendmail server

We will test sendmail server by sending and receiving mail in lab environment. for this we use two user one on each system.
Now create one user on each system abu on server
#useradd abu
#passwd abu
and Thagir on client system
#useradd thagir
#passwd thagir
Now send mail from user abu to thagir and from thagir to user abu and also check each other’s mail by mail command
Use full user name to send mail. For example to send mail to nikita use thagir@client1
#mail [email protected]
Subjest: test mail
This is test mail
Press Ctrl+C
Now check on user abu mail box.

Apache configuration/Web server configuration in RHEL 6

We are going to see Apache configuration/Web server configuration in RHEL 6 Linux.
Remember before configuring  web server, we must configure DNS/DHCP server to receive the correct traffic.

Required RPM’s:
1. Httpd
2. Httpd-devel

Install the required RPM’s using below commands.

#yum install http*  -> command will install the required rpm package including dependency.

Now configure the IP Address with and check whether its configured properly or not. Without proper network configuration httpd service will wont start.

#ifconfig eth0
#ifconfig eth0

Now start httpd daemons and check the status

#chkconfig httpd on
#service httpd start
#service httpd status

Now configure Hosting:

We will host to apache server and create index page under the root directory.

#mkdir –p /var/www/virtual/
#vi /var/www/virtual/

Just enter some text for testing purpose in index.html
<b> this is test page</b>

Bind system ip with on /etc/hosts file. Usinf vi editor open the file and append like below.

#vi /etc/hosts

Save and exit from the file using :wq

Now locate virtual host tag and remove # on apache configuration file (/etc/httpd/conf/httpd.conf)

#vi /etc/httpd/conf/httpd.conf

Copy and paste the last seven line from the file and change as shown below.

[email protected]
DocumentRoot /var/www/cirtual/
ErrorLog logs/
CustomerLog logs/ common

Now restart the httpd service to effect the new configuration

#service httpd restart

Using links command will check the page

This is a test page
If you got out as whatever you have entered in index.html page than you have configured very well.