@@ -0,0 +1,299 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano Puljic" />
<meta name="description" content="Instructions on how to setup Puppet Dashboard on CentOS 6.5" />
<meta name="keywords" content="puppet, puppetdashboard, centOS 6.5">
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:title" content="Install Puppet Dashboard on CentOS 6.5"/>
<meta property="og:description" content="Instructions on how to setup Puppet Dashboard on CentOS 6.5"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content="/2014/May/install-puppet-dashboard-on-centos-65.html"/>
<meta property="og:type" content="article"/>
<meta property="article:published_time" content="2014-05-20 23:10:23+10:00"/>
<meta property="article:modified_time" content=""/>
<meta property="article:author" content="/author/lano-puljic.html">
<meta property="article:section" content="Puppet"/>
<meta property="article:tag" content="puppet"/>
<meta property="article:tag" content="puppetdashboard"/>
<meta property="article:tag" content="centOS 6.5"/>
<meta property="og:image" content="http://lanopuljic.com/images/linkedin_logo.png"><title>#! Shit Lano Says &ndash; Install Puppet Dashboard on CentOS 6.5</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<div class="article_title">
<a href="/2014/May/install-puppet-dashboard-on-centos-65.html" rel="bookmark" title="Permalink to Install Puppet Dashboard on CentOS 6.5">Install Puppet Dashboard on CentOS 6.5</a>
</div>
<div class="articel_date">
<i class="fa fa-calendar"></i> Tue 20 May 2014
<span class="author" href="/author/lano-puljic.html">&nbsp; <i class="fa fa-user"></i> Lano Puljic</a></span>
</div>

<p>Install Following Packages</p>
<div class="highlight"><pre>yum -y install puppet-dashboard
</pre></div>


<p>Install MySQL</p>
<div class="highlight"><pre>yum -y install mysql-server
</pre></div>


<p>Start service on next reboot</p>
<div class="highlight"><pre>chkconfig mysqld on <span class="m">3</span> 4
service mysqld start
</pre></div>


<p>Set MySQL root user’s password</p>
<div class="highlight"><pre>/usr/bin/mysqladmin -u root password <span class="s1">&#39;new-password&#39;</span>
</pre></div>


<p>Create a database and database user:</p>
<div class="highlight"><pre><span class="n">mysql</span> <span class="o">-</span><span class="n">u</span> <span class="n">root</span> <span class="o">-</span><span class="n">p</span>
<span class="n">mysql</span><span class="o">&gt;</span> <span class="k">CREATE</span> <span class="k">DATABASE</span> <span class="n">dashboard</span> <span class="k">CHARACTER</span> <span class="kt">SET</span> <span class="n">utf8</span><span class="p">;</span>
<span class="n">mysql</span><span class="o">&gt;</span> <span class="k">CREATE</span> <span class="n">USER</span> <span class="s1">&#39;dashboard&#39;</span><span class="o">@</span><span class="s1">&#39;localhost&#39;</span> <span class="n">IDENTIFIED</span> <span class="k">BY</span> <span class="s1">&#39;secret_password&#39;</span><span class="p">;</span>
<span class="n">mysql</span><span class="o">&gt;</span> <span class="k">GRANT</span> <span class="k">ALL</span> <span class="n">PRIVILEGES</span> <span class="k">ON</span> <span class="n">dashboard</span><span class="p">.</span><span class="o">*</span> <span class="k">TO</span> <span class="s1">&#39;dashboard&#39;</span><span class="o">@</span><span class="s1">&#39;localhost&#39;</span><span class="p">;</span>
</pre></div>


<p>Edit following config file and make changes to database,username,password you created in above step.</p>
<div class="highlight"><pre>vi /usr/share/puppet-dashboard/config/database.yml
</pre></div>


<div class="highlight"><pre><span class="l-Scalar-Plain">production</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">database</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">dashboard</span>
<span class="l-Scalar-Plain">username</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">dashboard</span>
<span class="l-Scalar-Plain">password</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">secret_password</span>
<span class="l-Scalar-Plain">encoding</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">utf8</span>
<span class="l-Scalar-Plain">adapter</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">mysql</span>

<span class="l-Scalar-Plain">development</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">database</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">dashboard</span>
<span class="l-Scalar-Plain">username</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">dashboard</span>
<span class="l-Scalar-Plain">password</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">secret_password</span>
<span class="l-Scalar-Plain">encoding</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">utf8</span>
<span class="l-Scalar-Plain">adapter</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">mysql</span>
</pre></div>


<p>Populate the database</p>
<div class="highlight"><pre><span class="nb">cd</span> /usr/share/puppet-dashboard
</pre></div>


<div class="highlight"><pre><span class="n">rake</span> <span class="ss">db</span><span class="p">:</span><span class="n">migrate</span>
</pre></div>


<p>Copy Apache vhost config file from the example Puppet Dashboard that is provided.</p>
<div class="highlight"><pre>cp /usr/share/puppet-dashboard/ext/passenger/dashboard-vhost.conf /etc/httpd/conf.d/puppetdashboard.conf
</pre></div>


<p>Edit the puppetdashboar.conf file and change things to suite your environment.</p>
<div class="highlight"><pre>vi /etc/https/conf.d/puppetdashboard.conf
</pre></div>


<p>Example of my configuration file is below.</p>
<div class="highlight"><pre><span class="c"># you may want to tune these settings</span>
<span class="nb">PassengerHighPerformance</span> <span class="k">on</span>
<span class="nb">PassengerMaxPoolSize</span> <span class="m">12</span>
<span class="nb">PassengerPoolIdleTime</span> <span class="m">1500</span>
<span class="c"># PassengerMaxRequests 1000</span>
<span class="nb">PassengerStatThrottleRate</span> <span class="m">120</span>

<span class="nb">Listen</span> <span class="m">3000</span>
<span class="nt">&lt;VirtualHost</span> <span class="s">*:3000</span><span class="nt">&gt;</span>
<span class="nb">ServerName</span> puppetmaster01.xonal.dev.com
<span class="nb">DocumentRoot</span> <span class="sx">/usr/share/puppet-dashboard/public/</span>
<span class="nt">&lt;Directory</span> <span class="s">/usr/share/puppet-dashboard/public/</span><span class="nt">&gt;</span>
<span class="nb">Options</span> <span class="k">None</span>
<span class="nb">Order</span> allow,deny
<span class="nb">allow</span> from <span class="k">all</span>
<span class="nt">&lt;/Directory&gt;</span>
<span class="nb">ErrorLog</span> <span class="sx">/var/log/httpd/dashboard.example.com_error.log</span>
<span class="nb">LogLevel</span> <span class="k">warn</span>
<span class="nb">CustomLog</span> <span class="sx">/var/log/httpd/dashboard.example.com_access.log</span> combined
<span class="nb">ServerSignature</span> <span class="k">On</span>

<span class="nt">&lt;/VirtualHost&gt;</span>
</pre></div>


<h4>Create logs for Dashboard</h4>
<p>Make sure that log file exists and permissions are correct.</p>
<div class="highlight"><pre>touch /usr/share/puppet-dashboard/log/production.log
chmod <span class="m">0666</span> /usr/share/puppet-dashboard/log/production.log
</pre></div>


<p>Restart the https service</p>
<div class="highlight"><pre>service httpd restar
</pre></div>


<p>If ther is no any errors you should be able to load puppet dashboard.</p>
<h3>Enable inventory support</h3>
<p>When you add a node to puppet, Click on the node and you will see <strong>INVENTORY</strong> at first this will not display anything,
if you follow the instruction below you will get inventory working.</p>
<p>In a nutshell, you need to change just a few settings.</p>
<p>Go to settings.yml and change:</p>
<div class="highlight"><pre><span class="l-Scalar-Plain">vi /usr/share/puppet-dashboard/config/settings.yml</span>
</pre></div>


<p>Ensure that /usr/share/puppet-dashboard/config/settings.yaml has following</p>
<div class="highlight"><pre><span class="c1"># Hostname of the certificate authority.</span>
<span class="l-Scalar-Plain">ca_server</span><span class="p-Indicator">:</span> <span class="s">&#39;puppetmaster01.xonal.dev.com&#39;</span> <span class="c1"># this is your puppetmaster FQDN</span>

<span class="c1"># The &quot;inventory service&quot; allows you to connect to a puppet master to retrieve and node facts</span>
<span class="l-Scalar-Plain">enable_inventory_service</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">true</span>

<span class="c1"># Hostname of the inventory server.</span>
<span class="l-Scalar-Plain">inventory_server</span><span class="p-Indicator">:</span> <span class="s">&#39;puppetmaster01.xonal.dev.com&#39;</span> <span class="c1"># this is your puppetmaster FQDN</span>
</pre></div>


<p>Make sure that service puppet-dashboard-workers is started on boot</p>
<div class="highlight"><pre>chkconfig puppet-dashboard-workers on 34
service puppet-dashboard-workers start
</pre></div>


<p>Last but not lease make sure you have following in you /etc/puppet/puppet.conf</p>
<div class="highlight"><pre>vi /etc/puppet/puppet.conf
</pre></div>


<div class="highlight"><pre><span class="p">[</span><span class="na">master</span><span class="p">]</span>
<span class="na">reports</span> <span class="o">=</span> <span class="na">store</span><span class="p">,</span> <span class="na">http</span>
<span class="na">reportdir</span> <span class="o">=</span> <span class="o">/</span><span class="na">var</span><span class="o">/</span><span class="na">lib</span><span class="o">/</span><span class="na">puppet</span><span class="o">/</span><span class="na">reports</span>
<span class="na">reporturl</span> <span class="o">=</span> <span class="na">http</span><span class="p">:</span><span class="o">//</span><span class="na">puppetmaster01</span><span class="err">.</span><span class="na">xonal</span><span class="err">.</span><span class="na">dev</span><span class="err">.</span><span class="na">com</span><span class="p">:</span><span class="mi">3000</span><span class="o">/</span><span class="na">reports</span><span class="o">/</span><span class="na">upload</span>
</pre></div>


<h4>Configuring inventory to work on Puppet Dashboard</h4>
<p>Edit auth.conf file</p>
<div class="highlight"><pre>vi/etc/puppet/auth.conf file
</pre></div>


<p>Add follwoing lines.</p>
<div class="highlight"><pre>path /facts
auth yes
method find, search
allow dashboard

Make sure its above this
path /
auth any
</pre></div>


<p>Generating Certificate for Dashboard so that NODE Inventory will work.</p>
<p>Generate your keypair for dashboard:</p>
<div class="highlight"><pre>sudo -u puppet-dashboard rake cert:create_key_pair
</pre></div>


<p>Generate the cert request for dashboard:</p>
<div class="highlight"><pre>sudo -u puppet-dashboard rake cert:request
</pre></div>


<p>On the puppetmaster, sign the cert:</p>
<div class="highlight"><pre><span class="na">puppet</span> <span class="na">cert</span> <span class="na">sign</span> <span class="na">dashboard</span>
</pre></div>


<p>Get the cert from the puppetmaster</p>
<div class="highlight"><pre>sudo -u puppet-dashboard rake cert:retrieve
</pre></div>


<p>Restart dashboard</p>
<div class="highlight"><pre>service httpd restart
</pre></div>


<p>TA DA Loging to dashboard and see if it works.</p>
<div class="addthis_native_toolbox"></div>
</div>
<br>
<div class="container content">
<div id="disqus_thread">
<div id='disqus_loader' onclick="load_disqus()"><i class="fa fa-comments"></i>&nbsp;Load comments</div>

<script type="text/javascript">
function load_disqus()
{
var disqus_shortname = "lanopuljic"; // required: replace example with your forum shortname
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
var ldr = document.getElementById('disqus_loader');
ldr.parentNode.removeChild(ldr);
}
</script>
</div>
</div>
<br>
<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,235 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano Puljic" />
<meta name="description" content="Instructions on how to setup Puppet on CentOS 6.5 with ease" />
<meta name="keywords" content="puppet, centOS 6.5">
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:title" content="Install Puppet Server on CentOS 6.5"/>
<meta property="og:description" content="Instructions on how to setup Puppet on CentOS 6.5 with ease"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content="/2014/May/install-puppet-server-on-centos-65.html"/>
<meta property="og:type" content="article"/>
<meta property="article:published_time" content="2014-05-19 09:36:56+10:00"/>
<meta property="article:modified_time" content=""/>
<meta property="article:author" content="/author/lano-puljic.html">
<meta property="article:section" content="Puppet"/>
<meta property="article:tag" content="puppet"/>
<meta property="article:tag" content="centOS 6.5"/>
<meta property="og:image" content="http://lanopuljic.com/images/linkedin_logo.png"><title>#! Shit Lano Says &ndash; Install Puppet Server on CentOS 6.5</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<div class="article_title">
<a href="/2014/May/install-puppet-server-on-centos-65.html" rel="bookmark" title="Permalink to Install Puppet Server on CentOS 6.5">Install Puppet Server on CentOS 6.5</a>
</div>
<div class="articel_date">
<i class="fa fa-calendar"></i> Mon 19 May 2014
<span class="author" href="/author/lano-puljic.html">&nbsp; <i class="fa fa-user"></i> Lano Puljic</a></span>
</div>

<h4>Download puppet-server from Puppet Labs</h4>
<div class="highlight"><pre>yum install -y puppet-server
</pre></div>


<h4>Start Puppet-Server</h4>
<div class="highlight"><pre>/etc/init.d/puppetmaster start
</pre></div>


<h4>Set Puppet Master to run on startup ( if you usng passenged no need to do this)</h4>
<div class="highlight"><pre><span class="na">puppet</span> <span class="na">resource</span> <span class="k">service</span> <span class="na">puppetmaster</span> <span class="na">ensure</span><span class="o">=</span><span class="k">running</span> <span class="na">enable</span><span class="o">=</span><span class="k">true</span>
</pre></div>


<h4>Download apache and necessary dependencies</h4>
<div class="highlight"><pre>yum install -y httpd httpd-devel mod_ssl ruby-devel rubygems gcc-c++ curl-devel zlib-devel make automake openssl-devel
</pre></div>


<h4>Install Rack/Passenger</h4>
<div class="highlight"><pre>gem install rack passenger
passenger-install-apache2-module
</pre></div>


<p>Add passenger to be loaded from http.conf gloabaly</p>
<div class="highlight"><pre>vi etc/http/conf/http.conf
</pre></div>


<p>Add folldowing in http.conf</p>
<div class="highlight"><pre><span class="nb">Add</span> this in Load Module section
<span class="nb">LoadModule</span> passenger_module <span class="sx">/usr/lib/ruby/gems/1.8/gems/passenger-4.0.42/buildout/apache2/mod_passenger.so</span>
<span class="nb">PassengerRoot</span> <span class="sx">/usr/lib/ruby/gems/1.8/gems/passenger-4.0.42</span>```
<span class="nb">PassengerDefaultRuby</span> <span class="sx">/usr/bin/ruby</span>
</pre></div>


<h4>Create the directory structure for Puppet Master Rack Application</h4>
<div class="highlight"><pre>mkdir -p /usr/share/puppet/rack/puppetmasterd
mkdir /usr/share/puppet/rack/puppetmasterd/public /usr/share/puppet/rack/puppetmasterd/tmp
cp /usr/share/puppet/ext/rack/config.ru /usr/share/puppet/rack/puppetmasterd/
chown puppet:puppet /usr/share/puppet/rack/puppetmasterd/config.ru
</pre></div>


<p>Create a virtual host file for puppet:</p>
<div class="highlight"><pre>vi /etc/httpd/conf.d/puppetmaster.conf
</pre></div>


<p>Add Following in puppetmaster.conf</p>
<div class="highlight"><pre><span class="c">#### And the passenger performance tuning settings:</span>
<span class="nb">PassengerHighPerformance</span> <span class="k">On</span>
<span class="c">#### Set this to about 1.5 times the number of CPU cores in your master:</span>
<span class="nb">PassengerMaxPoolSize</span> <span class="m">12</span>
<span class="c">#### Recycle master processes after they service 1000 requests</span>
<span class="nb">PassengerMaxRequests</span> <span class="m">1000</span>
<span class="c">#### Stop processes if they sit idle for 10 minutes</span>
<span class="nb">PassengerPoolIdleTime</span> <span class="m">600</span>

<span class="nb">Listen</span> <span class="m">8140</span>
<span class="nt">&lt;VirtualHost</span> <span class="s">*:8140</span><span class="nt">&gt;</span>
<span class="nb">SSLEngine</span> <span class="k">On</span>

<span class="c"># Only allow high security cryptography. Alter if needed for compatibility.</span>
<span class="nb">SSLProtocol</span> <span class="k">All</span> -SSLv2
<span class="nb">SSLCipherSuite</span> HIGH:!ADH:RC4+RSA:-MEDIUM:-LOW:-EXP
<span class="nb">SSLCertificateFile</span> <span class="sx">/var/lib/puppet/ssl/certs/puppetmaster01.xonal.dev.com.pem</span>
<span class="nb">SSLCertificateKeyFile</span> <span class="sx">/var/lib/puppet/ssl/private_keys/puppetmaster01.dev.xonal.com.pem</span>
<span class="nb">SSLCertificateChainFile</span> <span class="sx">/var/lib/puppet/ssl/ca/ca_crt.pem</span>
<span class="nb">SSLCACertificateFile</span> <span class="sx">/var/lib/puppet/ssl/ca/ca_crt.pem</span>
<span class="nb">SSLCARevocationFile</span> <span class="sx">/var/lib/puppet/ssl/ca/ca_crl.pem</span>
<span class="nb">SSLVerifyClient</span> optional
<span class="nb">SSLVerifyDepth</span> <span class="m">1</span>
<span class="nb">SSLOptions</span> +StdEnvVars +ExportCertData

<span class="c"># These request headers are used to pass the client certificate</span>
<span class="c"># authentication information on to the puppet master process</span>
<span class="nb">RequestHeader</span> set X-SSL-Subject %{SSL_CLIENT_S_DN}e
<span class="nb">RequestHeader</span> set X-Client-DN %{SSL_CLIENT_S_DN}e
<span class="nb">RequestHeader</span> set X-Client-Verify %{SSL_CLIENT_VERIFY}e

<span class="nb">DocumentRoot</span> <span class="sx">/usr/share/puppet/rack/puppetmasterd/public</span>

<span class="nt">&lt;Directory</span> <span class="s">/usr/share/puppet/rack/puppetmasterd/</span><span class="nt">&gt;</span>
<span class="nb">Options</span> <span class="k">None</span>
<span class="nb">AllowOverride</span> <span class="k">None</span>
<span class="nb">Order</span> allow,deny
<span class="nb">Allow</span> from <span class="k">all</span>
<span class="nt">&lt;/Directory&gt;</span>

<span class="nb">ErrorLog</span> <span class="sx">/var/log/httpd/puppet-server.example.com_ssl_error.log</span>
<span class="nb">CustomLog</span> <span class="sx">/var/log/httpd/puppet-server.example.com_ssl_access.log</span> combined
<span class="nt">&lt;/VirtualHost&gt;</span>
</pre></div>


<p>Start Apache:</p>
<div class="highlight"><pre>/etc/init.d/puppetmaster stop
/etc/init.d/httpd start
</pre></div>


<p>If you get follwoing meesage</p>
<blockquote>
<p>Starting httpd: httpd: Could not reliably determine the servers fully qualified domain name, using puppetmaster01.xonal.dev.com for ServerName</p>
</blockquote>
<p>Edit host file and add the server.</p>
<div class="highlight"><pre>vi /etc/hosts
xx.xx.xx.xx puppetmaster01.xonal.dev.com
</pre></div>


<p>Disable WEBrick: ( No need to do this if you didnt demonize the process in above step)</p>
<div class="highlight"><pre>chkconfig puppetmaster off
</pre></div>


<p>Enable Apache on boot</p>
<div class="highlight"><pre>chkconfig httpd on 34
</pre></div>


<p>Make sure the port is open and it’s listening:</p>
<div class="highlight"><pre>netstat -ln <span class="p">|</span> grep 8140
tcp <span class="m">0</span> <span class="m">0</span> 0.0.0.0:8140 0.0.0.0:* LISTEN
</pre></div>
<div class="addthis_native_toolbox"></div>
</div>
<br>
<div class="container content">
<div id="disqus_thread">
<div id='disqus_loader' onclick="load_disqus()"><i class="fa fa-comments"></i>&nbsp;Load comments</div>

<script type="text/javascript">
function load_disqus()
{
var disqus_shortname = "lanopuljic"; // required: replace example with your forum shortname
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
var ldr = document.getElementById('disqus_loader');
ldr.parentNode.removeChild(ldr);
}
</script>
</div>
</div>
<br>
<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,183 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano Puljic" />
<meta name="description" content="How to rotate logs using logrotate" />
<meta name="keywords" content="logs">
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:title" content="Logrotate Utility on Linux"/>
<meta property="og:description" content="How to rotate logs using logrotate"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content="/2014/May/logrotate-utility-on-linux.html"/>
<meta property="og:type" content="article"/>
<meta property="article:published_time" content="2014-05-30 14:37:56+10:00"/>
<meta property="article:modified_time" content=""/>
<meta property="article:author" content="/author/lano-puljic.html">
<meta property="article:section" content="Linux"/>
<meta property="article:tag" content="logs"/>
<meta property="og:image" content="http://lanopuljic.com/images/linkedin_logo.png"><title>#! Shit Lano Says &ndash; Logrotate Utility on Linux</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<div class="article_title">
<a href="/2014/May/logrotate-utility-on-linux.html" rel="bookmark" title="Permalink to Logrotate Utility on Linux">Logrotate Utility on Linux</a>
</div>
<div class="articel_date">
<i class="fa fa-calendar"></i> Fri 30 May 2014
<span class="author" href="/author/lano-puljic.html">&nbsp; <i class="fa fa-user"></i> Lano Puljic</a></span>
</div>

<p>Logrotate is designed to ease administration of systems that generate large numbers of log files. It allows automatic rotation, compression, removal, and mailing of log files. Eachlog file may be handled daily, weekly, monthly, or when it grows too large.</p>
<ul>
<li>Rotate the log files when the size reaches to a specified size.</li>
<li>Rotate the log files daily/ weekly/ monthly basis.</li>
<li>Compress the rotated log files.</li>
<li>Specify compression option for the rotated log files.</li>
<li>Rotate the log files with date.</li>
<li>Remove old rotated log files .</li>
</ul>
<h3>Basic Info about comment:</h3>
<ul>
<li>Location of Command: <code>/usr/sbin/logrotate</code></li>
<li>Location of configuration File: <code>/etc/logrotate.conf</code></li>
<li>Location of configuration paht for individual application log: <code>/etc/logrotate.d</code></li>
<li>Script executes the logrotate command everyday: <code>/etc/cron.daily/logrotate</code></li>
</ul>
<p>How to Use this great tool:</p>
<p>If you wish to use logrotate utility for a specific application you must add a log file to logrotate utility, and then you will need to
create a file inside <code>/etc/logrotate.d/</code> folder.</p>
<p>Some examplet are listed below :</p>
<p><strong>Example 1:</strong> Yum Log rotation:</p>
<div class="highlight"><pre>cat /etc/logrotate.d/yum

/var/log/yum.log <span class="o">{</span>
missingok
notifempty
size 30k
yearly
create <span class="m">0600</span> root root
<span class="o">}</span>
</pre></div>


<p><strong>Example 2:</strong> Rotate the log file when file size reaches a specific limit:</p>
<p>If you want to rotate a log file (for example, /tmp/mylog.log) for every 100MB, create the logrotate.conf as shown below.</p>
<div class="highlight"><pre>vi /etc/logrotate.d/mylog

/var/log/mylog.log <span class="o">{</span>
size 100M
create <span class="m">0700</span> root root
dateext
rotate 4
<span class="o">}</span>
</pre></div>


<p>This logrotate configuration has following three options:</p>
<ul>
<li>size 100M – logrotate runs only if the filesize is equal to (or greater than) this size.</li>
<li>create – rotate the original file and create the new file with specified permission, user and group.</li>
<li>rotate – limits the number of log file rotation. So, this would keep only the recent 4 rotated log files.</li>
<li>dateext - rotate log file with date in the log file.</li>
</ul>
<p>To see more options that logrotate supports see the man page.</p>
<h1>Testing</h1>
<p>Write someting to log file :</p>
<div class="highlight"><pre>sudo dd <span class="k">if</span><span class="o">=</span>/dev/urandom <span class="nv">of</span><span class="o">=</span>/var/log/mylog.log <span class="nv">bs</span><span class="o">=</span>100M <span class="nv">count</span><span class="o">=</span>1
</pre></div>


<p>Make sure that log file size is bigger or euqal to 100M.</p>
<p>To rotate the log file.</p>
<div class="highlight"><pre><span class="nb">cd</span> /etc/logrotate.d
sudo logrotate -s /var/log/mylog.log mylog
</pre></div>


<p>To confirm that mylog.log has been rotated.</p>
<div class="highlight"><pre><span class="nb">cd</span> /var/log
ls -ltr <span class="p">|</span>grep mylog.log
-rw-r--r--. <span class="m">1</span> root root <span class="m">67108864</span> May <span class="m">30</span> 15:46 mylog.log-20140530
-rwx------. <span class="m">1</span> root root <span class="m">0</span> May <span class="m">30</span> 15:48 mylog.log
</pre></div>


<p>As you can see above <code>mylog.log</code> has been rotated with date applyed at the end.
This would only work once in a day becouse of the date tag will be the same, if you want to have multiple logs with in the day remove
<code>dateext</code> and let it rotate automaticly with adding a number like in this example <code>mylog.log.1</code> </p>
<div class="addthis_native_toolbox"></div>
</div>
<br>
<div class="container content">
<div id="disqus_thread">
<div id='disqus_loader' onclick="load_disqus()"><i class="fa fa-comments"></i>&nbsp;Load comments</div>

<script type="text/javascript">
function load_disqus()
{
var disqus_shortname = "lanopuljic"; // required: replace example with your forum shortname
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
var ldr = document.getElementById('disqus_loader');
ldr.parentNode.removeChild(ldr);
}
</script>
</div>
</div>
<br>
<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
110 Makefile

This file was deleted.

@@ -0,0 +1,110 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says &ndash; Archives</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>

<div class="container content">
<dl>
<h1>Archives</h1>
<dt>Fri 30 May 2014</dt>
<dd>
<div class="archive">
<a href="/2014/May/logrotate-utility-on-linux.html">Logrotate Utility on Linux</a>
</div>
</dd>
<dt>Tue 20 May 2014</dt>
<dd>
<div class="archive">
<a href="/2014/May/install-puppet-dashboard-on-centos-65.html">Install Puppet Dashboard on CentOS 6.5</a>
</div>
</dd>
<dt>Mon 19 May 2014</dt>
<dd>
<div class="archive">
<a href="/2014/May/alert-by-email-when-server-is-up-and-running.html">Alert by email when server is up and running</a>
</div>
</dd>
<dt>Mon 19 May 2014</dt>
<dd>
<div class="archive">
<a href="/2014/May/bash-vulnerability-how-to-check.html">Bash vulnerability how to check</a>
</div>
</dd>
<dt>Mon 19 May 2014</dt>
<dd>
<div class="archive">
<a href="/2014/May/display-passowrd-policy-message.html">Display passowrd policy message.</a>
</div>
</dd>
<dt>Mon 19 May 2014</dt>
<dd>
<div class="archive">
<a href="/2014/May/install-puppet-server-on-centos-65.html">Install Puppet Server on CentOS 6.5</a>
</div>
</dd>
</dl>
</div>
<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,112 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says#! Shit Lano Says - Articles by Lano Puljic</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<ul class="recent-posts">
<li>
<a href="/2014/May/logrotate-utility-on-linux.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Logrotate Utility on Linux">Logrotate Utility on Linux</span>
<span class="date" "2014-05-30T14:37:56+10:00"> Fri 30 May 2014</span>
</div>
</a>
<a href="/2014/May/install-puppet-dashboard-on-centos-65.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Install Puppet Dashboard on CentOS 6.5">Install Puppet Dashboard on CentOS 6.5</span>
<span class="date" "2014-05-20T23:10:23+10:00"> Tue 20 May 2014</span>
</div>
</a>
<a href="/2014/May/alert-by-email-when-server-is-up-and-running.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Alert by email when server is up and running">Alert by email when server is up and running</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>
<a href="/2014/May/bash-vulnerability-how-to-check.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Bash vulnerability how to check">Bash vulnerability how to check</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>
<a href="/2014/May/display-passowrd-policy-message.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Display passowrd policy message.">Display passowrd policy message.</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>
<a href="/2014/May/install-puppet-server-on-centos-65.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Install Puppet Server on CentOS 6.5">Install Puppet Server on CentOS 6.5</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>

</li>
</ul>
</div>

<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,72 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says #! Shit Lano Says - Authors
</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<h1>Authors on #! Shit Lano Says</h1>
<ul> <li><a href="/author/lano-puljic.html">Lano Puljic</a> (6)</li>
</ul>
<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,73 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<ul>
<li><a href="/category/articles.html">Articles</a></li>
<li><a href="/category/linux.html">Linux</a></li>
<li><a href="/category/puppet.html">Puppet</a></li>
</ul>
<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<ul class="recent-posts">
<li>
<a href="/2014/May/display-passowrd-policy-message.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Display passowrd policy message.">Display passowrd policy message.</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>

</li>
</ul>
</div>

<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<ul class="recent-posts">
<li>
<a href="/2014/May/logrotate-utility-on-linux.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Logrotate Utility on Linux">Logrotate Utility on Linux</span>
<span class="date" "2014-05-30T14:37:56+10:00"> Fri 30 May 2014</span>
</div>
</a>
<a href="/2014/May/alert-by-email-when-server-is-up-and-running.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Alert by email when server is up and running">Alert by email when server is up and running</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>
<a href="/2014/May/bash-vulnerability-how-to-check.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Bash vulnerability how to check">Bash vulnerability how to check</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>

</li>
</ul>
</div>

<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
@@ -0,0 +1,88 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<ul class="recent-posts">
<li>
<a href="/2014/May/install-puppet-dashboard-on-centos-65.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Install Puppet Dashboard on CentOS 6.5">Install Puppet Dashboard on CentOS 6.5</span>
<span class="date" "2014-05-20T23:10:23+10:00"> Tue 20 May 2014</span>
</div>
</a>
<a href="/2014/May/install-puppet-server-on-centos-65.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Install Puppet Server on CentOS 6.5">Install Puppet Server on CentOS 6.5</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>

</li>
</ul>
</div>

<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>
Binary file not shown.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,112 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/images/favicon.png" type="image/x-icon" />
<link href="//fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro|Nunito:300" rel="stylesheet" type="text/css">
<link href="/theme/css/lanox.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/pygments.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="author" content="Lano" />
<meta name="description" content="Lano's Thoughts and Writings" />
<meta property="og:site_name" content="#! Shit Lano Says"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="#! Shit Lano Says"/>
<meta property="og:description" content="Lano's Thoughts and Writings"/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content=""/><title>#! Shit Lano Says</title>
</head>

<header>
<div class="logo">
<!--<h1>LP</h1>-->
</div>
<div class="hero" style="background-image: url('/images/logo.jpg')">
<h1><a href="/">#! Shit Lano Says <strong></strong></a>
<div class="tagline"> Life is binary, zeros and ones. </div>
</h1>
</div>

<!-- Menu Starts From Here -->
<div class="container menu">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pages/about.html">About</a></li>
<li><a href="/pages/work.html">Work</a></li>
<li><a href="/archives.html">Archives</a></li>
</ul>
<!--<hr> This prints orange line under the menu -->
</div>
<!-- Menu ends above this comment -->
</header>

<body>
<div class="container content">
<ul class="recent-posts">
<li>
<a href="/2014/May/logrotate-utility-on-linux.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Logrotate Utility on Linux">Logrotate Utility on Linux</span>
<span class="date" "2014-05-30T14:37:56+10:00"> Fri 30 May 2014</span>
</div>
</a>
<a href="/2014/May/install-puppet-dashboard-on-centos-65.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Install Puppet Dashboard on CentOS 6.5">Install Puppet Dashboard on CentOS 6.5</span>
<span class="date" "2014-05-20T23:10:23+10:00"> Tue 20 May 2014</span>
</div>
</a>
<a href="/2014/May/alert-by-email-when-server-is-up-and-running.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Alert by email when server is up and running">Alert by email when server is up and running</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>
<a href="/2014/May/bash-vulnerability-how-to-check.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Bash vulnerability how to check">Bash vulnerability how to check</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>
<a href="/2014/May/display-passowrd-policy-message.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Display passowrd policy message.">Display passowrd policy message.</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>
<a href="/2014/May/install-puppet-server-on-centos-65.html">
<div>
<span class="title" rel="bookmark" title="Permalink to Install Puppet Server on CentOS 6.5">Install Puppet Server on CentOS 6.5</span>
<span class="date" "2014-05-19T09:36:56+10:00"> Mon 19 May 2014</span>
</div>
</a>

</li>
</ul>
</div>

<footer>
<div class="container">
<div class="bio">
<br>
<a href="https://twitter.com/lanox_" class="twitter-follow">@lano</a> builds things by banging on a keyboard.
<ul class="social">
<li><a class="sc-github" href="http://github.com/lanox" target="_blank"><i class="fa fa-github"></i></a></li>
<li><a class="sc-twitter" href="http://github.com/lanox" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a class="sc-linkedin" href="https://br.linkedin.com/in/lanopuljic/en" target="_blank"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</footer><script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51180854-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-55c72deca9344b40" async="async"></script>
</body>
</html>