Проблемы при настройке LightTPD

Главные вкладки

Аватар пользователя mvd3012 mvd3012 27 марта 2009 в 9:07

Уважаемые, Друпалоиды.

Помогите пожалуйста начинающему.

Настроил на локалхосте Lighttpd в связке с fastcgi, настроил чистые ссылки и редирект с www на домен без него (редирект проверен на ВПС). До этого настраивал на локалхосте все то же самое, но с Apache-м. ВПС на FreeBSD, а домашний компьютер на Ubuntu 8.10 (mod_rewrite соответственно дома не настроен).

При обращении к сайту по доменному имени выдает ошибку 403 - Отказано в доступе, а при обращении к сайту по доменному имени и имени файла (http://домен/index.php) страница загружается нормально.

Возможно ли, что проблема возникает именно из-за mod_rewrite у Apache?

Да и еще. Apache висит на 80 порту, а LightTPD на 8080 на одном сетевом интерфейсе. Между ними мог возникнуть конфликт?

Заранее благодарен всем, кто откликнется.

С уважением,
Михаил.

Комментарии

Аватар пользователя Azerot Azerot 27 марта 2009 в 9:10

Не пользуйтесь ligHTTPd. Есть более оптимальная, гибкая, развивающаяся отечественная разработка: nginx - делает всё тоже, что и lighttpd + много чего другого. http://nginx.ru

Аватар пользователя mvd3012 mvd3012 27 марта 2009 в 9:50

Пробовал nginx. Он при аналогичной настройке даже статику не отдавал. Бросать его на 80 порт пока нет возможности. Не хочу останавливать сайт. Хочу сначала все настроить, а потом один раз перенести.

Да и LightTPD мне больше нравится. У них сообщество поприятнее.

Так может быть сталкивались с такими же проблемами на nginx? Я попробую спроэцировать решение на Lighty. Может получится.

Аватар пользователя Azerot Azerot 27 марта 2009 в 10:24

Сталкивался. Как раз отказано в доступе. Просто у пользователя от которого работал nginx не было прав на чтение домашних каталогов пользователя, где лежали файлы, которые он должен был отдавать. И ещё по какой-то непонятной мне причине, nginx хочет прав на выполнение +x для всех каталогов, с которыми ему надо работать.

Аватар пользователя axel axel 27 марта 2009 в 16:02

Azerot wrote:
И ещё по какой-то непонятной мне причине, nginx хочет прав на выполнение +x для всех каталогов, с которыми ему надо работать.

Почему не понятной? В юниксе +x на каталог означает возможность просмотра этого каталога, а +x для файлов - возможность их исполнения. По сути это разные права.

Аватар пользователя Azerot Azerot 27 марта 2009 в 17:31

Вы не правы +x на каталог не означает прав на его чтение, это даёт право входить в этот каталог, выполняя на него change directory. А вот права читать +x не даёт. Попробуйте сами. Да, тут я конечно, погорячился. Дело в том, что без +x для каталога +r не имеет смысла, потому как прочитать содержимое каталога при наличии только +r можно, а вот прочитать содержимое файла уже нет, обязательно нужен +x. Мдя, век живи - век учись, я почему-то думал другое Smile

Аватар пользователя axel axel 27 марта 2009 в 17:42

Azerot wrote:
Вы не правы +x на каталог не означает прав на его чтение, это даёт право входить в этот каталог, выполняя на него change directory. А вот права читать +x не даёт. Попробуйте сами. Да, тут я конечно, погорячился. Дело в том, что без +x для каталога +r не имеет смысла, потому как прочитать содержимое каталога при наличии только +r можно, а вот прочитать содержимое файла уже нет, обязательно нужен +x. Мдя, век живи - век учись, я почему-то думал другое :)

Да, именно так право на переход, попробовал, спасибо за уточнение. В общем для простоты, если нужно закрывать доступ к каталогу проще отбирать сразу rwx. Просмотр каталога без возможности перехода тоже не припомню, чтобы когда-нибудь был нужен, хотя можно придумать применение. Но я к тому, что в требованиях nginx не было ничего странного, если папки и файлы принадлежали другому пользователю. Сейчас впрочем почти все FS (во всяком случае в линуксе) стабильно поддерживают ACL, так что можно устраивать более гибкие проверки прав.

Аватар пользователя Azerot Azerot 27 марта 2009 в 18:06

Зачем так сложнно? Я просто включаю пользователя nginx в группу пользователя владельца каталога/файлов. Таким образом можно обойтись без ACL'ей.

Аватар пользователя TS.ka TS.ka 25 июля 2010 в 6:31

Столько бестолковых комментариев, а проблема решается парой строчек Smile

В конфиг lighttpd нужно добавить следующее:

$HTTP["host"] =~ "^(ваш.домен.ru)" {
index-file.names =  ("index.php", "index.html", "index.shtml", "index.htm", "default.htm", "Default.aspx", "Default.asp", "index.pl")
}

Соответственно, файл индекса lighttpd выбирает из списка по порядку: ищет index.php, если не нашел, то ищет index.html, если не нашел, то index.shtml и т.д.

ЗЫ Вообще lighttpd очень гибкая (хотя на первый взгляд так не скажешь) и быстрая штуковина. У меня апач жрал 300-400Mb, а Lighttpd кушает всего 120-150Mb.