Задача

Закрыть сервер разработки базовой авторизацией Apache2, при этом, у локальных компьютеров авторизацию надо отключить. Плюс ко всему, к некоторым сайтам, для определённых ip-адресов доступ так же нужно разрешить (например, серверам с 1С).

Зачем закрывать?

Как минимум для того, чтобы поисковики не лакомились локальными копиями боевых сайтов.

Почему нельзя закрыть в robots.txt?

Тогда нельзя будет добавить robots.txt в систему контроля версий.

Решение

В /etc/apache2/apache2.conf:

<Directory /home/*/www/*>
    Options FollowSymLinks
    AllowOverride All

    Order deny,allow
    Deny from all
    AuthType Basic
    AuthName "Protected Area"
    AuthUserFile /home/user/etc/.htpasswd
    Require valid-user
    Allow from 192.168.0.1/24
    Satisfy Any
</Directory>

В /etc/apache2/sites-availables/ нужного хоста уже разрешаем доступ только определённому айпишнику:

<Directory /home/user/www/site.ru>
    Allow from 192.168.10.10
    Satisfy Any
</Directory>

И да пребудет с вами сила конфигов апача, в которых без стэковерфлоу не разберёшься.