Logo       PBase-Foundation


Installing and configuring a Linux server can be challenging. PBase-Foundation is a set of configurable RPM installers that provide a foundation for servers and desktops that work consistently across several versions of the Red Hat Enterprise Linux operating system family. Several application stack installers are provided using these RPM components.

Our Almost Famous 4-Minute Installation

Here's how to stand up a WordPress instance on an Apache server with a MySQL database.

echo "" > /root/DEFAULT_SUB_DOMAIN.txt
echo "myaddress@myemailprovider.com" > /root/DEFAULT_EMAIL_ADDRESS.txt
yum -y install https://pbase-foundation.com/pbase-repo.rpm
yum -y install pbase-preconfig-mysql-wordpress
yum -y install pbase-wordpress-allinone
yum -y install pbase-lets-encrypt

Additionally, you may want to lock down SSH access and enable the firewall.

yum -y install pbase-ssh-fail2ban
yum -y install pbase-firewall-enable

The goal of the PBase project is to provide base RPM packages for use as starting points for products. A product-base or "pbase" for short.

Many of the PBase RPMs are configurable with "preconfig" JSON files that override the default settings. This enables entire application stacks to be configured and installed with ease.


Requires a Red Hat Enterprise Linux (EL) compatible operating system such as:

  • Red Hat EL 7, 9 or 8
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • CentOS 7 or 8, 9
  • Oracle Linux 8, 9
  • Amazon Linux 2 AMI, 2022
  • Fedora 3x (tested on Fedora versions 32 through 38 for most RPM components)

(Only x86_64 architecture packages have been tested. But many of the packages work correctly on ARM aarch64 machines.)

All yum install commands must be run as root user, or using sudo.


If your server has its domain name registered in DNS our RPMs can generate a valid HTTPS certificate with Let's Encrypt. Several of the application stacks assume a valid DNS is ready and will do just that.

Check hostname AND domain name:
Make sure the target server's hostname command returns the fully qualified hostname. If needed, change it with the hostnamectl command, substituting your correct value:

hostnamectl set-hostname myhost1.myrealdomainname.net

Also be sure the target server's hostname -d command returns the correct domainname.

Check /etc/hosts file:
Be sure the target server's /etc/hosts file is correct.