Would you like to learn how to configure the PAM authentication on the Apache server? In this tutorial, we are going to show you how to configure the Apache service to authenticate users using the Plugable Authentication module also known as PAM on a computer running Ubuntu Linux.

• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Apache 2.4.41

Equipment list

The following section presents the list of equipment used to create this tutorial.

As an Amazon Associate, I earn from qualifying purchases.

Apache - PAM authentication

Install the Apache server and the PAM module.

Copy to Clipboard

Enable the Apache2 PAM authentication module.

Copy to Clipboard

In our example, we are going to request authentication to users trying to access a directory named Test.

Create a directory named TEST and give the user named www-data permission over this directory.

Copy to Clipboard

Configure the Apache server to request the PAM authentication to users trying to access this directory.

Edit the Apache configuration file.

Copy to Clipboard

Here is the file, before our configuration.

Copy to Clipboard

Here is the file, after our configuration.

Copy to Clipboard

The Apache server was configured to request password authentication to access the directory named TEST.

The Apache service was configured to authenticate user accounts using the PAM authentication module.

Create the PAM configuration file.

Copy to Clipboard

Here is the file content.

Copy to Clipboard

In our example, we are going to authenticate the Apache service access using the Linux accounts.

Enable the Apache service to read the SHADOW file.

Copy to Clipboard

Restart the Apache service.

Copy to Clipboard

Congratulations! You successfully configured the Apache authentication.

Apache - PAM authentication Test

Create a Linux account to be used in the authentication test.

Copy to Clipboard

In our example, we created a Linux account named ADMIN.

The password configured was 123qwe.

Open your browser and enter the IP address of your Apache web server.

In our example, the following URL was entered in the Browser:

• http://192.168.15.11

The Apache default page will be displayed.

Apache default page

Open your browser and enter the IP address of your web server plus /test.

In our example, the following URL was entered in the Browser:

• http://192.168.15.11/test

On the login screen, Enter a local username and its password.

• Username: admin
• Password: 123qwe

Apache login form

After a successful login, you will be authorized to access the directory named TEST.

Apache Radius Authentication test

Congratulations! You have configured the PAM authentication on an Apache server.