Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: dvbb в May 14, 2010, 18:49



Титла: Apache Indexes
Публикувано от: dvbb в May 14, 2010, 18:49
Здравейте
Опитвам се да направя даден сайт като се отваря от вътрешната мрежа да се листва(Indexes) ако няма index.html index.htm index.php , а ако се отвори от вън да не може да се листне демек да отваря само ако има index , но да могат да се теглят файлове.

Извън локалната мрежа:
http://www.website.com/ - Forbidden - ако няма index
http://www.website.com/file.zip - да може да се тегли


Toва е конфигурацията на хоста.

<VirtualHost 192.168.0.1:85>
    DocumentRoot "/var/www/test"
    ServerName test.example.com
    DirectoryIndex index.php index.html
    <Directory "/var/www/test">
        AllowOverride All
        Options Indexes
        Order deny,allow
        Deny from all
        Allow from 192.168.0.7
    </Directory>
    </VirtualHost>

Грешката която ми дава като се опитвам да отварям от интернет е :
Forbidden

You don't have permission to access /file.zip on this server.


Титла: Re: Apache Indexes
Публикувано от: romeo_ninov в May 14, 2010, 19:22
създаваш два виртуални хоста, сочещи към едно и също място като отвън махаш индексите и allow, deny
иначе ред         Allow from 192.168.0.7 раазрешава тоталния достъп само от този хост


Титла: Re: Apache Indexes
Публикувано от: dvbb в May 14, 2010, 20:41
Целта е адреса от всякаде да е един и същ.


Титла: Re: Apache Indexes
Публикувано от: neter в May 14, 2010, 23:31
Добави това към виртуалния си хост:
Код:
<Location ~ "^/$">
    Order deny,allow
    Deny from all
    Allow from 192.168.0.7
</Location>
Имай в предвид, че директивата <Location> може да се въвежда само в основния конфигурационен файл или във файловете в папката conf.d, така че, ако си вписал виртуалния си хост в някой друг файл, ще се наложи да го преместиш ;)


Титла: Re: Apache Indexes
Публикувано от: dvbb в May 15, 2010, 09:15
Вече можеби ставам досаден но , трябва ако има index.html index.php да го отваря.


Титла: Re: Apache Indexes
Публикувано от: neter в May 15, 2010, 09:50
Вече можеби ставам досаден но , трябва ако има index.html index.php да го отваря.
Би трябвало да имаш вече описана директивата DirectoryIndex в основната конфигурация на apache, така че бих предположил, че това вече си е така. Намери къде е описано това и въведи там файловете, които искаш да се считат за индексни. Всеки файл може да се счита за индексен, стига да бъде описан в DirectoryIndex. Въпросната директива можеш да я опишеш и във виртуалния хост, ако искаш специфична настройка на директивата, която да действа само за този виртуален хост. Ако искаш индексният файл да не се отваря от външни потребители (т.е., отново да им показва Forbidden), можеш да добавиш това във виртуалния хост:
Код:
<Files index.*>
    Order deny,allow
    Deny from all
    Allow from 192.168.0.7
</Files>
Промени "index.*" на каквото искаш ;)


Титла: Re: Apache Indexes
Публикувано от: romeo_ninov в May 15, 2010, 11:53
Нетер, човека иска обратното, само ако е указан индекс файл или точно име на файл да се отваря отвън. От вътре да се отварят директориите като лист
(поне аз така го разбрах)


Титла: Re: Apache Indexes
Публикувано от: neter в May 15, 2010, 11:58
Нетер, човека иска обратното, само ако е указан индекс файл или точно име на файл да се отваря отвън. От вътре да се отварят директориите като лист
(поне аз така го разбрах)
Тогава DirectoryIndex се премахва за този виртуален хост и остава само това, което показах с <Location> :)