====== Развертывание инсталляционного комплекта LSS проекта ======
[[start:|lss]]
===== Введение =====
**Инсталляционный комплект LSS проекта** это комплексный продукт, содержащий как **LSS визуализатор**, так и базовый комплект **LSS сервера**. Для работы LSS проекта необходимы:
* сервер на базе операционной системы **Windows** или **Linux**;
* web-сервер - **Apache** или **Nginx**;
* **PHP7** или **PHP8**;
* SQL сервер **PostgreSQL** или **MarioDB**;
В этой инструкции мы используем **Linux**, **Apache**, **PHP7** и **PostgeSQL**.
===== Установка и настройка web-сервера Apache =====
* установить web-сервер **Apache** с базовыми настройками по умолчанию;
* подключить модуль **mod_rewrite**;
* настроить каталог для развертывания сайта. Предположим, что доменное имя сайта **lssproject.ru** а папка размещения проекта **/var/www/lssproject.ru**. Тогда необходимо создать следующую структуру папок для развертывания проекта:
/var/www/lssproject.ru/log - логи Apache и отладочные логи **LSS сервера**. На эту папку web-сервер Apach должен иметь права на запись.
/var/www/lssproject.ru/www - корневая, открытая по http папка сайта. Нужны права на чтение.
/var/www/lssproject.ru/php - недоступная по http папка, в которой размещен PHP код LSS сервера. Нужны права на чтение.
/var/www/lssproject.ru/export-import - недоступная по http папка, в которой размещаются служебные файлы экспорта и импорта. Нужны права на чтение и запись.
* настроить **конфигурационный файл** Apache для работы с доменом **lssproject.ru** и папкой **/var/www/lssproject.ru/www**:
ServerName lssproject.ru
ServerAlias www.lssproject.ru
DocumentRoot "/var/www/lssproject.ru/www"
ErrorLog "/var/www/lssproject.ru/log/error.log"
CustomLog "nul" combined
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
* разместить в папке **/var/www/lssproject.ru/www** файл с именем **index.html** и содержимым **Hello World!!!**. Зайти на сайт и убедиться что сервер работает, надпись **Hello World!!!** появляется в web-браузере.
===== Установка и настройка PHP7 =====
* установить **PHP7** с базовыми настройками по умолчанию;
* установить расширения PHP: date, dom, fileinfo, hash, openssl, session, sockets, json, xml, xmlreader, xmlwriter, mbstring, pdo, pdo_pgsql, zip;
* настроить в **php.ini**:
* часовой пояс: **date.timezone** - например Etc/GMT-3 для Москвы;
* максимальное время выполнения скрипта (в секундах): **max_execution_time**;
* максимальный размер загружаемого файла: **upload_max_filesize**;
* максимальный размер отправляемого запроса: **post_max_size**;
* отключить буферизацию: **output_buffering** = Off;
* проверка ошибок: **error_reporting** = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED;
* время жизни сессии:
* **session.gc_maxlifetime**=<время жизни сессии в секундах> - например 0 неограниченно, 86400 - сутки;
* **session.cookie_lifetime**=0;
* в папке проекта **/var/www/lssproject.ru/www** разместить тестовый файл **phpinfo.php** со следующим содержимым:
* зайти **web-браузером** на страницу тестирования работоспособности проекта **lssproject.ru/phpinfo.php** и убедится, что php установлен, все требуемые настройки корректно заданы
===== Установка и настройка PostgreSQL =====
* установить **PostgreSQL** с базовыми настройками по умолчанию и утилитой **pgAdmin**;
* задать пользователю **postgres** пароль для доступа к SQL серверу, в данной инструкции будем предполагать, что задан пароль **1**
===== Установка инсталляционного комплекта, в виде шаблона LSS проекта =====
* очистить содержимое папки **/var/www/lssproject.ru/www**;
* скачать шаблон LSS проекта **lss-project-template.zip** и разархивировать его в папку **/var/www/lssproject.ru**, раздать права на папки проекта для доступа web-серверу **Apache**:
* на чтение всем подпапкам и файлам **/var/www/lssproject.ru**;
* на запись папкам, подпапкам и файлам: **/var/www/lssproject.ru/export-import**, **/var/www/lssproject.ru/log**, **/var/www/lssproject.ru/php/datasources/autogen**
* используя pgAdmin создать пустую базу данных проекта, будем считать, что она называется **lssproject**;
* на базе данных **lsproject** выполнить скрипт **/var/www/lssproject.ru/sql/pgsql-systable.sql**;
* в настроечном файле площадки **/var/www/lssproject.ru/php/config/config-place.php** прописать параметры соединения с базой данных и параметры пользователя root (по умолчанию логин **root** и пароль **1**).
Посредством web-браузера обратиться к странице по адресу **lssproject.ru** и убедиться, что шаблон LSS проекта работает. В окне аутентификации ввести логин root и пароль 1, в соответствии с указанными в конфигурационном файле значениями.
===== Демонстрационные примеры и ссылки =====
Демонстрационные примеры доступны в режиме "**только чтение**". Для входа используйте логин **root**, пароль **1**.
* демонстрация работы **шаблона LSS проекта** у нас на сайте: [[https://lss.m-cti.ru/storage/example/lss-project-template]]