How do you install two or more RPM packages when they depend on each other?

Question:  How do you solve circular dependency problems when installing RPMs in RedHat Linux?
Problem Scenario:  For example, you keep trying to install different RPMs, but they always require a different installation.  By exhaustively going through the dependencies, you find a circle of dependencies.  This is sometimes called mutual recursion.

Root cause:  Human error.

Solution:  The way to resolve circular dependencies is with a yum localinstall command with a list of each of the RPM packages afterward.

 » Read more..

Possible Problems With Rendering PHP with Apache

Problem scenario
Your PHP code is being displayed in a raw fashion.  It is not being rendered or presented nicely as it should.  You see raw PHP text when you open a web browser and go to the .php page.  What should you do?

Solution
If the PHP page is blank (or completely white), see this posting.

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?

Solution:

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 openstack.org.  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:
http://specs.openstack.org/openstack/sahara-specs/

One points to this link:  http://specs.openstack.org/openstack/sahara-specs/specs/liberty/storm-scaling.html

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..