Пример организации доступа к сайту с паролем через Apache.
Для начала у нас должны быть установлены утилиты Apache: apache2-utils
Если не установлены, то устанавливаем.
Для Ubuntu например так:
sudo apt-get install apache2-utils
Создаем файл с пользователем test и паролем:
sudo htpasswd -c /etc/apache2/.htpasswd test
Теперь в файле /etc/apache2/.htpasswd в шифрованном виде, понятном Apache лежит информация о пользователе и пароле.
Теперь добавляем аутентификацию для выбранного хоста в site-enabled:
<VirtualHost *:8080>
<Location />
Deny from all
#Allow from (Здесь можно добавить IP с которых будет возможен вход без пароля)
AuthUserFile /etc/apache2/.htpasswd # путь до файла apache с паролями
AuthName authorization
AuthType Basic
Satisfy Any
require valid-user
</Location>
...
</VirtualHost>