Password-protect access to an application with Apache
To configure Apache to request a username and password when accessing your application, follow these steps:
At the console, type the following commands. Remember to replace APPNAME, USERNAME and PASSWORD with the application name (for example, wordpress) desired username and desired password respectively.
$ cd /opt/bitnami $ sudo apache/bin/htpasswd -cb apache/APPNAME_users USERNAME PASSWORD
Edit the /opt/bitnami/apache/conf/vhosts/APPNAME-vhost.conf and /opt/bitnami/apache/conf/vhosts/APPNAME-https-vhost.conf files and modify them as shown below. In addition, find the line containing Require all granted line and comment it by placing a hash symbol (#) before it, as shown below:
<Directory "/opt/bitnami/APPNAME"> ... AuthType Basic AuthName MyAuthName AuthUserFile "/opt/bitnami/apache/APPNAME_users" Require valid-user Options -Indexes +FollowSymLinks -MultiViews AllowOverride None ... <IfVersion >= 2.3> # Require all granted </IfVersion> ... </Directory>
If your application has a proxy, add the following lines at the end of /opt/bitnami/APPNAME/conf/httpd-app.conf file:
<Location /> AuthType Basic AuthName "Authentication required" Require valid-user </Location>
Restart the Apache server:
$ sudo service bitnami restart
When accessing the application, you will see the following authentication popup window. Enter the username and password that you have defined in the first step:
To change the password later, run the htpasswd utility without the -c switch and replace the USERNAME placeholder with the username of the account you wish to modify:
$ sudo /opt/bitnami/apache/bin/htpasswd /opt/bitnami/apache/APPNAME_users USERNAME
To add another user to the same file, run the htpasswd utility without the -c switch and replace the USERNAME and PASSWORD placeholders with the new username and password you wish to add.
$ sudo /opt/bitnami/apache/bin/htpasswd -b /opt/bitnami/apache/APPNAME_users USERNAME PASSWORD