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-скрипта:
<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>
<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
[править | править код]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
[править | править код]Коммерческая версия сервера, ориентированная на предприятия. Не для частных покупателей.