====== АННОТАЦИЯ ====== В данном программном документе приведено руководство системного программиста по установке и настройке WEB-сервиса для управления устройством "бегущая строка". ====== Общие сведения о системе ====== Функциональным назначением системы является приём, сохранение и предоставление данных, полученных в процессе работы с WEB-интерфейсом и мобильным приложением. Основные функции системы состоят в приёме и обработке данных JSON формата, сохранение и предоставлении по запросу, для последующей обработкой операторами. Для функционирования системы требуется серверная операционная система, система управления базами данных, веб-сервер с поддержкой языка программирования Java и программный код. ====== Структура системы ====== Система приёма, сохранения и предоставления данных, полученных в процессе работы с WEB-интерфейсом и мобильным приложением состоит из комплекса программного обеспечения, необходимого для её выполнения. На серверной операционной системе запущен веб-сервер, ожидающий HTTP запроса. При вхождение запроса выполняется сценарий, зависящий от вызываемого при запросе файла. ====== Настройка системы ====== Подготовка системы к работе делится на несколько этапов, выполнение которых будет рассматриваться на примере системы GNU/Linux Debian 9. ===== 1 Создание базы данных ===== ==== Установка СУБД MySQL ==== Обновите базу пакетов $ apt-get update Установите пакет MySQL-server $ sudo apt-get install mysql-server Если будет просить ввести root пароль, то оставьте его пустым Инициализируйте систему безопасности MySQL $ mysql_secure_installation ==== Создание и настройка базы данных ==== Зайдите в mysql и создайте новую базу данных: $ mysql –u root –p (после нужно ввести пароль) Затем необходимо создать базу данных CREATE DATABASE RunningString; Если ошибок нет, то база успешно создана. Создайте пользователя, под которым сайт будет работать с БД: CREATE USER ‘Amind’@’localhost’ IDENTIFIED BY ‘Abcd123’; Логин и пароль можно изменить в файле application.properties, находящийся по пути rString\src\main\resources Выдайте пользователям привилегии: $ GRANT ALL PRIVILEGES ON production.* TO ‘Amind’@’localhost’ IDEN-TIFIED BY ‘Abcd123’; Создавать структуру базы данных не является необходимым, поскольку при запуске WEB-сервиса она создастся автоматически. ===== 2 Установка зависимостей WEB-сервиса ===== ==== Установка пакета JDK ==== Для установки необходимо ввести sudo apt -y install openjdk-8-jdk ==== Установка зависимости Gradle ==== Для установки необходимо ввести sudo install gradle ===== 3 Удалённый доступ к файлам веб-сервиса ===== Установите SSH $ apt-get install openssh-server Запустите сервис ssh $ service ssh start Для загрузки файла на сервер используйте команду $ scp /path/to/file.http User@remote.host:/var/www/site.ru Для загрузки папки на сервер используйте команду с ключом –r $ scp –r path/to/dir User@remote.host:/var/www/site.ru Для скачивания с сервера на локальную машину используйте команду $ scp User@remote.host:/var/www/site.ru/file.http local/path/to/dir ===== 4 Запуск WEB-сервиса ===== Для запуска сервиса необходимо перейти в его корень и ввести команду gradle BootRun После чего сервис сам установит оставшиеся зависимости и при возникновении ошибки отобразит её. ===== 5 Обязательные изменения в текстах программ ===== 1. Откройте в текстовом редакторе файл /core/baseinfo.php. 2. Замените в нём: * 'spring.datasource.username' – если необходимо изменить имя пользователя для доступа к базе данных WEB-сервиса. * 'spring.datasource.password' – замените на пароль пользователя базы данных. * 'server.http.port' – Замените порт, по которому осуществляется HTTP запросы * 'server.port' – Замените порт, по которому осуществляется HTTPS запросы. 3. Сохраните изменения ====== Проверка системы ====== Для проведения проверки системы рекомендуется внести данные в ручном режиме через веб-интерфейс, или же провести тестовую передачу данных с устройства. После выполнение внесения данных, проверьте хранимые данные SQL запросом: select * from massages select * from string select * from string_massage ====== Сообщения системному программисту ====== При запуске WEB-сервиса в консоли Фреймворк будет выводить возможные сообщения ошибок. ====== ПРИЛОЖЕНИЕ 1 ====== ===== Структура базы данных ===== Для хранения данных используется следующая структура базы данных: 1. **massages(id,showed,string_text, string_color,string_color_type,string_speed)** – таблица содержащая данные о сообщениях. *Столбцы: ***id** – уникальный номер сообщения(id). ***showed** – флаг отображения сообщения. ***string_text** – текст сообщения. ***string_color** – статичный цвет сообщения. ***string_color_type** – тип анимации цвета ***string_speed** – скорость анимации сдвига сообщения. 2. **string(id, code, name)** – таблица содержащая данные о устройствах. *Столбцы: ***id** – уникальный номер устройства(id). ***code** – уникальный текстовый идентификатор устройства. ***name** – наименование места размещения устройства, отображаемое пользователю. 3. **string_massage(massage_id, string_id)** – таблица реализующая связь "многие ко многим" между таблицами string и massages. *Столбцы: ***massage_id** – номер сообщения. ***string_id** – номер устройства. Далее представлена структура базы данных и взаимосвязь таблиц на рисунке 1. {{:doc:1807:database.png?400|}} === Рисунок 1. === ----