DevOps Classroom Series – 21/Jan/2021
Scenario: Configure LAMP Server Contd
- In this series lets try to configure lamp on centos7
- Centos 7 Refer Here
- Lets list out manual steps
sudo yum install httpd
sudo systemctl start httpd.service
sudo yum install php php-mysql php-fpm -y
# Create a file in /var/www/html/info.php with the following content
<?php
phpinfo();
?>
- Lets create a new recipe lamp_centos Refer Here for the changeset
- create resources to install apache and start apache service Refer Here
- Now lets configure kitchen.yaml file to create centos7 and create the resources Refer Here for the changeset
- Now lets try to converge the resources
- Now lets try creating resources for rest of the steps Refer Here
- Now if we need to run the same cookbook for both ubuntu and centos, we need to come up with a logic
if os is 'ubuntu'
run qtlampserver::lamp_ubuntu
else if os is 'centos'
run qtlampserver::lamp_centos
end
- The first thing which we need to understand is how do i know if the node is ubuntu or centos
- Ohai is a tool in chef that collects system configuration data. so lets use ohai tools platform value to make a decision. Refer Here
- The file creation of info.php is the same code copied twice. lets create a different recipe where filecreation is handled, so both platforms can use it Refer Here
- Now lets look at recipes for ubuntu and centos and compare them
- In chef we have a common resource called as package Refer Here which can be used for generic package installations Refer Here
- Next Steps:
- Lets see how we can apply variables, conditionals and looping in Chef.
- Lets learn just enough ruby for chef
- Lets understand node object and ohai