Страница 1 из 2

Запарился с апачем

Добавлено: 28 сен 2015, 20:55
blackdog
На рабочей машине все работает с конфигом site.conf

Код: Выделить всё

<IfDefine SITE>

    Alias /site/ /srv/www/site/httpdocs/
    <Directory /srv/www/site/httpdocs/>
       Options None
       order deny,allow
#       deny from all
       allow from all
#       Require all granted
    </Directory>
То есть в браузере набираю localhost/site/ и получаю содержимое index.html.
На домашней машине делаю все аналогично,но получаю 404.
Ситуация несколько меняется если перенести каталог с сайтом в папку /srv/www/htdocs/
То есть путь получается /srv/www/htdocs/site/httpdocs/.Но в этом случае получаю 403 ошибку,
в логах имею

Код: Выделить всё

Cannot serve directory /srv/www/htdocs/site/: No matching DirectoryIndex (index.html,index.html.var,index.php,index.php4,index.php5,index.php) found, and server-generated directory index forbidden by Options directive

Как видно апач игнорирует дополнительную папку httpdocs,в которой как раз и расположен Index.html.
Если же вынести index.html в папку site то страничка открывается(без картинок,не работают ссылки и т.д.)
Не могу понять почему так.
По пути /srv/www есть еще папка с кактусом,то есть путь вида /srv/www/cacti,кактуса апач видит нормально.
В чем затык?(права и владельца менял,безрезультатно)

Re: Запарился с апачем

Добавлено: 01 окт 2015, 03:10
Algoritm
Первое, что просилось в глаза это пути=)
В конфиге

Код: Выделить всё

/srv/www/site/httpdocs/
а на вашей, как я понял, домашней машине путь уже таков

Код: Выделить всё

 /srv/www/htdocs/site/httpdocs/
Во-первых папка site находится в www и после папка называется httpdocs а не htdocs. Трабл у вас в путях. Либо подгоните путь, как на вашей рабочей машине, либо воткните тот, по которому сайт сейчас

Re: Запарился с апачем

Добавлено: 01 окт 2015, 09:21
blackdog
Algoritm писал(а):Первое, что просилось в глаза это пути=)
В конфиге

Код: Выделить всё

/srv/www/site/httpdocs/
а на вашей, как я понял, домашней машине путь уже таков

Код: Выделить всё

 /srv/www/htdocs/site/httpdocs/
Во-первых папка site находится в www и после папка называется httpdocs а не htdocs. Трабл у вас в путях. Либо подгоните путь, как на вашей рабочей машине, либо воткните тот, по которому сайт сейчас
Не,тут проблема не в путях.
Сайт я расположил и в /srv/www/htdocs/site/httpdocs
и в /srv/www/site/httpdocsСделал я это с целью разобраться в чем же затык.
Выводы следующие-на работе oSUSE 13.1*32pae,апач

Код: Выделить всё

linux:/home/white # apache2ctl -V
Server version: Apache/2.4.6 (Linux/SUSE)
Server built:   2015-05-28 12:33:16.000000000 +0000
На этой машине все работает по обоим путям(разумеется меняю конфиг файл
изменяя в нем пути при обращении к разным папкам)
На этой машине странность такая
Как только в конфиг файле я делаю так

Код: Выделить всё

<IfDefine MYSITE>


	Alias /mysite/ /srv/www/htdocs/site/httpdocs/
	<Directory /srv/www/htdocs/site/httpdocs/>
	   Options None
#	   order deny,allow
	   allow from all
	</Directory>
И набираю в браузере loclhost/mysite/
То все работает прелестно.Но стоит изменить конфиг вот на это

Код: Выделить всё

<IfDefine SITE>


	Alias /site/ /srv/www/htdocs/site/httpdocs/
	<Directory /srv/www/htdocs/site/httpdocs/>
	   Options None
#	   order deny,allow
	   allow from all
	</Directory>
То при наборе localhost/site/выхватываю 403.
Если поправить конфиг на

Код: Выделить всё

<IfDefine SITE>


	Alias /site/ /srv/www/site/httpdocs/
	<Directory /srv/www/site/httpdocs/>
	   Options None
#	   order deny,allow
	   allow from all
	</Directory>
То ситуация так же аналогична.То есть апач отказывается искать index файл в папке
расположенной дальше чем /srv/www/site.Папку httpdocs он уже игнорирует.
Но как только меняю

Код: Выделить всё

<IfDefine SITE>
на

Код: Выделить всё

<IfDefine MYSITE>
Он тут же прекрасно все обрабатывает и по пути
/srv/www/site/httpdocs/ и по пути /srv/www/htdocs/site/httpdocs/
Почему так-я никак не пойму.
Дома ситуация еще интереснее.Так же oSUSE,но 13,2*64 и апач но 2.4.10 помоему
Там настройки идентичные,но вот папку /srv/www/htdocs/site/httpdocs
не обрабатывает вообще никак.Ситуация меняется если сам сайт вытащить из папки
httpdocs и расположить в папке /srv/www/htdocs/site/-в таком варианте все тут же взлетает
с любым вариантом

Код: Выделить всё

<IfDefine SITE>
А вот если сайт расположить в /srv/www/site или /srv/www/site/httpdocs
то 403 и все тут-права,владельцы-вообще пофигу.Хотя кактус работает
как раз из /srv/www/cacti без проблем.У меня уже мозги сломались от такого
разбега результатов при аналогичных настройках.Так же в упор не пойму
с чего на рабочей машине так влияет

Код: Выделить всё

<IfDefine SITE>
и

Код: Выделить всё

<IfDefine MYSITE>
.
И почему на домашней не обрабатывается /srv/www

Re: Запарился с апачем

Добавлено: 03 окт 2015, 17:06
Raven
Мне собственно совсем не понятно почему сделано все через if и alias. Почему бы не обойтись виртуалхостом?

Re: Запарился с апачем

Добавлено: 04 окт 2015, 19:05
blackdog
Raven писал(а):Мне собственно совсем не понятно почему сделано все через if и alias. Почему бы не обойтись виртуалхостом?
Тренировка и обучение

Re: Запарился с апачем

Добавлено: 05 окт 2015, 15:21
Phantom
Не хочу показаться снобом, но зачем вообще туда лепить <IfDefine SITE> ?
И без него прекрасно все работает.
И объясни по человечески, ты из дома пытаешся постучаться на работу или дома задуплил сервер?
И когда ты там чего либо переносишь ты site.conf меняешь?
Кстати перенос нифига не панацея.

Re: Запарился с апачем

Добавлено: 05 окт 2015, 18:04
blackdog
Phantom
И объясни по человечески, ты из дома пытаешся постучаться на работу или дома задуплил сервер?
Дома дублировал.
И когда ты там чего либо переносишь ты site.conf меняешь?
Само собой))
В общем то ребят ларчик просто открывался,
проблема в короткой памяти и невнимательности.
Причина отказа обрабатывать /srv/www/site/
при конфиге

Код: Выделить всё

<IfDefine SITE>

    Alias /site/ /srv/www/site/
    <Directory /srv/www/site/>
       Options None
       order allow,deny
#       deny from all
       allow from all
#           Require all granted
    </Directory>

</IfDefine>
Было отсутствие флага SITE в

Код: Выделить всё

APACHE_SERVER_FLAGS="CACTI SITE"
Как только добавил SITE так сразу все заработало.

Re: Запарился с апачем

Добавлено: 06 окт 2015, 09:36
Raven
О как!

Re: Запарился с апачем

Добавлено: 14 окт 2015, 11:40
blackdog
najatuw4646 писал(а):Мне собственно совсем не понятно почему сделано все через if и alias.
gclub online ผ่านเว็บ
blackdog писал(а):
Raven писал(а):Мне собственно совсем не понятно почему сделано все через if и alias. Почему бы не обойтись виртуалхостом?
Тренировка и обучение
Буду рад если предложите альтернативные варианты с пояснениями
преимуществ тех или иных методов,для новичков полезно
будет знать

Re: Запарился с апачем

Добавлено: 15 окт 2015, 08:51
Infernal Flame
blackdog
Этот точно не сможет... Он по-русски не разговаривает ;)