Уважаемые, Друпалоиды.
Помогите пожалуйста начинающему.
Настроил на локалхосте Lighttpd в связке с fastcgi, настроил чистые ссылки и редирект с www на домен без него (редирект проверен на ВПС). До этого настраивал на локалхосте все то же самое, но с Apache-м. ВПС на FreeBSD, а домашний компьютер на Ubuntu 8.10 (mod_rewrite соответственно дома не настроен).
При обращении к сайту по доменному имени выдает ошибку 403 - Отказано в доступе, а при обращении к сайту по доменному имени и имени файла (http://домен/index.php) страница загружается нормально.
Возможно ли, что проблема возникает именно из-за mod_rewrite у Apache?
Да и еще. Apache висит на 80 порту, а LightTPD на 8080 на одном сетевом интерфейсе. Между ними мог возникнуть конфликт?
Заранее благодарен всем, кто откликнется.
С уважением,
Михаил.
Комментарии
Не пользуйтесь ligHTTPd. Есть более оптимальная, гибкая, развивающаяся отечественная разработка: nginx - делает всё тоже, что и lighttpd + много чего другого. http://nginx.ru
Пробовал nginx. Он при аналогичной настройке даже статику не отдавал. Бросать его на 80 порт пока нет возможности. Не хочу останавливать сайт. Хочу сначала все настроить, а потом один раз перенести.
Да и LightTPD мне больше нравится. У них сообщество поприятнее.
Так может быть сталкивались с такими же проблемами на nginx? Я попробую спроэцировать решение на Lighty. Может получится.
Сталкивался. Как раз отказано в доступе. Просто у пользователя от которого работал nginx не было прав на чтение домашних каталогов пользователя, где лежали файлы, которые он должен был отдавать. И ещё по какой-то непонятной мне причине, nginx хочет прав на выполнение +x для всех каталогов, с которыми ему надо работать.
Почему не понятной? В юниксе +x на каталог означает возможность просмотра этого каталога, а +x для файлов - возможность их исполнения. По сути это разные права.
О правах +x не подумал. Спасибо, попробую, потом отпишусь.
Вы не правы +x на каталог не означает прав на его чтение, это даёт право входить в этот каталог, выполняя на него change directory. А вот права читать +x не даёт. Попробуйте сами. Да, тут я конечно, погорячился. Дело в том, что без +x для каталога +r не имеет смысла, потому как прочитать содержимое каталога при наличии только +r можно, а вот прочитать содержимое файла уже нет, обязательно нужен +x. Мдя, век живи - век учись, я почему-то думал другое
Да, именно так право на переход, попробовал, спасибо за уточнение. В общем для простоты, если нужно закрывать доступ к каталогу проще отбирать сразу rwx. Просмотр каталога без возможности перехода тоже не припомню, чтобы когда-нибудь был нужен, хотя можно придумать применение. Но я к тому, что в требованиях nginx не было ничего странного, если папки и файлы принадлежали другому пользователю. Сейчас впрочем почти все FS (во всяком случае в линуксе) стабильно поддерживают ACL, так что можно устраивать более гибкие проверки прав.
Зачем так сложнно? Я просто включаю пользователя nginx в группу пользователя владельца каталога/файлов. Таким образом можно обойтись без ACL'ей.
Столько бестолковых комментариев, а проблема решается парой строчек
В конфиг lighttpd нужно добавить следующее:
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.