Сервер CLEAR.server, позволяет работать с БД SQL локально, не требует открытия портов MSSQL во вне, что обеспечивает большую безопасность.
Управлять правами пользователей через утилиту CLEAR.admin.
Работает как служба. (Не знаю на счет совместимости с другими OS, но возможно получится запустить на linux, если запустите, то напишите мне, добавлю в инструкцию).
1. Скачиваем последнюю версию CLEAR.server с ссылки
2. Установить .Net Runtime 6 версии:
x64 - https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-6.0.20-windows-x64-installer
x86 - https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-6.0.20-windows-x86-installer
arm64 - https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-6.0.20-windows-arm64-installer
3. Распаковать архив в любую удобную папку (лучше на диске C)
4. Запустить CLEAR.server.exe (Он почти сразу же закроется), главное что бы создались папки (confg, Logs)
5. Переходим в папку config, через notepad++ открываем config.xml (для удобства лучше привести xml в нормальный вид используя плагин xml tools):
6. Редактируем конфиг что бы получилось подключиться к SQL серверу.
В SQL сервере БД не должно существовать, утилита создаст БД самостоятельно.
(Советую смотреть конфиг из утилиты CLEAR.bat (если подключались к SQL через нее)
Мои настройки подключения к серверу:
<?xml version="1.0" encoding="utf-8"?>
<CLEAR.server>
<ip>127.0.0.1</ip> -- адрес сервера, должен быть в формате *.*.*.*, или одна * для доступа со всех локальных ip.
<port>8888</port> -- порт сервера
<bufferSize>20480</bufferSize> -- не используется
<DatabaseType>MSSQL</DatabaseType> -- не используется
<SQLDatabaseSettings>
<DatabaseRemote>True</DatabaseRemote> -- удаленная ли БД (Подключение по IP/Имени ПК)
<TrustedConnection>False</TrustedConnection> -- Доверенное подключения (Авторизация Windows)
<name>DB8</name> -- Имя БД
<ip>2MIX\CLEARBAT</ip> -- IP адрес сервера с учетом имени экземпляра SQL
<login>sa</login> -- логин от SQL
<password>******</password> -- пароль от SQL
<CustomSettings>False</CustomSettings> -- Включение кастомной настройки которая ниже
<CustomSettingsValue>user id=sa;password=resto#test;server=127.0.0.1;Trusted_Connection=false;</CustomSettingsValue> -- Кастомная настройка
</SQLDatabaseSettings>
</CLEAR.server>
КРАЙНЕ НЕ РЕКОМЕНДУЮ оставлять DatabaseRemote в False, подключайтесь через True!
7. Что бы проверить, корректные ли данные нужно запустить файл сервера - CLEAR.server.exe, если он упадет то что то не правильно и нужно смотреть логи.
8. После того как настроили, и сервер работает корректно. Можно создать службу, для этого запустите bat файл - serviceAdd.bat он создаст службу.
Службу нужно запустить вручную! Что бы она запускалась автоматически, необходимо в настройках службы установить “Автоматически”.
Удалять службу через файл serviceRemove.bat
Батники:
serviceadd.bat - Добавляет службу
serviceremove.bat - Удаляет службу
Положить в корень папки сервера.
9. Сервер по умолчанию имеет пользователя admin с паролем resto#test, первая авторизация должна быть строго через утилиту CLEAR.admin.
Производится следующим образом:
- По умолчанию, при каждом подключении к серверу с нового устройства, это устройство добавляется в список устройств пользователя. Его нужно авторизовать через утилиту CLEAR.admin (см руководство)
- Если в логах пишет ошибку 401 то данное устройство не авторизовано.
- Если у пользователя установлен флаг ReadOnly то его локальная БД удалится!
- Будьте внимательны если установлен флаг Can Edit Users то он может редактировать всех пользователей.
Скрипты сброса устройств и пароля admin, выбирайте тот который нужен:
UPDATE Users SET password = 'resto#test' AND sha1 = '2155245B2C002A1986D3F384AF93BE813537A476' WHERE login = 'admin'; -- Сброс пароля admin на resto#test
DELETE FROM DEVICES; -- удаление всех устройств, всех пользователей
DELETE FROM DEVICES WHERE userID = (SELECT id FROM Users where login = 'admin'); --Удаление устройств пользователя admin
Скрипт сброса пользователя admin:
-- Удаление пользователя admin если есть
DELETE FROM Users
WHERE login = 'admin';
-- Добавление пользователя admin
INSERT INTO Users (id, revision, login, password, sha1, ReadOnly, canEditUsers, deleted)
VALUES (NEWID(), 1, 'admin', 'resto#test', '2155245b2c002a1986d3f384af93be813537a476','false', 'true', 'false');