Sambar Server — мультипротокольный расширяемый сервер приложений, веб-сервер и мультипротокольный proxy-сервер с программируемым API. Сервер поддерживает виртуальные домены с независимыми папками документов и CGI, логов и шаблонов ошибок. Sambar Server писался под Windows и Linux. Сервер запускался как приложение в Windows 9x, а в Windows NT/2000/XP/2003 может быть установлен в качестве службы. Сервер имеет веб-интерфейс администрирования, а также есть встроенный пользовательский интерфейс, содержащий в себе RSS-ленты, веб-почту, календарь, адресную книгу, фотоальбомы, блоги, чат, форум. Поддержка и развитие проекта прекращены 31 января 2007 года, но сам сервер можно найти и скачать в интернете.

Sambar Server
Логотип программы Sambar Server
Скриншот программы Sambar Server
Тип Веб-сервер
Разработчик Sambar Technologies, Inc
Написана на C
Операционные системы Windows, Linux
Языки интерфейса Английский
Последняя версия 7.0 (14 марта 2007)
Состояние Проект прекращён в 2007-м году
Лицензия Sambar Technologies, inc
Сайт web.archive.org/web/2008…

Краткая история править

Sambar Server был впервые выпущен в 1996 году.

3 января 2007 Выпущен Sambar Server версии 7.0 Beta 4, в котором были расширены функции XMPP, ejabberd и Google Talk.

Последняя стабильная версия вышла 14 марта 2007 года — Sambar Server 7.0p.

29 декабря 2007 Тод Самбар объявил о прекращении поддержки и развития Sambar Server. Официальный сайт просуществовал до 2009 года.

Функции править

Web-сервер править

Web-сервер Sambar имеет встроенную поддержку динамического контента. Первым встроенным языком программирования был Sambar Server Scripting Language, позже в сервер была добавлена поддержка ASP с использованием языка CScript для программных вставок. Также можно подключать дополнительные языки программирования, например PHP, Perl или Python.

Sambar Server Scripting Language править

Встроенный язык программирования Sambar Server, который основан на специальных HTML-тегах, включаемых в HTML-страницу.
Формат спецтега: <RCcommand param1>, где command — вызываемая функция сервера, а param1 — один из параметров вызываемой функции. Файлы, содержащие исходный текст Sambar Server Scripting Language, имели расширение *.STM.

Пример STM-скрипта:

<TABLE cellpadding=5>
<FORM METHOD=POST ACTION="results.stm">
<TR><TD align=right><B>Search for: </B></TD>
<TD align=left>
<INPUT TYPE=hidden NAME="indexname" VALUE="<RC@striphtml(RC$indexname)>">
<INPUT TYPE=hidden NAME="spage" VALUE="0">
<INPUT NAME="query" SIZE=30 VALUE="<RC@txt2html(RC$query)>" MAXLENGTH=40>&nbsp;
<INPUT TYPE=image SRC="/sysimage/system/go.gif" height=20 width=20 border=0></TD></TR>
</FORM>
</TABLE>
</CENTER>
<P> 
<RCXfind query=RC$query indexname=RC$indexname fmt=fancy spage=RC$spage maxrows=50 highlight=red>

Active Server Pages править

Active Server Pages — технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования веб-страницы. Язык программирования, на котором пишутся программные модули для ASP сервера Sambar — Cscript, аналогичный языку C, но имеющий некоторые отличия от него. Заключённые в специальные скобки <% %> программные модули на C-Script вставляются в код HTML-страниц. Модули С-Script могут существовать как отдельными *.C-файлами, которые позже будут включены в основные ASP-сценарии, так и в качестве вставок в HTML-код страницы, которая сохраняется под расширением *.ASP.

Пример ASP-файла с прямым использованием вставок C-Script

<html>
<head>
<title>Hello World</title>
</head>
<body>
<%
printf("Hello World!");
%>
</body>
</html>

Пример ASP-файла, использующий включение файлов #include

//hello.c
printf("Hello World!");
<!--head.asp-->
<head>
<title>Hello World</title>
</head>
<!--hello.asp-->
<html>
<%#include "head.asp"%>
<body>
<%
#include "hello.c"
%>
</body>
</html>

Основные отличия CScript от языка Си править

Синтаксис

  • Не требуется определение функции main()
  • Объявление переменных не является обязательным. Чтобы определить переменную, достаточно сразу присвоить ей значение. Если переменная не была определена ранее, то она определится автоматически, в зависимости от её значения
  • Поддерживаются обработки прерываний try/throw/catch
  • Поддерживается динамическое распределение выделение или перевыделение массива
  • Не поддерживается ключ unsigned
  • Не поддерживается ключ static
  • Не поддерживается определение констант const
  • Макросы не поддерживаются
  • Метки GOTO не поддерживаются
  • Структуры, объединения, перечисления и макросы не поддерживаются.

Операторы

  • Операторы +, <, <=, >, >=, == и != можно использовать на строках
  • Оператор [] выполняет автоматическую проверку диапазона
  • Оператор sizeof возвращает количество элементов массива, размер строки или число байт, используемых атомарным значением
  • typeof определяет тип объекта
  • Арифметика с указателями не поддерживается

Переменные

  • Локальные переменные всегда находятся в области действия блока функции. Переменные, используемые внутри составных операторов доступны в их внешней области.
  • Все переменные по умолчанию инициализируются нулевым значением
  • Массивы автоматически увеличиваемые и могут иметь атрибут «типы» как элементы. Проверки границ массива выполняются всегда
  • Ссылки на объекты непрозрачны и используется только при передаче данных из/во внешний API.

Структуры

  • Переключатели динамические (могут содержать выражения)
  • Заголовочные файлы не поддерживаются. Все основные библиотеки предварительно установлены, поэтому вызовы стандартных функций всегда могут производиться непосредственно. Пользовательские библиотеки функций должны включатся в текст программы, то есть #include <foo.c>

Почтовый Сервер править

Sambar Server имеет поддержку почтовых протоколов POP3/IMAP4 и SMTP. Имеет антиспам-контроль, поддерживаются списки рассылок. Имеется сборщик почты, который собирает почту с других сервисов и распределяет их по почтовым ящикам пользователей. Работает только в PRO-версии. Почтовый сервер имеет веб-интерфейс для проверки почты и отправки писем.

Службы IP-адресов править

DHCP править

DNS править

XMPP/Jabber править

FTP править

TFTP править

Telnet править

Telnet-Прокси править

Sambar Server Telnet может использоваться в качестве прокси, что позволяет обмениваться данными между клиентом и удалённым сервером. Используя Telnet-клиент, пользователи могут подключаться к Sambar Server. и в ответ на приглащение telnet>, ввести команду «connect hostname» (Где hostname — имя сервера Telnet, С которым пользователь хочет соединиться). Telnet прокси — это форма связи между клиентом и удалённым узлом. Следующие команды могут быть использованы на приглашение telnet> до подключения к удалённому серверу:

Команда Описание
help Вывести таблицу помощи в использовании
quit Отключится от сервера telnet Прокси/Сервера
connect hostname [port] Подключиться к Telnet-службе сервера hostname. [port] — Указать номер используемого порта службы Telnet удалённого сервера (если порт не указан, то используется порт по умолчанию — порт 23)
login Авторизоваться на локальном Telnet-сервере (Необходимы администраторские права)

Telnet Server править

Sambar Server имеет встроенный очень простой сервер Telnet для работы с консольными приложениями. Используя клиент Telnet, пользователи могут авторизоваться на локальном Telnet-сервере, для чего надо ввести команду login в ответ на приглашение telnet>. После аутентификации с логином и паролем администратора сервера, базовые консольные приложений могут быть выполнены DOS-командой в оболочке. Пример встроенных команд:

  • net start service-name
  • ping hostname

Обратите внимание, что большинство из DOS-команд оболочки, такие как dir и del не будут работать во встроенном Telnet-сервере Sambar.

Telnet-сервер выполняет команды непосредственно из Sambar Server, команда cd не должна выполняться, так как можно повлиять на эффективность серверных операций. Для защиты от злоумышленников, только администратор Sambar Server может авторизоваться в Telnet и только с администраторского IP-адреса.


Планировщик править

Sambar Server имеет встроенный планировщик, который в указанное время запускает указанный сценарий, запускает фоновую службу, или приводит в действие встроенную функцию сервера. Задачи могут запускаться как один раз, так и в указанный период повторения.

Веб-Интерфейс править

Sambar Server имеет встроенный многопользовательский веб-интерфейс, который содержит RSS-ленты, Веб-почту, Контакты, Блог, Календарь, Фотографии, Задачи и Чат, И администраторская консоль, которая содержит инструменты управления всеми службами сервера, включая настройки работы основных протоколов, управление пользователями, настройка заданий планировщика, добавление/удаление сборщиков почты, управление виртуальным хостингом, добавление/удаление пользователей, настройки доступа и т. д. Доступ к администраторской консоли разрешается с указанного IP-адреса, который указывается администратором на специальной странице или в файле конфигурации. А также доступ к пользовательскому интерфейсу также может быть ограничена.

Лицензия править

Sambar Server — ПО с закрытым исходным кодом, имел несколько видов лицензий:

Basic править

Это бесплатная версия сервера, которая имела ограниченный набор функций по сравнению с версией Pro.

Demo править

Trial-версия Sambar Server Pro, в которой доступны все её возможности в течение 30 дней.

Pro править

Коммерческая версия сервера, в которой присутствуют дополнительные функции, такие как Почтовый сервер, WebDAV, Диспетчер документов, DNS, SOCKs, IRC, службы трафика и другие усовершенствованные функции.

Enterprise править

Коммерческая версия сервера, ориентированная на предприятия. Не для частных покупателей.

Примечания править

См. также править

Ссылки править