Sambar Server (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-сервер 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-скрипта:

<CENTER>
    <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>
</P>

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.

Структуры

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

Почтовый Сервер

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

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

Службы IP-адресов

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

Sambar Server также имеет встроенные простые DHCP и DNS-сервера для организации небольших локальных сетей.

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-сервере (Необходимы администраторские права)

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 — ПО с закрытым исходным кодом, имел несколько видов лицензий:

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

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

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

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