Спасибо за консультацию!
Есть тут одно но!
Вся прелесть в том, что у меня имеется утилтка на ПЕРЛе, которая за несколько
сукнд в режиме он-лайн генерит файл .htaccess в любой директории! Вот поэтому я
и решил добить этот метод защиты директории
Те я любую паку смогу закрыть на серваке не правя никакие конфиги!
-----Original Message-----
From: "Андрей Федоров" <alf@xxxxxxxxxxxxxxxxx>
To: <apache-talk@xxxxxxxxxxxxx>
Date: Thu, 8 Nov 2001 09:31:01 +0400
Subject: Re: [apache-talk] Access to directory ...
>
> IMHO проще закрыть всю папку и .htaccess не нужен будет :)
> Пропиши в виртуалхост:
>
> <Location /admin>
> AuthType Basic
> AuthName admin
> AuthUserFile "d:\Apache\conf\users_file"
> AuthGroupFile "d:\Apache\conf\groups_file"
> require group localhost-admin
> </Location>
>
> И создай в папке conf 2 файла (group_file и users_file).
> В файле групп, для каждой группы есть строка такого вида:
> localhost-admin: username anotherusername
> А второй фаил содержит пароли для юзеров и создается (обновляется) с помощью
htpasswd.exe
>
> Если есть вопросы по настройки апачи для винды, то пиши на мыло или ICQ
67763009, помогу.
>
>
> ----- Original Message -----
> From: "Artem Sokovtcev" <eika@xxxxxxx>
> To: <apache-talk@xxxxxxxxxxxxx>
> Sent: Wednesday, November 07, 2001 1:05 AM
> Subject: [apache-talk] Access to directory ...
>
>
> > Здравствуйте, уважаемые apache-гуру!
> >
> > Имею проблему по настройке Apache при работе совместно с .htaccess
> >
> > Помогите мне пожалуйста!! Буду Вам очень признателен!
> >
> > У меня используется Апач 1.3.14 под Windows. Он установлен на
> > http://localhost. Файлы httpd.conf и .htaccess в конце этого письма.
> >
> > У меня стоит задача, чтоб обращение по адресу http://localhost/admin/
> > заканчивалось выдачей мне индексного файла index.shtml.
> > Само собой эта директория должна быть защищена с помощью .htaccess.
> >
> > "htdocs" - это корневая директория файлов сервера.
> >
> > Так вот. У меня в директории "admin" лежит один единственный индексный файл
> > index.shtml. При обращении по адресу с указанием полного пути и имени файла
> > (напр: http://localhost/admin/index.shtml) все в порядке - появляется окно
> > идентификации (те .htaccess работает).
> >
> > А если обратиться к этой папке без указания названия файла (напр:
> > http://localhost/admin/), то вместо запроса логина и пароля вылазит 401
> > ошибка, хотя файл index.shtml указан в httpd.conf как индексный. Сразу хочу
> > сказать, что с незащищенными директориями таких проблем нет, т.е. обращение
> > к любой другой директории (напр: http://localhost/rus/) без указания в пути
> > названия файла заканчивается выдачей мне индексного файла
> > (напр:http://localhost/rus/index.shtml).
> >
> > Я уверен что проблема в неправильной настройке httpd.conf, но я не могу
> > найти ошибку!!!
> >
> >
> > ______________________________________________________
> > ##
> > ## httpd.conf -- Конфигурационный файл сервера Apache HTTP
> > ##
> > #
> > # После того, как сервер просмотрит это файл, затем он будет смотреть
> > # на srm.conf и access.conf. Если вы не хотите перезаписи параметров,
> > # используйте команды ResourceConfig и/или AccessConfig.
> > #
> > # Конфигурационные параметры сгруппированы в три секции
> > # 1. Команды, которые контролируют весь Apache сервер
> > # 2. Команды, которые контролируют сервер по умолчанию (сервера 'main' или
> > 'default'),
> > # и действие которых не распространяется на области, контролируемые
> > виртуальными серверами.
> > # 3. Установки для виртуальных серверов, которые позволяют обрабатывать
> > запросы для серверов,
> > # которые располагаются на одном ip адресе, несмотря на то, что они
> > обрабатываются одним
> > # и тем же процессом.
> > #
> > # Во все имена и пути файлов, которые не начинаются с "/", будет выполнена
> > подстановка
> > # переменной ServerRoot. То есть, если вы указали путь "logs/foo.log" при
> > установленном
> > # ServerRoot в /usr/local/apache, то полный путь будет
> > /usr/local/apache/logs/foo.log
> > #
> > ### Раздел 1: Общие настройки
> > # Показывает тип запуска программы httpd - она может вызываться через inetd
> > (inetd)
> > # или как отдельный демон (standalone). По умолчанию вызывается как
> > отдельный демон.
> > # Режим inetd поддерживается только на Unix-платформах.
> > ServerType standalone
> >
> > # ServerRoot директива устанавливает корневой каталог сервера (именно
> > сервера, а не каталога,
> > # из которого будет производиться чтение документов).
> > # Обычно он содержит подкаталоги conf/ и logs/. Пути для других файлов
> > конфигурации устанавливаются относительно этого каталога.
> > # НЕ добавляйте слэш "/" в конец пути.
> > ServerRoot "c:/Program Files/Apache Group/Apache"
> >
> > # PidFile директива устанавливает файл, в котором сервер записывает
> > идентификатор процесса daemon.
> > # PidFile используется только в standalone режиме.
> > PidFile logs/httpd.pid
> >
> > # ScoreBoardFile - файл, используемый для сохранения внутренней информации
> > сервера. Не все
> > # архитекруры требуют этот файл. Но если он нужен - Apache сам создаст этот
> > файл.
> > # ScoreBoardFile logs/apache_status
> >
> > # Время в секундах, по истечению которого, при отсутствии запросов сервер
> > прерывает связь с клиентом.
> > Timeout 300
> >
> > # Разрешать (On) или нет (Off) множественные запросы через одно TCP
> > соединение.
> > KeepAlive On
> >
> > # Максимальное количество запросов через одно TCP соединение.
> > MaxKeepAliveRequests 100
> >
> > # Время ожидания следующего запроса в секундах.
> > KeepAliveTimeout 15
> >
> > # Максимальное количество запросов, который обрабатывает процесс до
> > завершения работы.
> > MaxRequestsPerChild 0
> >
> > # Listen - позволяет вам заставить Apache прицепляться к указанному ip
> > адресу и/или порту в дополнение к установкам по умолчанию.
> > #Listen 3000
> > #Listen 12.34.56.78:80
> >
> > # Количество одновременных нитей (к примеру, запросов), разрешённых
> > сервером.
> > # Устанавливайте значение этого параметра в соответсвии с загруженностью
> > сервера.
> > # Большое количество одновременных запросов притормозит сервер.
> > # Так что выбирайте этот параметр в соответсвии с количеством системных
> > ресурсов, доступных серверу. По умолчанию - 15
> > ThreadsPerChild 25
> >
> > # Подгрузка модуля, помечающего выдаваемые файлы как устаревшие немедленно
> > после выдачи (чтобы они не кэшировались в браузере)
> > LoadModule expires_module modules/ApacheModuleExpires.dll
> > ExpiresActive On
> > ExpiresByType text/html "access plus 5 seconds"
> > ExpiresByType text/plain "access plus 5 seconds"
> > ExpiresByType image/gif "access plus 5 seconds"
> > ExpiresByType image/jpeg "access plus 5 seconds"
> > ExpiresByType text/css "access plus 5 seconds"
> > ExpiresByType application/x-javascript "access plus 5 seconds"
> > ExpiresByType application/x-httpd-php "access plus 5 seconds"
> > ExpiresByType application/x-httpd-php-source "access plus 5 seconds"
> >
> > # Проверка правильности URL'ов 'на лету' - сервер пытается исправлять ошибки
> > в УРЛах самостоятельно.
> > # Это полезно, когда вы используете Apache для тестирования сайта. Иначе
> > выкиньте этот блок на фиг.
> > # LoadModule speling_module modules/ApacheModuleSpeling.dll
> > # CheckSpelling On
> >
> > # Подгрузка модуля получения информации о состоянии Apache через браузер
> > # Наберите http://вашсервер/server-status
> > # и/или http://вашсервер/server-info и радуйтесь
> > LoadModule status_module modules/ApacheModuleStatus.dll
> >
> > # ExtendedStatus указывает серверу генерировать "полную" статусную
> > информацию
> > # (ExtendedStatus on) или только основную (ExtendedStatus Off) при вызове
> > обработчика
> > # "server-status". По умолчанию Off.
> > ExtendedStatus On
> >
> > # Подгружается модуль, обеспечивающий работу "server-status" и "server-info"
> > LoadModule info_module modules/ApacheModuleInfo.dll
> > <Location /server-status>
> > SetHandler server-status
> > Order allow,deny
> > Allow from all
> > </Location>
> > <Location /server-info>
> > SetHandler server-info
> > Order allow,deny
> > Allow from all
> > </Location>
> >
> > ### Раздел 2: Конфигурация основного сервера
> > # Эти команды устанавливают реакцию сервера на запросы, которые не
> > обрабатываются
> > # установками <VirtualHost>. Так же эти установки являются установками по
> > умолчанию для всех определений в <VirtualHost>.
> > # Все эти команды вы можете разместить и в внутри <VirtualHost>. В этом
> > случае параметры будут переписаны на значения,
> > # указанные там.
> > # Если параметр ServerType установлен в inetd, то следующие команды до
> > ServerAdmin не будут иметь никакого эффекта.
> > #
> > # Port - номер порта, на котором сервер будет принимать запросы. Для портов
> > меньше 1024 вы должны обладать
> > # правами root при первоначальном запуске.
> > # См. /etc/services для списка некоторых определенных портов; стандартный
> > порт для http протокола - 80.
> > Port 80
> >
> > # Email админа подставляется в сообщения об ошибках
> > ServerAdmin eika@xxxxxxx
> >
> > # ServerName директива устанавливает hostname сервера; это используется
> > только для переадресации URLs.
> > # Если она не определена, то сервер пытается вывести ее из собственного
> > IP-адреса, но это может работать не надежно,
> > # или может не возвращать привилегированное hostname.
> > ServerName localhost
> >
> > # Каталог, из которого будет производиться чтение документов. По умолчанию,
> > все документы берутся из этого каталога.
> > DocumentRoot "c:/Program Files/Apache Group/Apache/htdocs"
> >
> > # Каждый каталог, до которого сервер имеет доступ, может быть
> > сконфигурирован по своему.
> > # Значения действующие в каталоге, распространяются и на все его
> > подкаталоги, если не указано иное.
> > # По умолчанию настройки не устанавливают сколь-нибудь высокий уровень
> > безопастности.
> > # Каждый каталог, к которосу имеет доступ Apache должен быть внимательно
> > описан
> > # и в нём должны быть разрешены/запрещены те службы, которые будут
> > обрабатывать документы в данном каталоге (и его подкаталогах).
> > # Запомните, что начиная с этой точки, вы должны разрешить использование
> > # каждой функции, которую вы планируете использовать.
> > # Значения могут быть None, All или любая комбинация Indexes, Includes,
> > FollowSymLinks ExecCGI или MultiViews
> > # Запомните, что значение MultikViews должно быть указано отдельно -
> > "Options All" не включает его.
> > <Directory />
> > Options Indexes Includes FollowSymLinks MultiViews
> > AllowOverride None
> > </Directory>
> >
> > # Это значение должно быть заменено на то, куда указывает DocumentRoot.
> > <Directory "c:/Program Files/Apache Group/Apache/htdocs">
> > Options Indexes Includes FollowSymLinks MultiViews
> > AllowOverride None
> > Order allow,deny
> > Allow from all
> > </Directory>
> >
> > # UserDir - название каталога, которые располагается в домашних каталогах
> > # пользователей и к которому будет произведено обращение в ответ на запрос
> > # http://server/~user
> > # UserDir "c:/Program Files/Apache Group/Apache/users/"
> >
> > # Типа список индексных файлов
> > DirectoryIndex index.shtml index.php index.html index.htm
> >
> > # AccessFileName - имя файла, в котором будут располагаться команды
> > управления доступом
> > AccessFileName .htaccess
> > <Files .htaccess>
> > Order allow,deny
> > Deny from all
> > </Files>
> >
> > # Разрешает использование коротких имен в URL'ах. Удобно при использовании в
> > Intranet-серверах.
> > # Если включено (on), преобразует что-то типа http://www/stat в
> > http://www.твой-домен.ru/stat,
> > # если отключено (off), преобразования не происходит.
> > UseCanonicalName Off
> >
> > # определяет полный или относительный путь к файлу mime.types. Путь по
> > умолчанию: conf/mime.types
> > TypesConfig conf/mime.types
> >
> > # Этот параметр определяет MIME тип документа по умолчанию, передаваемого
> > клиенту
> > # в случае невозможности автоматического распознавания. Если на вашем
> > сервере находятся в основном текстовые документы,
> > # разумным выбором будет text/plain. Если же на вашем сервере больше
> > двоичной информации, вам будет удобнее оставить
> > # application/octet-stream чтобы не напрягать браузер отображением картинок,
> > музыки и т.д. в текстовом виде.
> > DefaultType text/plain
> > <IfModule mod_mime_magic.c>
> > MIMEMagicFile conf/magic
> > </IfModule>
> >
> > # Определяет, будут ли записываться в логи имена (on) или только ip(off)
> > хостов, заходящих на сайт. По умолчанию off.
> > HostnameLookups Off
> >
> > # Директива файла регистрации ошибок устанавливает имя файла, в котором
> > сервер регистрирует любые ошибки
> > # с которыми он сталкивается. Если имя файла не начинается с символа слеш
> > (/), то путь к файлу
> > # устанавливается относительно ServerRoot.
> > ErrorLog logs/error.log
> >
> > # Контролирует количество сообщений, записываемых в error.log.
> > # Возможные значения: debug, info, notice, warn, error, crit, alert, emerg.
> > По умолчанию - warn.
> > LogLevel warn
> >
> > # Описание различных форматов записи логов. Имя формата используется в
> > директиве CustomLog.
> > LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
> > combined
> > LogFormat "%h %l %u %t \"%r\" %>s %b" common
> > LogFormat "%{Referer}i -> %U" referer
> > LogFormat "%{User-agent}i" agent
> >
> > # Расположение и формат файлов, в которые пишется информация о скачанном.
> > # Если вы не определите ни одного файла логов в <VirtualHost>, все записи
> > # попадут в этот файл, Если определите, то записи для виртуальных серверов
> > # в этот файл не попадут.
> > CustomLog logs/access.log common
> >
> > # Если вы желаете записывать в лог файлы браузеры пользователй и указания,
> > откуда
> > # пришел пользователь, то раскомментируйте следующие команды.
> > CustomLog logs/referer_log referer
> > CustomLog logs/agent_log agent
> >
> > # Подпись сервера - возможные варианты Off | On | EMail
> > ServerSignature on
> >
> > # Синонимы - добавте так много синонимов для сервера, сколько пожелаете.
> > Формат Alias синоним реальное имя.
> > # Запомните, что если вы включаете заключительный слэш "/" в синоним, то
> > сервер будет требовать, чтобы
> > # "/" присутствовал и в УРЛе. К примеру, /icons не является ничьим
> > синонимом, только /icons/
> > # <IfModule mod_alias.c>
> >
> > # Основная папка cgi-bin. Здесь надо добавлять слэш "/" к пути к папке
> > скриптов (так делают авторы Апача).
> > ScriptAlias /cgi-bin/ "c:/Program Files/Apache Group/Apache/cgi-bin/"
> > <Directory "c:/Program Files/Apache Group/Apache/cgi-bin">
> > AllowOverride None
> > Options ExecCGI
> > </Directory>
> >
> > # А где у нас живёт PHP?
> > ScriptAlias /php/ "c:/php/"
> > <Directory "c:/php">
> > AllowOverride None
> > Options ExecCGI
> > </Directory>
> >
> > # Файлы с какими расширениями считаются у нас PHP-скриптами?
> > AddType application/x-httpd-php .php
> > AddType application/x-httpd-php .php3
> > AddType application/x-httpd-php .phtml
> > AddType application/x-httpd-php-source .phps
> > Action application/x-httpd-php /php/php.exe
> > Action application/x-httpd-php-source /php/php.exe
> >
> > # Файлы с какими расширениями считаются у нас CGI-скриптами?
> > AddHandler cgi-script .cgi .pl .bat .exe
> >
> > # В каких файлах обрабатываются SSI-директивы?
> > AddType text/html .shtml
> > AddHandler server-parsed .shtml
> > AddHandler server-parsed .shtm
> >
> > # В каких файлах обрабатываются Parser-директивы? (см. www.parser.ru)
> > AddType parsed-html .html
> > Action parsed-html /cgi-bin/parser2.exe
> > <Files ~ "\.cfg$">
> > Order allow,deny
> > Deny from all
> > </Files>
> >
> > # Как показывать каталог - стандартно (standartd) или с иконкам
> > (FancyIndexing)?
> > IndexOptions FancyIndexing
> >
> > # IndexIgnore указывает серверу, какие файлы необходимо исключить из списка
> > показываемых
> > IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
> >
> > # AddEncoding позволяет вам указать тип файла, который позволит некоторым
> > браузерам распаковывать информацию
> > # на лету. Замечание - не все браузеры поддерживают эту опцию.
> > AddEncoding x-compress Z
> > AddEncoding x-gzip gz tgz
> >
> > # Что мы говорим посетителю, ежели у нас Error XXX ?
> > ErrorDocument 400 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
> > 2.0//EN"><html><body><H1>Apache Error 400:</H1><blockquote><code>Извините,
> > но ваш браузер выдал неполный или ошибочный запрос. Пожалуйста, проверьте
> > правильность работы вашего программного
> > обеспечения.</code></blockquote></body></html>
> > ErrorDocument 401 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
> > 2.0//EN"><html><body><H1>Apache Error 401:</H1><blockquote><code>Извините,
> > но доступ к странице закрыт. Проверьте правильность ввода имени и
> > пароля.</code></blockquote></body></html>
> > ErrorDocument 403 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
> > 2.0//EN"><html><body><H1>Apache Error 403:</H1><blockquote><code>Извините,
> > но у вас нет прав для просмотра этой страницы.<br>В доступе
> > отказано.</code></blockquote></body></html>
> > # ErrorDocument 404 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
> > 2.0//EN"><html><body><H1>Apache Error 404:</H1><blockquote><code>Извините,
> > но требуемая страница не найдена на
> > сервере.</code></blockquote></body></html>
> > ErrorDocument 500 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
> > 2.0//EN"><html><body><H1>Apache Error 500:</H1><blockquote><code>Извините,
> > но при выполнении скрипта сервером произошла ошибка.<br>Попробуйте
> > обратиться к странице позднее.</code></blockquote></body></html>
> > ErrorDocument 404 /404.html
> >
> > # запрещает постоянные соединения браузерам, которые не поддерживают их.
> > BrowserMatch "Mozilla/2" nokeepalive
> >
> > # запрещает MSIE 4.0b2 отдавать заголовки в стандарте HTTP/1.1, так как
> > поддержка этого стандарта некорректна в данной версии
> > BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
> >
> > # запрещает ответы по стандарту HTTP/1.1 тем браузерам, которые не понимают
> > ответы в этом стандарте.
> > BrowserMatch "RealPlayer 4\.0" force-response-1.0
> > BrowserMatch "Java/1\.0" force-response-1.0
> > BrowserMatch "JDK/1\.0" force-response-1.0
> >
> > ### Раздел 3: Виртуальные сервера
> > # Если вы желаете поддерживать много доменов на своей машине, вы должны
> > использовать <VirtualHost> для их определения.
> > # Многие виртуальные сервера не должны беспокоиться о том, что они все
> > находятся на одном ip адресе.
> > # Такие значения помечаются *
> > # Пожалуйста, обратите внимание на http://www.apache.org/docs/vhosts/ для
> > получения дополнительной информации.
> > # Вы можете использовать в коммандной строке опцию -S для проверки
> > конфигурации ваших виртуальных серверов.
> > # Используем хостинг виртуальных серверов, основанный на именах.
> > # Почти любая команда Apache может использоваться внутри <VirtualHost>
> > <VirtualHost 127.0.0.2>
> > # Имя сервера, с которым в файле HOSTS связан IP-адрес 127.0.0.2
> > ServerName www.asia-pacific.ru
> > ServerAdmin eika@xxxxxxx
> > # Cледите, в какую строну направлены косые черты!
> > DocumentRoot "c:/Program Files/Apache Group/Apache/htdocs"
> > <Directory "c:/Program Files/Apache Group/Apache/htdocs">
> > Options Includes FollowSymLinks MultiViews
> > AllowOverride None
> > Order allow,deny
> > Allow from all
> > </Directory>
> > ScriptAlias /cgi-bin/ "c:/Program Files/Apache Group/Apache/cgi-bin/"
> > ErrorLog "logs/error.log"
> > # А в этот файл сервер пишет, какие файлы он выдаёт браузеру. У него есть
> > сволочная привычка быстро разрастаться
> > # до чудовищных размеров, не забывайте его периодически чистить.
> > CustomLog "logs/custom.log" common
> > </VirtualHost>
> > _______________________________________________
> >
> > .htaccess
> > #################################
> >
> > AuthName "Input password"
> > AuthType Basic
> > AuthUserFile "C:/Program Files/Apache Group/Apache/htdocs/admin/.htpasswd"
> > <Files *.*>
> > require valid-user
> > </Files>
> > #################################
> >
> >
> >
> > With the best regards,
> > Artem Sokovtcev
> >
> >
> >
=============================================================================
> > = Apache-Talk@xxxxxxxxxxxxx mailing list
=
> > Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to
quit.
> > = Archive avaliable at http://www.lexa.ru/apache-talk
=
> >
> >
>
> =============================================================================
> = Apache-Talk@xxxxxxxxxxxxx mailing list =
> Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
> = Archive avaliable at http://www.lexa.ru/apache-talk =
>
>
With the best regards,
Artem Sokovtcev
______________________________________________________________
| Project manager, Advanced Design Team | http://www.adt.ru
| eika@xxxxxxx | ICQ # 67049067 | Pager: 974-0111, ab. # 91119
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.