Sambar Server

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

Краткая история[править | править код]

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[править | править код]

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

Примечания[править | править код]

См. также[править | править код]

Ссылки[править | править код]