Create Private Directory
Here we will make things a little more difficult, we are going to create our new directory outside the apache default document root, which means, we will need to manually handle SELinux policy. We will get into detail how to do that soon, but first lets create our new private directory.
Set file permissions.
Ok, here is where things get a little more complicated. Lets first have a look of the SELinux file context of the default document root.
Ok, now we knew how things should look like. Now lets look how things currently look in our new directory.
The thing you always should try first, is to try to restore default SELinux policy. Lets do that.
Ok, so the last part that is missing is the file context. We can set that with semanage (policycoreutils-python package).
And to verify.
Now we only need to restorecon on our new private directory.
Configure Private Directory
Now lets begin to add our new private directory as public and test.
Restart apache and test our new private directory. If things are not working go back and fix it.
Now we are going to add user authentication, but before that you might want to install apache manual.
We will here configure a basic authentication with file containing our user credential.
To create the user credential
And now finally restart and test your new private directory.