{"id":5748,"date":"2013-07-01T13:04:50","date_gmt":"2013-07-01T17:04:50","guid":{"rendered":"http:\/\/g33kinfo.com\/info\/?p=5748"},"modified":"2013-07-01T13:04:50","modified_gmt":"2013-07-01T17:04:50","slug":"installing-puppet-open-source-on-centos-5-8","status":"publish","type":"post","link":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/","title":{"rendered":"Installing Puppet Open-Source on CentOS 5.8"},"content":{"rendered":"<p>From <a href=\"http:\/\/www.nelsone.com\/2012\/08\/installing-puppet-open-source-on-centos.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.nelsone.com<\/a><\/p>\n<p>I recently started playing around with Puppet to manage my current infrastructure of a plethora of linux flavors.   After an evaluation using Puppet-Enterprise I was told to see what I could do with the Open Source version.  As Puppet-Enterprise is pretty much a &#8216;no brainer&#8217; install, the open-source version is a different animal.<br \/>\nI&#8217;ve had several attempts at installing the Open Source version of Puppet and getting it enterprise ready. Below are my notes on it&#8217;s installation:<\/p>\n<hr \/>\n<p>First, I started with a clean install of CentOS 5.8.   I disable selinux but not the firewall. Then did a &#8216;sudo yum update&#8217; to bring it up to date.<br \/>\n<!--more--><br \/>\nSince I am installing on a VM (off of the network) and puppet requires dns resolution for the puppet master, I&#8217;m installing Bind and system-config-bind. <\/p>\n<p>I opened the network configuration and edited the DNS settings and modified the hostname. <\/p>\n<p>Then modified the hosts to include aliases for puppet.domainname.com and dns.domainname.com. <\/p>\n<p>I added the latter because I am going to make a forwarding dns for this instance. <\/p>\n<p>Then I opened up the DNS and let it create the default bind configuration and added a zone for my domainname.com.  <\/p>\n<p>I then added an A record for my host and a cname for puppet.domainname.com.<\/p>\n<p>I tested this by using nslookup and setting it to my local loopback address.<\/p>\n<p>I then opened the network configuration and set my primary dns server to 127.0.0.1.<\/p>\n<p>Next I added the EPEL repository<br \/>\n<code>sudo rpm -ivh http:\/\/mirror.facebook.net\/fedora\/epel\/5\/x86_64\/epel-release-5-4.noarch.rpm<\/code><br \/>\n&nbsp;<\/p>\n<p>And installed puppet:<br \/>\n<code>sudo yum install puppet-server<\/code><\/p>\n<p>&nbsp;<br \/>\nEdited and added the following under [main] since this is going to be the server AND an agent to itself.<br \/>\n<code>vim \/etc\/puppet\/puppet.conf<\/p>\n<p>added<\/p>\n<p>server = puppet.domainname.com<br \/>\nreport=true<br \/>\npluginsync=true<br \/>\ncertname=puppet.domainname.com<br \/>\n#dns_alt_names is comma separated list<br \/>\ndns_alt_names=puppet.domainname.com,puppet<\/code><\/p>\n<p>&nbsp;<br \/>\nAfter saving the file, I started the puppet master non daemonized so that I can see the output:<br \/>\n<code>sudo puppet master --no-daemonize --verbose<\/code><\/p>\n<p>&nbsp;<br \/>\nThis was the output:<br \/>\n<code>info: Creating a new SSL key for ca<br \/>\ninfo: Creating a new SSL certificate request for ca<br \/>\ninfo: Certificate Request fingerprint (md5): 4A:8B:BF:01:6A:BC:84:8C:EA:12:7D:A3:46:C8:32:9A<br \/>\nnotice: Signed certificate request for ca<br \/>\nnotice: Rebuilding inventory file<br \/>\ninfo: Creating a new certificate revocation list<br \/>\ninfo: Creating a new SSL key for puppet.domainname.com<br \/>\ninfo: Creating a new SSL certificate request for puppet.domainanme.com<br \/>\ninfo: Certificate Request fingerprint (md5): BB:D2:A1:47:24:F3:C4:3F:9E:37:20:DE:FC:0F:44:07<br \/>\nnotice: puppet.domainname.com has a waiting certificate request<br \/>\nnotice: Signed certificate request for puppet.domainname.com<br \/>\nnotice: Removing file Puppet::SSL::CertificateRequest puppet.domainname.com at '\/var\/lib\/puppet\/ssl\/ca\/requests\/puppet.nelsone.com.pem'<br \/>\nnotice: Removing file Puppet::SSL::CertificateRequest puppet.domainname.com at '\/var\/lib\/puppet\/ssl\/certificate_requests\/puppet.domainname.com.pem'<br \/>\nnotice: Starting Puppet master version 2.6.17<br \/>\n<\/code><\/p>\n<p>&nbsp;<br \/>\nHere I can see that the puppet master created the certificate using the name I wanted: puppet.domainname.com.<\/p>\n<p>Next I opened another terminal window and started the puppet agent.  This way I can see what was happening on the master AND the agent:<br \/>\n<code>sudo puppet agent --no-daemonize --verbose<\/code><\/p>\n<p>The agent returned:<br \/>\n<code>notice: Starting Puppet client version 2.6.17<br \/>\ninfo: Retrieving plugin<br \/>\nerr: \/File[\/var\/lib\/puppet\/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:\/\/puppet.domainname.com\/plugins<br \/>\ninfo: Caching catalog for puppet.domainname.com<br \/>\ninfo: Applying configuration version '1345431460'<br \/>\ninfo: Creating state file \/var\/lib\/puppet\/state\/state.yaml<br \/>\nnotice: Finished catalog run in 0.06 seconds<\/code><\/p>\n<p>&nbsp;<br \/>\nThe error is OK. It doesn&#8217;t mean that the agent is not working. It means that there is no plugins location on the server.  <\/p>\n<p>The server returned the following:<br \/>\n<code>info: access[^\/catalog\/([^\/]+)$]: allowing 'method' find<br \/>\ninfo: access[^\/catalog\/([^\/]+)$]: allowing $1 access<br \/>\ninfo: access[\/certificate_revocation_list\/ca]: allowing 'method' find<br \/>\ninfo: access[\/certificate_revocation_list\/ca]: allowing * access<br \/>\ninfo: access[\/report]: allowing 'method' save<br \/>\ninfo: access[\/report]: allowing * access<br \/>\ninfo: access[\/file]: allowing * access<br \/>\ninfo: access[\/certificate\/ca]: adding authentication no<br \/>\ninfo: access[\/certificate\/ca]: allowing 'method' find<br \/>\ninfo: access[\/certificate\/ca]: allowing * access<br \/>\ninfo: access[\/certificate\/]: adding authentication no<br \/>\ninfo: access[\/certificate\/]: allowing 'method' find<br \/>\ninfo: access[\/certificate\/]: allowing * access<br \/>\ninfo: access[\/certificate_request]: adding authentication no<br \/>\ninfo: access[\/certificate_request]: allowing 'method' find<br \/>\ninfo: access[\/certificate_request]: allowing 'method' save<br \/>\ninfo: access[\/certificate_request]: allowing * access<br \/>\ninfo: access[\/]: adding authentication any<br \/>\ninfo: Inserting default '\/status'(auth) ACL because none were found in '\/etc\/puppet\/auth.conf'<br \/>\ninfo: Could not find filesystem info for file 'plugins' in environment production<br \/>\ninfo: Could not find file_metadata for 'plugins'<br \/>\ninfo: Caching node for puppet.domainname.com<br \/>\nnotice: Compiled catalog for puppet.domainname.com in environment production in 0.03 seconds<br \/>\n<\/code><\/p>\n<p>&nbsp;<br \/>\nNow that I know it&#8217;s working I&#8217;m going to CtrlC both the agent and the master.  I&#8217;m not going to set the master to start automatically yet because I want the puppet master to use httpd and not the ruby server it uses by default.<\/p>\n<p>NOTE: One thing I notice when I setup the master and agent up on the same machine is that I do not need to sign the certificate.<\/p>\n<p>&nbsp;<br \/>\nFirst thing is to install Passenger:<br \/>\n<code>sudo rpm -Uvh http:\/\/passenger.stealthymonkeys.com\/rhel\/5\/passenger-release.noarch.rpm <\/p>\n<p>sudo yum install mod_passenger<\/code><\/p>\n<p>&nbsp;<br \/>\nThen install mod_ssl:<br \/>\n<code>sudo yum install mod_ssl<\/code><\/p>\n<p>&nbsp;<br \/>\nIf you look at  <a href=\"http:\/\/docs.puppetlabs.com\/guides\/passenger.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/docs.puppetlabs.com\/guides\/passenger.html<\/a> it says to copy cp puppetmaster.conf \/etc\/httpd\/conf.d\/<\/p>\n<p>but this file is no where to be found or at least, I cannot find it.  So&#8230; I created it:<br \/>\n<code>touch \/etc\/httpd\/conf.d\/puppetmaster.conf<\/code><\/p>\n<p>&nbsp;<br \/>\nI then add the contents at the bottom of http:\/\/docs.puppetlabs.com\/guides\/passenger.html:<\/p>\n<p><code><br \/>\nListen 8140<br \/>\n<virtualhost *:8140><\/p>\n<p>    SSLEngine on<br \/>\n    SSLCipherSuite SSLv2:-LOW:-EXPORT:RC4+RSA<br \/>\n    SSLCertificateFile      \/var\/lib\/puppet\/ssl\/certs\/puppet-server.inqnet.at.pem<br \/>\n    SSLCertificateKeyFile   \/var\/lib\/puppet\/ssl\/private_keys\/puppet-server.inqnet.at.pem<br \/>\n    SSLCertificateChainFile \/var\/lib\/puppet\/ssl\/ca\/ca_crt.pem<br \/>\n    SSLCACertificateFile    \/var\/lib\/puppet\/ssl\/ca\/ca_crt.pem<br \/>\n    # CRL checking should be enabled; if you have problems with Apache complaining about the CRL, disable the next line<br \/>\n    SSLCARevocationFile     \/var\/lib\/puppet\/ssl\/ca\/ca_crl.pem<br \/>\n    SSLVerifyClient optional<br \/>\n    SSLVerifyDepth  1<br \/>\n    SSLOptions +StdEnvVars<\/p>\n<p>    ErrorLog \/var\/log\/httpd\/puppetmaster_error.log<\/p>\n<p>    CustomLog \/var\/log\/httpd\/puppetmaster_access.log <\/p>\n<p> # The following client headers allow the same configuration to work with Pound.<br \/>\n    RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e<br \/>\n    RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e<br \/>\n    RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e<\/p>\n<p>    RackAutoDetect On<br \/>\n    DocumentRoot \/usr\/share\/puppet\/rack\/puppetmasterd\/public\/<br \/>\n    <directory \/usr\/share\/puppet\/rack\/puppetmasterd><\/directory><br \/>\n        Options None<br \/>\n        AllowOverride None<br \/>\n        Order allow,deny<br \/>\n        allow from all<\/p>\n<p><\/virtualhost><br \/>\n<\/code><\/p>\n<p>&nbsp;<br \/>\nNOTE:  There is a file called apache2 in \/usr\/share\/puppet\/ext\/rack\/files but this file will not work if you copy if into \/etc\/httpd\/conf.d.<\/p>\n<p>&nbsp;<br \/>\nNext I created the rack application:<br \/>\n<code>mkdir -p \/usr\/share\/rack\/puppetmasterd<br \/>\nmkdir -p \/usr\/share\/puppet\/rack\/puppetmasterd<br \/>\nmkdir \/usr\/share\/puppet\/rack\/puppetmasterd\/public \/usr\/share\/puppet\/rack\/puppetmasterd\/tmp<br \/>\n cp \/usr\/share\/puppet\/ext\/rack\/files\/config.ru  \/usr\/share\/puppet\/rack\/puppetmasterd\/<br \/>\nchown puppet \/usr\/share\/puppet\/rack\/puppetmasterd\/config.ru<br \/>\n<\/code><\/p>\n<p>&nbsp;<br \/>\nNow I check if my config is ok for httpd:<br \/>\n<code>sudo \/sbin\/service httpd configtest<\/code><\/p>\n<p>&nbsp;<br \/>\nIf all is good it returns &#8216;Syntax OK&#8217;<br \/>\nI restart it:<br \/>\n<code>sudo \/sbin\/service httpd restart<\/code><\/p>\n<p>&nbsp;<br \/>\nNow I start the agent in &#8211;no-daemonize and &#8211;verbose mode:notice: Starting Puppet client version 2.6.17<br \/>\n<code>info: Retrieving plugin<br \/>\nerr: \/File[\/var\/lib\/puppet\/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:\/\/puppet.nelsone.com\/plugins<br \/>\ninfo: Caching catalog for puppet.nelsone.com<br \/>\ninfo: Applying configuration version '1345435173'<br \/>\nnotice: Finished catalog run in 0.10 seconds<br \/>\n<\/code><\/p>\n<p>&nbsp;<br \/>\nSame as above!  that&#8217;s good.  Just to be 100% sure that it&#8217;s working using the httpd server, I&#8217;m going to check the access log i added in the conf file:<\/p>\n<p><code><br \/>\n127.0.0.1 - - [19\/Aug\/2012:21:59:32 -0600] \"GET \/production\/file_metadatas\/plugins?links=manage&&checksum_type=md5&ignore=---+%0A++-+.svn%0A++-+CVS%0A++-+.git&recurse=true HTTP\/1.1\" 404 56 \"-\" \"-\"<br \/>\n127.0.0.1 - - [19\/Aug\/2012:21:59:33 -0600] \"GET \/production\/file_metadata\/plugins HTTP\/1.1\" 404 36 \"-\" \"-\"<br \/>\n127.0.0.1 - - [19\/Aug\/2012:21:59:33 -0600] \"GET \/production\/catalog\/puppet.nelsone.com?facts=eNqdV1uTqrgWfj%252B%252FIqef9i5HuSiIVE3VURClEe%252Fa6ktXhCAoNxNQ8ddPuLSt%250Ae%252FY8nNGSIitZybp8%252BdayXq%252BD%252F%252BJ0nzHR%252FoisRJ6mcYwSWR5HNpJlDVoJ%252BQ8A%250A6BZ7GCZeFMqAZzm%252Bzkp1rgN4XuY7crPZ6HAs2xJAnRVllqXrQxggGcTFXo0Q%250A%252BSQKUcOKAjp1gX6KiAzoKwD5ycRLkO1hGTApwYzv7ZnCnlz8WbxxDalY7EYk%250AKTeuduQKsU%252F2tkcSixpczmpeCP1iKg29c4o8WwYs23ZYrrANgBhHdmpVe00h%250Ahr5PNwRrDycp9MHUh4kT4aBY65HPSymXwVuCU%252FRWiEOUBJCcaDQEofH1Y5%252Ft%250AwchHkNAD3oSG9FC6Rvj0iRKXlQHHNniOazz00jjxAvRJkBWFNsn1WgJXKroQ%250A21eIUUB9pHbcJPFTbBUzZe5IFoDPXJskMIhlsEhD0E0PIE8RJwt5ivLcsGyR%250AvELxhDCN4gVhUia1ITa4MsyxS1NiQZ9GyUKERNiK0jCh9lTG7CNqDUHYg36Y%250ABntEMzemyfiKbKnDyUAPE%252BT%252FmP8ESoTRj6X5E3htoExXoPyYQGyxAPyPHi2x%250Ag%252BG90I9ilMMsPJCMJCj4TQy%252FQuER%252BBKIKiFVbP%252BelTK6NOpyk6VISjEpxOQK%250AY%252BLd6UQOYjDoldIX7x4Iqfc4IKlA6YB%252BD6gKUFXQ0gDFvdQHfBewPSDRCPcB%250AXdZhgVDtRVybwBPKZNCln15zfIcKd7KaJh0pva5%252B9bndZuPpcGyqqT%252B1ajvr%250AXRheGY0sjubQus3INgvMeXxcWtrKc6y7akCJUaIPfj6w%252BQwfbs6tKU2yluef%250A0loTSsn63UHXm%252BSiG%252BTCS7yz1Gy7q3mTwWq2gW571c3mA5z4nOR37BrsLkMC%250As8xMGSZkvWbUChhdGja9tsfPgsk7Fubrs3e%252F6%252Btbbr82UxYmQ87tVE96I5Eo%250AKV8TA8jNBy0czegCvTdmRXTbz3uC6glMhx%252FzO%252FskifDoj3enbVvv21NnN%252Bso%250AXBLM%252BlKEVF07%252BWdbYL0P5ZQZvZZ5YBwObi5qj3On%252FbajLcVTMjPms%252FNlK3BD%250AczqqLfd6NHRP08kg1bQpWk4ZbtQnPTGWVpozd9W1ZUntyXinofe%252BYC42nbPk%250ADlYbx9sarW53fxRqE8GX1qW9nAg3Jj6xJ6ebmOx9qh%252BC3qat1c6%252BrYywukwF%250AGJBj8%252BJ6WTRdMYooGszsIq3u4%252BEEp4TD7lITTnpTFyeYNWLSCwK4bfPvvpow%250AxyHPzJcXM96rInQG88NioZvL8L6zmzN%252BBu0%252Bab23trOd2F4oKFup3Q%252FYHW64%250A2927sMkId8214WjXrBewg9p6fvjzz2eqKGD8fTEp8QTw%252BAv3vD1g7mD0C8wr%250AprIRsbAXl%252ByuoDCZLEC1A6D3DvwoCPVnoRJAC9o2pne8umksK3OK3OLljiAL%250AisxKT%252BxCrXkQzBtlmNIWj%252FICdqCVF4G3fJM%252F%252FOgPyvbs26MkPLQo9TeEUiuu%250Azn0mzoqxqB%252FfHssWpZt6q8HWYWCLre%252BhB5v89yikLGa58gHD2PUs8qTwIiqU%250AXiSVYoypH5SonhRfRIXii6RULJ2MqRsxAXXkvNLmF9Xyb69y9t%252FR6Xe2%252FilR%250AAQxTmoskxS9MBxaRk%252BQ0WxyLw6L009Koh1aj0HPOdvhdh38p8aCq%252FK%252FVpf2E%250AjEe6yrpTb7JSg6aUayBfeEa4DbMcJRU0HhgQZeAgi5VlB8GOzHMW9ctx6Cj3%250Azapco8SL%252F068mcX3i6F%252Bpc9Zv8saPofGCuZHhrndW07X0OP00JaSyWA7EGLj%250AnRtZg0Gw5tdGW7WRwySLcTezybZ2gsjaH26X405XxMt1sh6s1A8cSoNh886a%250A92Tahitu5C%252BPRq3ffh%252F6cMId17OOO35fNDETori3rvGj8dRxqZXc2AnOxmG6%250ANQPSD7DFb3rmpaO7zJE%252FGYI9Q5vpbiAd%252Bkd3wbHde9jxF%252BLYXJyFo7e6Ylfr%250AuUazvZs7k1twsfriera8Gx%252BLlXMyOiNNm%252ByWH3AtRPj6rp2uwSjq3vkshh8f%250A%252BwXmtY9b7PKOqmK8aN1mCj%252Fj13YvMPZD7npu8tuktjwvvfUZOj7G3kWf4MFy%250AurVU5tr3t5ubJhnzjqvr03Bxuh19Q1nF0awiqoC2LDgrCyzX6IhfzFP0EP9P%250AG1ZRVd7KlQxVSPMLRdvEAr4v3UAOnjsFpAxMdfmKnU8%252Forbw7QZLv2UHmWQx%250AXbkKT2F0DZ%252FsLhmTa7SaX3bnVwXhJ3oSG2LZuBAHBp5PsTZH9hAm317%252B2xtG%250AkO%252BF6Y2i34E%252BqdpOmB7ovXmcTx1gq%252F7m279fu0vumZJlMMp3LSSPvjb%252BMuql%250AS32OE%252FsUlSRKcqXndKKQ7hWFAcrJq0orNbCYs3yPii2Ek3%252F4Q%252FDdu%252BUnFh3b%250A48QYJm71x2DvhXL5yEekeMufv%252BsbX0BSGvA7LsrRhKOoTJYdBdD75rTcuL8A%250AQ%252BgHeQ%253D%253D%250A&facts_format=b64_zlib_yaml HTTP\/1.1\" 200 500 \"-\" \"-\"<br \/>\n127.0.0.1 - - [19\/Aug\/2012:21:59:34 -0600] \"PUT \/production\/report\/puppet.nelsone.com HTTP\/1.1\" 200 14 \"-\" \"-\"<br \/>\n<\/code><\/p>\n<p>Success!  I can see that the agent is accessing the master via httpd!<br \/>\n&nbsp;<br \/>\nNow I set the agent to start and run automatically:<br \/>\n<code>sudo \/sbin\/chkconfig puppet on<br \/>\nsudo \/sbin\/service puppet start<br \/>\n<\/code><\/p>\n<p>Now we&#8217;re good!<\/p>\n<p>From <a href=\"http:\/\/www.nelsone.com\/2012\/08\/installing-puppet-open-source-on-centos.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.nelsone.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>From http:\/\/www.nelsone.com I recently started playing around with Puppet to manage my current infrastructure of a plethora of linux flavors. After an evaluation using Puppet-Enterprise I was told to see what I could do with the Open Source version. As Puppet-Enterprise is pretty much a &#8216;no brainer&#8217; install, the open-source version is a different animal&#8230;. <\/p>\n<div class=\"read-more navbutton\"><a href=\"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/\">Read More<i class=\"fa fa-angle-double-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-5748","post","type-post","status-publish","format-standard","hentry","category-info"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Installing Puppet Open-Source on CentOS 5.8 - Linux Shtuff<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installing Puppet Open-Source on CentOS 5.8 - Linux Shtuff\" \/>\n<meta property=\"og:description\" content=\"From http:\/\/www.nelsone.com I recently started playing around with Puppet to manage my current infrastructure of a plethora of linux flavors. After an evaluation using Puppet-Enterprise I was told to see what I could do with the Open Source version. As Puppet-Enterprise is pretty much a &#8216;no brainer&#8217; install, the open-source version is a different animal.... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/\" \/>\n<meta property=\"og:site_name\" content=\"Linux Shtuff\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:author\" content=\"https:\/\/fb.me\/g33kinf0\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-01T17:04:50+00:00\" \/>\n<meta name=\"author\" content=\"g33kadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/drsinger1111\" \/>\n<meta name=\"twitter:site\" content=\"@drsinger1111\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/\"},\"author\":{\"name\":\"g33kadmin\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"headline\":\"Installing Puppet Open-Source on CentOS 5.8\",\"datePublished\":\"2013-07-01T17:04:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/\"},\"wordCount\":677,\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"articleSection\":[\"General Info\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/\",\"name\":\"Installing Puppet Open-Source on CentOS 5.8 - Linux Shtuff\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\"},\"datePublished\":\"2013-07-01T17:04:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/installing-puppet-open-source-on-centos-5-8\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Installing Puppet Open-Source on CentOS 5.8\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#website\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/\",\"name\":\"Linux Shtuff\",\"description\":\"Because I have CRS Syndrome...\",\"publisher\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/#\\\/schema\\\/person\\\/c022e4c40b13ea1b678e6f020756f547\",\"name\":\"g33kadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"url\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"contentUrl\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\",\"width\":512,\"height\":512,\"caption\":\"g33kadmin\"},\"logo\":{\"@id\":\"https:\\\/\\\/g33kinfo.com\\\/info\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/minion-researchA.gif\"},\"description\":\"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\\\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....\",\"sameAs\":[\"https:\\\/\\\/thelinuxreport.com\",\"https:\\\/\\\/fb.me\\\/g33kinf0\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/drsinger1111\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Installing Puppet Open-Source on CentOS 5.8 - Linux Shtuff","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/","og_locale":"en_US","og_type":"article","og_title":"Installing Puppet Open-Source on CentOS 5.8 - Linux Shtuff","og_description":"From http:\/\/www.nelsone.com I recently started playing around with Puppet to manage my current infrastructure of a plethora of linux flavors. After an evaluation using Puppet-Enterprise I was told to see what I could do with the Open Source version. As Puppet-Enterprise is pretty much a &#8216;no brainer&#8217; install, the open-source version is a different animal.... Read More","og_url":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/","og_site_name":"Linux Shtuff","article_publisher":"https:\/\/fb.me\/g33kinf0","article_author":"https:\/\/fb.me\/g33kinf0","article_published_time":"2013-07-01T17:04:50+00:00","author":"g33kadmin","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/drsinger1111","twitter_site":"@drsinger1111","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/#article","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/"},"author":{"name":"g33kadmin","@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"headline":"Installing Puppet Open-Source on CentOS 5.8","datePublished":"2013-07-01T17:04:50+00:00","mainEntityOfPage":{"@id":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/"},"wordCount":677,"publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"articleSection":["General Info"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/","url":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/","name":"Installing Puppet Open-Source on CentOS 5.8 - Linux Shtuff","isPartOf":{"@id":"https:\/\/g33kinfo.com\/info\/#website"},"datePublished":"2013-07-01T17:04:50+00:00","breadcrumb":{"@id":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/g33kinfo.com\/info\/installing-puppet-open-source-on-centos-5-8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/g33kinfo.com\/info\/"},{"@type":"ListItem","position":2,"name":"Installing Puppet Open-Source on CentOS 5.8"}]},{"@type":"WebSite","@id":"https:\/\/g33kinfo.com\/info\/#website","url":"https:\/\/g33kinfo.com\/info\/","name":"Linux Shtuff","description":"Because I have CRS Syndrome...","publisher":{"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/g33kinfo.com\/info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/g33kinfo.com\/info\/#\/schema\/person\/c022e4c40b13ea1b678e6f020756f547","name":"g33kadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","url":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","contentUrl":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif","width":512,"height":512,"caption":"g33kadmin"},"logo":{"@id":"https:\/\/g33kinfo.com\/info\/wp-content\/uploads\/2022\/07\/minion-researchA.gif"},"description":"I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com\/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....","sameAs":["https:\/\/thelinuxreport.com","https:\/\/fb.me\/g33kinf0","https:\/\/x.com\/https:\/\/twitter.com\/drsinger1111"]}]}},"_links":{"self":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/5748","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/comments?post=5748"}],"version-history":[{"count":0,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/posts\/5748\/revisions"}],"wp:attachment":[{"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/media?parent=5748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/categories?post=5748"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/g33kinfo.com\/info\/wp-json\/wp\/v2\/tags?post=5748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}