Interested Article - Sambar Server

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 с использованием языка для программных вставок. Также можно подключать дополнительные языки программирования, например 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 — , аналогичный языку 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

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

Примечания

См. также

Ссылки

Same as Sambar Server