How To Potentially Solve an HTTP 403 Error on An Apache Server

Problem scenario:  You are trying to access a file on a website.  But you get the 403 Forbidden error every time.  What are some different things to look for to fix this problem?


If you do not have access to the back-end of the web server, try these:

  1. Clear the cache/history from your web browser 
  2. Clear the cookies from your web browser 
  3. If you are using wget,

 » Read more..

OpenStack Sahara Documentation

Some open source projects don’t always listen to contributors’ feedback.  We reported a couple errors that we found in OpenStack documentation to  Here are the errors we saw (as of 2/2/17):

#1  If you go to this link, you’ll find two “Storm EDP” links:

One points to this link:

We see no reason why the title/header of this above page is “Storm EDP” and not “Storm Scaling.”  My attempt at a contribution was to not have two “Storm EDP” links in the first link of this post. 

 » Read more..

SaltStack Technology and Terminology

SaltStack provides for more complex configuration management than Ansible (another Python-based) configuration management tool.  Some people have criticized Salt for having too many new vocabulary words.  Like all complex technologies, they take time getting used to.  To help learn about Salt, I thought I’d provide an overview.

An SLS file is a SaltStack State file.  This file is the basis for determining the desired configuration of the client servers that are called Salt Minions. 

 » Read more..

Containerization Has Its Advantages Over Virtualization

Containers, such as Docker, communicate to each other through a shared kernel.  Guest virtual machines communicate to each other through the hypervisor or host operating system.  Containers enjoy faster communication as staying within a shared kernel allows for more rapid communication than leaving a virtual machine and going out to a hypervisor (or host operating system) to communicate with another virtual machine.  Containers allow for sequestration of processes and fewer operating systems licenses compared to having a comparable solution with virtual machines. 

 » Read more..

How do you use the source keyword in Puppet’s DSL (when writing a manifest)?

When writing a Puppet manifest you can use the “content” reserved word.  You then have quotes around the actual text content of this file right in the manifest itself.  This works for a file that you want to create on a Puppet Agent server as long as the content is roughly one line of text.  But for a binary file, this will not work (as it cannot appear in the manifest).  The “source” reserved word allows you to point to a specific file on the Puppet Master server. 

 » Read more..

Six Puppet Configuration Tips

Deploying Puppet Master and Puppet Agents for the first time can involve a significant amount of troubleshooting.  In this post, I want to review six miscellaneous points that may arise.  These are somewhat random, but they can serve in the rudimentary stages of quickly getting a proof of concept established.

1.  With a default configuration, Puppet Master on Linux will run manifests with only one name in only one location: /etc/puppet/manifests/site.pp

Many DevOps engineers do use manifests with different names. 

 » Read more..

Ansible Managing Windows Servers

While as of right now, there is not a great way to install Ansible on Windows servers (because you have to install cygwin).  Ansible running on Linux can readily configure Windows servers and push files down to them.  There are some things to look out for when setting this up.  It is not overly documented on Ansible’s website.  Some documentation (on various websites) tells DevOps engineers (or the professional using Ansible) to use a windows.yml file in a group_vars directory. 

 » Read more..

How Do You Set Up Passwordless SSH to a Windows Server?

Problem scenario
Are are asking yourself “why am I being prompted for a password when my SSH keys were set up correctly?”  When the contents of the .pub file (the public key) are placed into the authorized_keys file (in the /home/jdoe/.ssh/ folder of a client machine), the user should be able to SSH over to the server with no password — unless the SSH key was generated with a passphrase. 

 » Read more..

Moving a Windows .txt file to a Linux Server

Problem scenario:  When you move a Windows .txt file to a Linux server, new characters can be introduced.  For example, the content of the file can have a “^M” (with no quotes) at the end of every line.  Sometimes tr, sed, and awk won’t work to remove this new jibberish (extraneous characters).  Moreover, sometimes the substitute command in vi will fail to do anything about these extraneous characters (^M).  How do you eliminate these extra characters at the end of every line? 

 » Read more..

Apache Software Foundation Has Imperfect Websites

“Documentation plays a great role in the maintenance of a project.”  (Page 19, Learn Apache Ant,, 2014) 

The open source movement is no exception.  As much as we admire The Apache Software Foundation, we are disappointed that they don’t correct errors. We’ve submitted the first two errors below to them.  However, mistakes remain. Here are some errors to help other people who may be confused:

#1 was corrected.  

 » Read more..