How to add OpenID to WordPress with Keycloak
Adding OpenID to Wordpress allows for existing users on a domain to connect without having to manage another account. In this setup, we will be using Keycloak to provide the existing accounts which the OpenID plugin will use.
There are a few plugins for Wordpress that allow this functionality, but we will be using OpenID-Connect-Generic by Daggerhart.
Keycloak Client Setup
First step is to create a client in Keycloak. In the Keycloak web UI, create an openid-connect client by going to Clients and click Create.
Making modals responsive in Oxygen Builder for Wordpress
I always thought that it would be impossible for me to make convincing looking websites. But I did learn it and enjoy it very much. But as soon as I’m ready with a new, beautiful web page on my screen, my joy is cut short by the fact that I still need to make it responsive. Learning website development is in fact a double battle: first learning the techniques to make nice things on a web page, and then learning another set of techniques on how to keep the design beautiful on smaller screens. In my experience, the latter battle is way bigger, and thus hope that sharing the lesson I learned will save someone from the agony I had to go through. I’ll focus on modals because making them responsive has been the toughest part for me.
Making wpcal.io work with Zimbra calendars
Scheduling meetings with email is annoying. When everyone is on the same timezone that kind of works, but tends to be slow. When you factor in timezone differences the process becomes really error-prone and slows down even more, often to several days. For this reason we wanted to provide people - including our customers - a way to easily schedule meetings with us.
We’re special in the sense that we self-host almost everything we use. For email and calendars we use Zimbra and for our website we use Wordpress. Most people seem to use Calendly as a meeting scheduler, but we ended up choosing wpcal.io which is a native Wordpress plugin and seems to work quite nicely.
How to Setup a Staging Wordpress Server
Having a staging server for Wordpress is quite useful for testing new features without the worry of breaking something in production. It is also helpful when you have a multi user environment and need to test something that could impact others. In this article it is assumed that your Wordpress instance has SELinux enabled as is the case on RHEL/CentOS for example. On other distros like Ubuntu or Debian you can omit the steps specific to SELinux.
Automatic publishing to LinkedIn now in operation
Our company is about infrastructure automation and products built on top of it. That means we really don’t want to do manually what a computer can do. Therefore it was not an option to publish our blog posts first in Wordpress, then copy-and-paste them to LinkedIn. Rather, let a Wordpress plugin configured as a LinkedIn app do the hard word. So, from now on all of our blog posts should get published automatically on our “Puppeteers Oy” LinkedIn page. Let’s hope that the automation does not break too often :).
Enabling PHP 7.4 on CentOS 7 with Puppet
The PHP version comes in default CentOS 7 repositories is rather horribly outdated. This is problematic when running Wordpress, which has to be upgraded constantly, and really old PHP versions may not be accepted, security-patched or not. The solution is to get updated PHP from the remi yum repositories. There are two sets of PHP packages as described here:
-
Install updated packages that replace the old PHP 5 packages (i.e. names are the same)