Страница сейчас редактируется (wiki)
Eserv/4 — руководство
Назначение Eserv
Eserv предназначен для работы в качестве:- почтового сервера предприятия;
- веб-сервера предприятия;
- сервера поддержки групповой работы;
- прокси-сервера предприятия.
На сервере Eserv можно создавать общие почтовые ящики и общие папки. С общими папками можно работать из почтовых клиентов по IMAP (при этом все подключенные к папке пользователи видят изменения, которые производят в этой папке другие пользователи), либо по HTTP из браузера (при этом общие папки отображаются как онлайн-форумы). Общие папки могут содержать почтовые сообщения, сообщения форумов, веб-страницы, документы, календари (списки задач, расписания встреч и т.д.). Программы для работы с календарями используют WebDAV-сервер в Eserv.
На веб-сервере Eserv можно разместить общедоступный сайт предприятия и/или интранет-сайт предприятия, доступный только из локальной сети. При этом Eserv предоставляет встроенные средства управления этим сайтом (редактор страниц, wiki, форумы, ленты новостей и т.п.), а также может работать "обычным" веб-сервером, на котором размещаются другие приложения (поддерживаются CGI, ISAPI и FastCGI интерфейсы, поэтому Eserv совместим с любыми PHP- и Perl-приложениями).
Прокси-сервер в комплекте Eserv (Eproxy) может предоставить доступ в интернет для всех компьютеров в локальной сети. Можно использовать различные способы авторизации пользователей, кеширование и фильтрацию содержимого, ограничения пропускной способности.
Системные требования
- Процессор 1GHz, RAM 1Gb. Средний объем памяти, занимаемый всеми сервисами Eserv под нагрузкой — около 300 Mb.
- Операционная система Windows XP и выше (на Windows 2000 работать тоже будет, но не весь функционал). 64-битные ОС поддерживаются.
- Браузер Internet Explorer минимум версии 6 (Eserv совместим со всеми современными браузерами, но для работы локальной консоли управления требуется именно IE).
- До 100 Mb на жестком диске для полной установки.
Возможные конфликты
Firewall'ы (например, Outpost), резидентные антивирусы (например, Dr.Web) могут блокировать — обычно из-за ошибок фильтров — сетевую или файловую работу Eserv. Поэтому если сталкиваетесь с "зависанием" соединений (таймауты), ошибками открытия файлов и т.п. странными ошибками, то лучше эти фильтры выключить.Что нового в Eserv/4
См. отдельную статью http://www.eserv.ru/Eserv4WhatsNewПланирование установки
Рекомендуется устанавливать Eserv на компьютер, непосредственно подключенный к интернету и имеющий реальный IP-адрес. Иначе часть функций (работа MX-сервером, использование RBL, автоматическая проверка доменов и др.) могут не работать или требовать дополнительной настройки как вашего NAT или прокси, так и Eserv. В идеале Eserv должен быть установлен на шлюзовом компьютере с двумя сетевыми интерфейсами — WAN (интернет) и LAN (локальная сеть).Если функционал прокси-сервера в Eserv не требуется, а требуется работа почтовым и веб-сервером, то можно ставить Eserv в DMZ в сети предприятия или на выделенном (в т.ч. виртуальном выделенном) сервере хостера.
Для работы почтовым сервером Eserv'у понадобится почтовый домен, т.е. интернет-имя вида "ваша_фирма.ru" или "ваша_фирма.ваш_провайдер.ru". Тогда вы сможете назначить каждому сотруднику собственный почтовый адрес вида "сотрудник@ваша_фирма.ru". Можно использовать произвольный вымышленный домен, но в этом случае электронная почта сможет ходить только внутри вашей ЛС, т.к. внешние почтовые серверы не смогут доставить почту получателям в вымышленном домене (и еще хуже, если этот домен случайно совпадет с реально существующим чужим доменом — в этом случае почта, предназначенная вам, уйдёт на другой сервер). Поэтому для полноценного использования электронной почты вам желательно получить собственный домен — зарегистрировать самостоятельно или с помощью провайдера, или с нашей помощью домен второго уровня вида "ваша_фирма.ru" (это не сложно) или получить субдомен третьего уровня вида "ваша_фирма.ваш_провайдер.ru" у провайдера или у нас (ваша_фирма.snop.ru). При настройке DNS вашего нового домена можно указать в MX-записи, на какой почтовый сервер должна поступать почта вашего домена — на сервер провайдера (в качестве промежуточного) или сразу на ваш сервер (с установленным Eserv).
Обратите внимание, что интернет-домены — это не совсем то же самое, что домен в Windows. Если у вас установлен Windows Server и в его Active Directory настроены домены, то это не означает автоматически, что у вас есть готовые домены для электронной почты или сайтов в интернете. Обычно при настройке доменов Windows используют локальные домены *.local, которые, как и локальные IP-адреса, не могут использоваться в интернете.
Установка
Перед установкой убедитесь, что на жестком диске, куда вы планируете установить Eserv есть 100 Мб свободного места. Лучше устанавливать Eserv не в каталог "Program Files", а, например, в "C:\E4" — это упростит настройку прав доступа к файлам (каталог должен быть доступен на запись как администратору компьютера, так и учетной записи, под которой будут работать службы Eserv — по умолчанию LocalSystem), а также немного отодвинет ограничения на длину путей к папкам (что может иметь значение для поддержки многократно вложенных папок в IMAP).Программа установки спросит у вас название основного почтового домена. Если на момент установки у вы еще не регистрировали собственных доменов, вы можете указать вымышленный домен, например ваша_фирма.local или ваша_фирма.ru. Второй вариант лучше, т.к. если вы позже зарегистрируете этот домен, вам не потребуется перенастраивать Eserv.
Если вашему интернет-подключению назначен реальный IP-адрес (а не локальный из ЛС за NAT провайдера), и если этому IP-адресу соответствует реальное доменное имя (обычно субдомен в домене провайдера), то при отсутствии собственного домена вы можете использовать это провайдерское доменное имя (доменное имя хоста, соответствующее вашему IP-адресу). Программа установки может попытаться самостоятельно определить ваш внешний IP-адрес и соответствующее имя хоста — для этого на момент установки Eserv ваш сервер должен должен быть подключен к интернету и ваш брандмауэр не должен препятствовать сетевым запросам программы установки.
Терминология
Проекты в Eserv — это верхний уровень логической группировки пользователей и ресурсов сервера. Собственно реализация неких проектов — это та цель, с которой участники объединяются в рабочие группы и выделяют для этих групп какие-то сетевые ресурсы для координации работ по проекту.Домены в Eserv — это доменные имена, используемые в интернете. Локальные домены — это домены, выделенные вашему предприятию/организации — Eserv по домену будет отличать своих пользователей от чужих и, соответственно, локальные email-адреса от внешних. Если локальных доменов несколько, то по доменам можно не только отличать своих от чужих, но и разделять локальные проекты или локальные рабочие группы, связав с каждым из доменов отдельный проект, и с каждым из проектов список учетных записей. Так локальный веб-сервер из комлекта Eserv может в зависимости от доменного имени, по которому к нему обращается пользователь, выдавать страницы различных сайтов, относящихся к отдельным локальным проектам или подразделениям предприятия.
Учетной записью в Eserv называется представление пользователя в системе в целях авторизации на сервере с получением адреса электронной почты и полномочий доступа. С учетной записью связаны имя (логин), пароль, флаг активности (разрешение на использование этой учетной записи) и опционально другие свойства. Один человек может иметь несколько учетных записей в системе. С каждой из них могут быть связаны свои полномочия в различных проектах и отдельный email в доменах, связанных с проектом. А сам человек представлен на сервере одним Контактом — виртуальной визитной карточкой, в которой записаны его ФИО, фото (или аватар), телефон и другие личные данные.
Учетные записи одного пользователя связываются с его контактом.
Аутентификация — предъявление и проверка подлинности "удостоверения личности", которым в компьютерных протоколах являются имя:пароль (проверяется по совпадению с хранимым хэшем или по криптографической серии запрос-ответ), цифровой сертификат (наличие у субъекта закрытого ключа проверяется проверкой цифровой подписи), и т.п.
Авторизация — проверка прав доступа аутентифицированного субъекта к запрашиваемому ресурсу или действию. Авторизация всегда предусматривает аутентификацию. И аутентификацию не требуется проводить, если не предполагается авторизация. Поэтому авторизация и аутентификация так тесно связаны, что при обсуждении управления доступом удобнее считать это единым процессом и называть одним термином. В Eserv всегда используется термин авторизация, которую всегда можно расшифровывать как "авторизация и аутентификация". В Eserv/4 при аутентификации сразу проводится базовая авторизация, определяются членство и полномочия пользователя в проекте и установка домашнего каталога пользователя. При доступе к другим закрытым ресурсам проводится дополнительная проверка полномочий (авторизация в узком смысле).
Архитектура
Базовые принципы
Все информационные объекты, с которыми пользователи работают в компьютерных сетях или в бумажном/устном/очном общении и делопроизводстве имеют вид сообщений. Все они имеют автора (создателя), дату и место создания, адресатов/получателей/целевую аудиторию/канал, срок действия или срок хранения и собственно информационное наполнение — текст, речь, изображения. С точки зрения компьютерной обработки наиболее важными характеристиками сообщений являются срок доставки (допустимая задержка передачи), размер и срок хранения (ресурсоемкость). Требования к протоколам доставки сообщений и к средствам хранения сообщений задаются именно этими характеристикам, а атрибуты сообщений (автор/дата/область распространения) неизбежно и необходимо поддерживаются всеми протоколами и системами хранения.Примеры:
- бумажные публикации и веб-страницы: размер не ограничен (но обычно не больше нескольких сотен Кб), распространение обычно не ограничено, хранить вечно (желательно), допустимый срок доставки широко варьируется. Компьютерные протоколы — HTTP, NNTP.
- бумажные или электронные письма: средний размер бумажного письма 10Кб, средний размер электронного письма (в 2009м году) 15Кб, распространение — явно указанные получатели (за исключением "открытых писем", которые являются обычными публикациями), срок хранения определяется ценностью информации для получателя (т.е. должна быть возможность хранить вечно), срок доставки по компьютерным сетям в среднем меньше минуты, по "бумажным" сетям — дни или недели. Компьютерные протоколы — SMTP, POP, IMAP, HTTP.
- деловая корреспонденция (документы, включая бухгалтерские) — то же, что и обычные письма, но средний размер на порядок больше и опция "хранить вечно" становится обязательной.
- служебные записки — распоряжения, поручения, задачи и т.п. — просто несколько иной формат представления писем, с отметками о выполнении. Все остальные характеристики те же.
- устные (в т.ч. телефонные) переговоры и компьютерный чат, SMS, twitter: средний размер одного сообщения — одно предложение (часто объединены в серии, но на уровне протоколов каждая реплика все же оформляется отдельным сообщением и может передаваться по разным каналам), распространение — явно указывается отправителем, срок доставки — желательно мгновенно, информационная ценность обычно не велика (ценность этого канала в самой его срочности) и длительное хранение не обязательно (т.е. при вечном хранении оперативность доступа к архиву не принципиальна). Протоколы — IRC, XMPP, ICQ, HTTP.
- аудиовидеотрансляции, медиа-сообщения, компьютерные программы — размер от сотен килобайт и до десятков гигабайт, остальные свойства как у публикаций или писем. Протоколы — RTP, SIP, MMS, HTTP.
Можно предположить, что компьютерная система, которая предоставит для всех видов сообщений единообразное хранилище (атрибуты у всех видов сообщений одни и те же) и полноценного поддержку самого универсального из существующих протоколов сможет легко адаптироваться к любым способам использования и протоколам (включая еще не изобретенные), рассматривая их как подмножество функций, упрощение, "срез" базового функционала. И заодно даст доступ ко всем сообщениям всех типов всеми существующими протоколами одновременно, что может породить качественно новые более эффективные средства групповой работы, не сковывая пользователей ни узким набором совместимого клиентского программного обеспечения, ни "предпочтительным" способом доступа/использования хранимой информации. Эта масштабная задача была поставлена в "манифесте Eserv/3" в 2000м году, но реально получает своё воплощение в Eserv/4, спустя еще 8 лет работы над проектом.
Планирование и настройка проектов и доменов
Проекты в Eserv — средство оптимизации взаимодействия ваших рабочих групп. Eserv не навязывает никакой конкретной схемы отражения ваших рабочих процессов в структуры сообщений Eserv, он просто позволяет реализовать любые из общепринятых схем или изобрести новую.Обычно на момент внедрения Eserv в организации или на предприятии уже действуют какие-то маршруты передачи сообщений — личные почтовые ящики сотрудников на серверах бесплатной веб-почты, служебные почтовые ящики отделов продаж и техподдержки (всевозможные sales@, info@, help@, webmaster@), размещенные у провайдера или также на внешних системах веб-почты, сайты-визитки с формами обратной связи, онлайновые каталоги продукции, и т.д. Все наверняка создавалось в разное время разными людьми, на разных серверах и с разными процедурами доступа.
Внедрение Eserv — хороший повод навести порядок и вообще переосмыслить роль потоков сообщений в информационной структуре предприятия. Как говорилось в разделе "Архитектура", нет никаких информационных объектов, которые не являлись бы частными видами универсальной структуры "сообщение" ("со-общение"!). Сообщения всегда имеют отношение к какому-то реальному процессу, при совместном участии в котором людям и необходимо координировать (по-русски "соупорядочивать") свои действия путем отправки друг другу сообщений — устных/очных и письменных. От обоснования необходимости участия в процессе, планирования работ, привлечения сотрудников, до распределения заданий, контроля выполнения, взаимодействия с потребителями результатов процесса, подведения итогов и т.д.
Вот эти рабочие процессы и предлагается отражать в Eserv в виде проектов, а перечисленные стадии процессов могут быть представлены доменами (или субдоменами в основном домене проекта). Основной смысл слова "домен" — это "область" ("часть", "удел", "зона"), структурное подразделение более крупного объекта. В интернете это область (зона) в пространстве имён. В оффлайне домен — это просто "отдельная область" чего либо, в нашем случае "участок работ". В Eserv вместо доменов можно использовать подгруппы в проектах, логически это одно и то же, но в интернете удобнее группировать именно по доменам/субдоменам, т.к. почти во многих протоколах есть понятие домена (и это вообще центральное понятие в интернете), но редкий протокол использует понятие "группа". Если домен находится под вашим управлением, то вы легко и бесплатно можете создать в нем произвольное количество субдоменов.
Важная характеристика проекта — его открытость (или закрытость). С одной стороны проект — это закрытый процесс, осуществляемый сотрудниками предприятия, и доступ на "кухню" всем остальным закрыт. С другой стороны ни один проект на самом деле не является закрытой системой. С проектом связаны не только сотрудники предприятия, но и внешние субъекты — как минимум присутствуют поставщики исходных составляющих продукции (не обязательно материальных) и оборудования и потребители продукции или услуг. И хорошо, когда поставщики и потребители имеют собственные интерфейсы в этом проекте — они смогут выполнить свою РОЛЬ в проекте лучше, если обладают полной информацией, относящейся к их роли. Часть совместной работы (и контроля) они тогда смогут выполнить самостоятельно, не отвлекая ваших сотрудников для извлечения данных из закрытых частей системы.
Таким образом в общем случае проект — это не объект, а процесс, функция, сотрудничество, в котором все участники являются сотрудниками, независимо от их места работы. Они вовлечены в проект в разной степени и с разными ролями (поставщик, рабочий, конструктор, администратор, покупатель), и только ролью определяется его участок работ в проекте (домен) и степень открытости проекта для него (видит ли он процесс вцелом, или только необходимую ему часть).
Осмыслив в таком ключе свои бизнес-процессы или иные задачи вы сможете составить списки ваших проектов, доменов и участников. При правильном планировании этой структуры вы сможете управлять процессами с минимальными административными усилиями. Для каждого нового участника будет достаточно задать его роль в проекте и рабочее место (домен).
Для создания проекта в консоли управления войдите в раздел "Проекты" и нажмите на иконку "Новый проект" в панели инструментов вверху или контекстном меню справа, введите название и краткое описание, нажмите кнопку "Создать", потом отредактируйте свойства, пользуясь контекстной подсказкой. Для начала лучше оставить все параметры по умолчанию, и, только если они не подойдут, менять. Флаг "Общедоступный" означает, могут ли самостоятельно регистрироваться в проекте любые пользователи, которые попали на сайт проекта, и будет ли проект указан в общем списке проектов, которые пользователи увидят при анонимном подключении к IRC или NNTP. Он не влияет на доступ к веб-серверу проекта: доступ к проекту через веб-сервер по умолчанию закрыт, если у проекта нет доменов, или если у проекта нет учетной записи "web" — в этом случае доступна только веб-почта (самому участнику по собственному логину) и личные блоги участников (если они их создавали).
Создание доменов аналогично в разделе "Домены". Для привязки домена к проекту надо мышью перенести название домена из списка доменов в среднем окне на название проекта в левом.
Добавление учетных записей
Для добавления учетной записи необходимо в консоли управления войти в раздел "Учетные записи" или его подразделы и нажать иконку "Новая учетная запись" в панели инструментов вверху (слева от строки поиска) либо в контекстом в правой части окна.Либо пользователь может зарегистрироваться через веб самостоятельно, а администратор впоследствии активирует его учетную запись и укажет роль в проекте. В общедоступных проектах (флаг "общедоступный=да" в свойствах проекта) активация администратором не требуется.
Планировщик
Прием почты из внешних ящиков
PopPull — один из протоколов работы заданий планировщика в Eserv/4. Предназначен для получения почты из внешних POP3-ящиков и пересылки её на локальный Eserv/4 по SMTP (внутри используется тот же pop2smtp-plugin, что и в Eserv/3).Обязательных параметров три — имя сервера, логин и пароль (при переходе с Eserv/2 или Eserv/3 они импортируются). Если указать Email в параметре "локальный ящик", то письма, которые не нашли других существующих локальных получателей, будут переправляться на этот email.
Параметры "командная строка" и "локальная папка" в заданиях этого типа не используются. При импорте из Eserv/2 "ком.строка" заполняется просто к сведению, чтобы легче было узнать задания старого планировщика.
Система обновлений
Обновления в Eserv/4 скачиваются автоматически в фоновом режиме. Этим занимается задание планировщика "Eserv Update", работающее внутри модуля acWEB4.exe. Eserv Update периодически получает с сервера code.eserv.ru список доступных обновлений (сжатый файл размером около 10Кб) и запускает получение файлов, которые в локальной базе обновлений ("почтовый ящик" DATA\domains\system\eserv_updates\INBOX\.messages.db3) отсутствуют.По умолчанию обновления не устанавливаются автоматически, чтобы не прерывать работу пользователей. Для установки полученных обновлений надо запускать утилиту update.bat в корневом каталоге Eserv'а — вручную или заданием планировщика. acWEB4.exe тоже подлежит обновлению и перезапуску, поэтому обновление не запускается через веб-интерфейс.
Резервные копии заменяемых файлов складываются в каталоге DATA\temp\restore\{YYYY-MM-DD}\{PID}.
На закладке "Обновления"->"Список обновлений" отображается полный список доступных обновлений.
Задание планировщика "Eserv Update" в списке заданий показывается серым цветом, если выполняется в данный момент (другие длительные задания — такие как сбор почты из внешних ящиков — тоже). Отключенные задания показываются зачёркнутыми.
Прием почты по SMTP
SMTP-фильтры
Пример реализации "черных списков"
Пример маршрутизации почты
Списки рассылки
Ограничение доступа
Извне ЛС
Самый простой способ сделать сетевую службу недоступной извне — настроить список сетевых интерфейсов, к которым привязана служба. Если в списке интерфейсов нет внешнего интерфейса, то сервер "невидим" снаружи.Размещение сайтов на веб-сервере Eserv
Все домены, A-записи в DNS которых указывают на веб-сервер под управлением Eserv, автоматически получают готовую к использованию систему групповой работы, включающую и управление содержимым сайта (см. следующий раздел), основой которой являются wiki и общие папки. Но можно продолжать использовать Eserv и для сайтов "старого типа" (статические страницы, различные CMS, форумы, магазины на PHP и Perl, и т.д.), если того требуют обстоятельства.До того как дойти до встроенной wiki, acWEB будет искать файлы в таких каталогах:
{Dirs[Root]}/{L2HOST}/{HOST}/wwwroot {Dirs[Root]}/{L2HOST}/{HOST} {Dirs[Root]}/{L2HOST}/wwwroot {Dirs[Root]}/{HOST} {Dirs[Data]}/web/{HOST} {Dirs[Data]}/wwwroot wwwroot/{HOST} wwwroot
Где Dirs[Root] и Dirs[Data] — соответствующие параметры ini, HOST — имя сервера в запросе, L2HOST — домен второго уровня (т.е. если браузер обращается к forum.eserv.ru, то HOST=forum.eserv.ru, а L2HOST=eserv.ru).
Путь к Php для CGI-режима указывается в параметре ini HTTP[PhpBin]. Если используется FastCGI (режим управляется параметром HTTP[PhpInterface]), то порт FastCGI для PHP задается в параметре ini HTTP[PhpFastCgiPort].
Совместная работа
Проекты
Проекты в Eserv — это верхний уровень логической группировки пользователей и ресурсов сервера. Собственно реализация неких проектов — это та цель, с которой участники объединяются в рабочие группы и выделяют для этих групп какие-то сетевые ресурсы (домены, сайты, почтовые ящики, файловые серверы) для координации работ по проекту.В простейшем случае проект один, и он объединяет всех сотрудников вашего предприятия/организации, имеющих доступ к компьютерам локальной сети.
Если сотрудников много, то в проекте создаются подгруппы — например в соответствии с подразделениями или отделами. В этом случае управление учетными записями, ролями и ресурсами группы можно передать руководителю отдела.
Разделение на проекты и группы удобно еще и тем, что в почтовом сервере каждый проект и группа могут быть списками рассылки (доступ по SMTP, POP3/IMAP и HTTP), группами новостей (доступ по NNTP и HTTP), общими папками (доступ по IMAP и HTTP) и чат-конференциями (доступ по IRC, XMPP/Jabber). В этом случае область распространения ограничивается участниками проекта/группы, не смешиваясь с общим потоком сообщений сервера.
Сообщения проектов и подгрупп могут отображаться в одноименных папках/каталогах в соответствии с возможностями того или иного протокола доступа и клиентской программы. К одним и тем же сообщениям может производиться одновременный доступ многих пользователей различными программами по разным сетевым протоколам. На "нижнем уровне" всё является сообщениями единого универсального формата.
Наименования проектов могут содержать любые символы, в том числе кириллицу, но не во всех протоколах и не во всех клиентских программах возможно такое именование ресурсов. Поэтому лучше использовать латинский алфавит, без пробелов, а русские читабельные названия давать в описании. Если с проектом связан один или более доменов, то в зависимости от протокола и способа авторизации пользователей проект может быть выбран по домену, в этом случае наименование проекта не играет роли, но могут быть сложности с названиями подгрупп. Поэтому если необходима самая широкая совместимость с клиентскими программами, группы тоже должны иметь названия в рамках ascii-таблицы и без пробелов (в качестве разделителей слов используются точки).
Проекты с включенным флагом "общедоступный" выводятся в списке доступных проектов для всех пользователей, включая анонимных (не авторизованных). Остальные проекты видны только их участникам и приглашенным пользователям.
Общие папки
Общие папки — это списки сообщений, доступные (одновременно) более чем одному пользователю. В Eserv они реализованы как каталоги файловой системы, содержащие индексированные БД сообщений (сами сообщения могут быть либо в той же БД, либо в виде отдельных файлов в других каталогах). При доступе с помощью IMAP-клиента каталоги доступны в виде IMAP-папок. При просмотре из браузера — как форумы. При доступе по NNTP как группы новостей. При доступе из чат-клиента как каналы. Также содержимое папок доступно для синдикации по RSS и Atom и объявляется для поисковых машин через SiteMap.Технически любая папка в Eserv может быть общей и использоваться одновременно и бесконфликтно разными пользователями и по любым протоколам. Для того чтобы папка стала общей, не нужно включать никаких опций или флагов, достаточно предоставить право доступа к этой папке тем, для кого она должна быть общей.
По умолчанию общими (по способу использования) и общедоступными (публичными) являются все папки учетных записей web@ во всех проектах. Папка INBOX доступна через веб как корневая общая папка сайта, а все остальные папки как подкаталоги веб-сервера. Создавать папки и выполнять прочие административные задачи удобнее всего по IMAP. IMAP в отличие от HTTP не предполагает анонимной работы (по умолчанию), поэтому не прошедшие авторизацию пользователи могут работать с папками из браузера (по HTTP) как с форумами, а для входа по IMAP в ту же иерархию папок им нужно либо знать пароль пользователя web@, либо автоматически авторизоваться по IP как web@, либо иметь доступ в тот же каталог со своим собственным логином (это можно обеспечить разными способами, см. раздел управления доступом).
Wiki
В новую версию веб-сервера acWEB встроена вики-система E4Wiki, совместимая по разметке страниц с WackoWiki. Уникальная возможность E4Wiki — полная и "родная" интеграция с почтовым сервером Eserv/4. Все веб страницы одновременно являются почтовыми сообщениями, доступными также по POP3/IMAP/NNTP/Webmail. И наоборот — все сообщения, в т.ч. с не-wiki разметкой могут быть представлены в виде страниц, все почтовые дискуссии могут быть представлены в виде форумов. Особенно тесная интеграция с IMAP — папки IMAP являются каталогами веб-сервера, флаги сообщений IMAP являются тэгами (метками) страниц, и т.д. То есть это просто разные интерфейсы к одной и той же базе сообщений (бывшей почтовой базе).Также в веб-сервере, wiki и почтовом сервере используется единая база пользователей — с разделением на проекты, домены, группы, роли — и авторизация и права доступа используются единообразно во всех серверах.
Как в большинстве wiki-систем, в E4Wiki поддерживается управление версиями страниц. Эта функция важна при разработке больших документов для контроля изменений, а также для совместной работы с документами и для противодействия wiki-вандалам (лёгкая отмена изменений) на сайтах со свободным редактированием (таких как Wikipedia). Управление версиями страниц также доступно и через IMAP.
Внешний вид сайта под управлением E4Wiki свободно настраивается: css-cтили, шаблоны раскладки страниц, описания проектов, логотипы — все может меняться в зависимости от текущего домена, проекта, авторизованного пользователя, типов сообщений, позволяя на одном сервере и на одной копии E4Wiki размещать любое число сайтов разного назначения.
E4Wiki написана на SP-Forth'е (как и все версии Eserv с 1996 года), поэтому быстрее работает и удобнее расширяется, чем wiki, написанные на PHP. В базовом комплекте Eserv/4 вся вики-система находится внутри acWEB4.exe , не требуя для начала работы никаких дополнительных файлов или дополнительных программ.
Для создания новой страницы достаточно набрать её желаемый адрес в виде http://имя.вашего.сайта/имя_новой_страницы. Если такой страницы нет, то сервер предложит её создать.
На вновь созданной странице будут доступны кнопки для её изменения или удаления
При удалении страницы она сразу не удаляется, а только помечается к удалению — также, как в IMAP. Администратор или вебмастер имеет возможность отменить удаление или выполнить реальное удаление всех помеченных к удалению страниц (они видны в IMAP-интерфейсе к той же папке пользователя web@).
При изменении страницы создается новая её версия, которая становится текущей. Все предыдущие версии не удаляются, поэтому при удалении страницы с неправильными правками автоматически становится активной предыдущая её версия.
Если пользователь создает новую страницу или новую версию старой страницы, не являясь авторизованным участником проекта, к которому относится сайт, то страница создается с флагом черновик/спам. Она не видна посетителям сайта, но видна (с соответствующими флагами) администратору и вебмастеру сайта — на сайте и по IMAP. Если администратор считает, что страница соответствует тематике сайта и должна быть опубликована, он может снять пометку черновика, и страница/версия станет автоматически доступна на сайте.
Форумы
Форумы в Eserv — это веб-интерфейс к общим папкам. Если в ящике web@ общедоступного проекта созданы (по IMAP, например) папки, то они становятся доступны по URL http://сайт.проекта/папка/, и сообщения этой папки показываются в виде тем форума. Название темы совпадает с темой письма (если смотреть форум по IMAP). Ответы в теме форума являются сообщениями того же типа, как первое сообщение темы, но содержат ссылку на первое сообщение темы. При доступе к форуму по почтовым протоколам эта ссылка попадает в поле References, поэтому в почтовых и новостных клиентах обсуждения форума также можно просматривать именно как нити обсуждений, если почтовый клиент поддерживает эту возможность (Thunderbird, Outlook и многие другие — поддерживают).Для пользователя работа с форумом через браузер подобна работе с другими веб-форумами. Возможности форматирования сообщений также близки, по разметке форум Eserv совместим с PhpBB (разметка BBcode). Но есть несколько возможностей, которых в других форумах нет: каждое сообщение (как первое сообщение темы, так и ответы) является одновременно и вики-страницей, т.е. может использоваться и wiki-разметка, и автоматические wiki-ссылки, и wiki-макросы, и управление версиями. Кроме того каждое сообщение форума является и собственно почтовым сообщением, проходящим обработку в встроенном почтовом сервере Eserv, т.е. может маршрутизироваться, дополнительно обрабатываться, архивироваться, синхронизироваться. Обычные почтовые сообщения, приходящие в ящик web@ сайта или перемещенные (по IMAP) из других ящиков в общие папки становятся сообщениями форума, как если бы создавались прямо на форуме через веб-интерфейс.
Прямое соответствие веб- в почтового интерфейса к общим папкам радикально упрощает и ускоряет и задачу администрирования форума. Новые сообщения форума сразу видны всем, кто подключен по IMAP к соответствующим общим папкам (без задержки и необходимости нажимать "проверить почту", т.к. в IMAP есть механизм "push-извещений" в режиме idle). Все действия по изменению флагов сообщений, которые производятся IMAP-клиентом при чтении/удалении/перемещении/пометках сообщений автоматически отражаются и в форуме — меняют внешний вид в зависимости от флагов или удаляются или перемещаются в другие форумы при удалении или перемещении в IMAP-клиенте.
При пометке сообщения звездочкой (в Thunderbird) или флажком (в Outlook, TheBat и др.) это сообщение получает флаг "\Flagged" в IMAP, а в веб-интерфейсе форума отображается как "прилепленное" или как "анонс" — ссылка на эту тему помещается в левой колонке "Новости".
Чат-каналы (IRC)
IRC-сервер по умолчанию работает на порту 6668. Соответственно подключаться к своему IRC-серверу вы можете любым IRC-клиентом по ссылке irc://ваш_eserv:6668/. Набор каналов сервера соответствует списку публичных проектов (с флагом "общедоступный=да"). Поддерживается авторизация по спискам пользователей Eserv. При подключении с административным логином доступен дополнительный канал с живой трансляцией логов Eserv.На нашем сервере проверить работу Eserv IRC можно по этому адресу: irc://www.eserv.ru:7373/