Configure Directory and File Access and Add Basic Authentication

1.5 hours
  • 3 Learning Objectives

About this Hands-on Lab

In this lab, we go over the fundamentals of directory and file access. The idea of this lab is to overwrite the default configuration and allow access to the two files in the `DocumentRoot` with `.htaccess`. On top of this, we need to cover basic authentication and IP-based access.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create the Access File
sudo touch /var/www/html/.htaccess
Configure Authentication and Access

Create a user and password along with the htaccess file

sudo htpasswd -c /var/www/htpasswd Joe
sudo vim /var/www/html/.htaccess

Insert into the file

AuthType Basic
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile "/path/to/file"
Require user Joe
Require ip [Your IP ADDRESS]

Save and Close

ESC
:wq
ENTER
Test the Configuration

Open your browser and navigate to http://SERVER_IP/index.html

Additional Resources

The initial SSH port is 61613 and that is the port we use to connect to server via SSH.

One of the most important things we can work on is to define which files and directories will be accessible and which will not. Do not confuse Apache web server permissions with the operating system permissions. They are two completely different sets of permissions, and the operating system permissions overrule any Apache server permissions. Apache allows for the administrator to define exactly which directories, files, and locations will be accessible.

In addition to this, it provides for IT-based access and basic username-password authentication. This is what we need to configure here. There are two files in the DocumentRoot which we need to grant access to by creating a .htaccess file and overriding the main configuration file. In addition to basic authentication requirements for this directory, we need to define per IP address access within this .htaccess file.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?