Вебстроительское Тут попробовал поставить YaBB2 и мне очень не понравилось. В инструкции по инсталляции рекомендуется на много какие файлы и каталоги ставить права 777 или 666, данные предлагается хранить в каталоге со скриптами etc. Большая часть прочих форумных движков которые я видел, вообще написаны на PHP. Наличие интерпретатора внутри апача меня не устраивает. Апач от этого пухнет, а сервер дохнет. В смысле, нагрузку не держит. Соответственно, ничего подходящего вообще не нашлось. А ведь функциональность форума вообще говоря минимальная. Древовидного комментирования почти нигде нет, иерархия с ограниченным числом уровней etc. Если грамотно сформулировать техзадание, пишется за три вечера. Вот и попробую эту функциональность сформулировать: архитектура 1. Минимальные требования к серверу. Т.е. от сервера требуется только perl 5.8 с модулями, входящими в комплект и работающим flock, и web-сервер, умеющий исполнять CGI-скрипты. Все скрипты в taint mode. 2. Все что можно отдавать статикой, отдавать статикой. Если ради этого придется пожертвовать возможностью создания форумов с ограниченным доступом, хрен с ними. Web-форумы - штука публичная. 3. От клиента требуется графический браузер с включенным javascript. Поскольку иначе кастомизацию статической страницы не сделаешь. А у клиента процессорных тактов всяко больше, чем у сервера. Седую древность вроде IE 4.0, Netscape 2.0 и т.д. не поддерживаем. 4. Отделение данных от кода и публичных данных от непубличных (непубличными данными являются только пароли и E-Mail-ы юзеров, а также права доступа). Система должна позволять используя один и тот же комплект скриптов на нескольких виртуальных сайтах на одном сервере поддерживать совершенно разные форумы с непересекающимся множеством пользователей. 5. Полный контроль над внешним видом форума со стороны дизайнера шаблонов. Шаблоны должны проходить HTML-валидатор (для упрощения ловли глюков дизайна). Описание того, чем отличается шаблон от просто HTML-странички должно занимать не более страницы текста. Количество шаблонов не должно превышать десятка. 6. Резервное копирование пользователь, имеющий доступ к файловой системе сервера, может осуществить независимо от того, что думает по этому поводу хостер. Просто скачав все файлы из соответствующих каталогов. Учитываем что каталог с паролями пользователя и правами доступа по http не доступен. features 1. Есть понятие списка форумов сайта, списка тем в форуме и темы (дискуссии, последовательности сообщений) У форума может что-то, функционально эквивалентное сообщению, которое показывается в списке форумов. У темы - показывается первое сообщение. 2. Сообщения можно добавлять в тему, отвечая на любое сообщение в теме, перемещать из темы в тему, удалять, редактировать. Поддерживается BBCode, поддерживается аплоад изображений для размещения в сообщениях. Аттачмент произвольных файлов не поддерживается. В форме ответа поддерживается операция цитирования. Слишком длинные темы режутся на страницы. Число сообщений на страницу задается в настройках сайта. 3. Отправка сообщений разрешена только зарегистрированным пользователям. Перемещение сообщений из темы в тему и удаление - модераторам. Администратор - это тот, кто может назначать модераторов. Модераторы могут быть назначены на конкретный форум или даже тему. Форма ответа может появляться на той же странице (как в ЖЖ), а может на отдельной. В комплект поставки набор шаблонов с формой на той же странице следует включить. 4. При регистрации пользователь указывает имя, пароль, E-Mail (обязательно) прочие виды контактов (необязательно), возможно пару полей форум-специфичной информации о себе (например на форуме ролевой игры - расу и профессию) и картинку. Есть понятие статуса пользователя, который выставляется модератором/администратором. (возможно, в дальнейшем туда стоит OpenID прикрутить). 5. Веб-интерфейса для редактирования шаблонов и CSS нет. Это - через файловую систему сервера (ftp, ssh, локально, как хотите). 6. Банить пользователя можно либо в пределах темы, либо в пределах форума, либо в пределах сайта. 7. В зависимости от прав пользователя и факта его зарегистрированности должны показываться или не показываться кнопочки и ссылочки на всякие скрипты. Это делать client-side, возможно выполнив дополнительный запрос к серверу (можно через XmlHttpRequest, можно через