Установка системы intraHouse



  • Судя по логу проблема с подключением к базе данных.

    Рекомендую удалить ее по инструкции https://ih-systems.com/ru/mysql-install/

    Затем по этой же инструкции установить заново.

    Для Ubuntu база MySQL должна установиться в два шага.

    Инструкцию мы обновили. Должно быть понятно.



  • Переустановил сервер. Ubuntu 18.10

    На чистом сервере, даже до установки IH запустил установку mysql.

    Пароль рута не запросился.

    По инструкции для MariaDB

    На шаге

    sudo mysql_secure_installation

    запрашивается выбор требований к паролю. Установил low - больше или равно 8 символов.

    ввел пароль ihmysql13 - 9 симолов.

    На шаге

    update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

    получаю ответ

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirments

    Отрицательный результат на чистом сервере.



  • @Erik:

    Переустановил сервер. Ubuntu 18.10

    На чистом сервере, даже до установки IH запустил установку mysql.

    Пароль рута не запросился.

    По инструкции для MariaDB

    На шаге

    sudo mysql_secure_installation

    запрашивается выбор требований к паролю. Установил low - больше или равно 8 символов.

    ввел пароль ihmysql13 - 9 симолов.

    На шаге

    update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

    получаю ответ

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirments

    Отрицательный результат на чистом сервере.

    Если у вас не MariaDB, то смена plugin-а не нужна

    Попробуйте просто войти в консоль mysql:

    mysql -u root -p
    
    

    Если будет запрошен пароль и вы сможете войти - все нормально



  • Я - могу.

    IH - нет.



  • @Erik:

    Я - могу.

    IH - нет.

    А что в логе? Опять это?

    DBAGENT mysqlagent error 220: Database status error: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    
    


  • @intrapro:

    @Erik:

    Я - могу.

    IH - нет.

    А что в логе? Опять это?

    > DBAGENT mysqlagent error 220: Database status error: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    > 
    

    Установили у себя с нуля на Ubuntu 18

    Действительно, в новой версии MySQL, которая ставится с Ubuntu 18, по умолчанию пароль пустой и для аутентификации используется unix_socket plugin.Его нужно сменить на mysql_native_password. То есть выполнить примерно то же, но в другом порядке 🙂

    После установки MySQL

    1. Войти в консоль mysql и выполнить операции:

    USE mysql;

    UPDATE user SET plugin='mysql_native_password' WHERE User='root';

    FLUSH PRIVILEGES;

    exit;

    2. Перезагрузить mysql

    sudo service mysql restart

    3. Создать новый root пароль с помощью процедуры

    sudo mysql_secure_installation

    Вот выдержка из док-и:

    When prompted, answer the questions below by following the guide.
    
    Enter current password for root (enter for none): Just press Enter
    Set root password? [Y/n]: Y
    New password: Enter password
    Re-enter new password: Repeat password
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y
    
    
    

    4. Попробуйте войти с новым паролем

    sudo mysql -u root -p

    5. В IH введите пароль в разделе Настройка - Подключение к базе данных

    6. Перезагрузите IH.



  • Заработало. Спасибо.

    Уточнение - меня заставило ввести пароль в большими и маленькими буквами, цифрами и спецсимволами.

    Без этого ругалось на несоответствие политикам.



  • @Erik:

    Заработало. Спасибо.

    Хорошо. Внесем исправления в документацию.
    @Erik:

    Уточнение - меня заставило ввести пароль в большими и маленькими буквами, цифрами и спецсимволами.

    Без этого ругалось на несоответствие политикам.

    У меня получился пароль проще. 8 букв и символов. Но в принципе это не важно. Лишь бы пароль совпадал в MySQL и в настройках для подключения к БД в intraHouse



  • Можно ли перенести историю данных датчика температуры DS18B20 из ioBroker в intraHouse Pro (для отображения истории на графике)?

    Пример файла из ioBroker за один день прилагаю.
    history.megadjt.0.ports.27.temperature.rar



  • @filippovsky:

    Можно ли перенести историю данных датчика температуры DS18B20 из ioBroker в intraHouse Pro (для отображения истории на графике)?

    Пример файла из ioBroker за один день прилагаю.

    Да, перенести можно, есть timestamp (время) и value (значение)

    Поясните, пожалуйста, структуру хранения: один файл содержит данные по одному датчику за весь период или они разложены по папкам по периодам (дням)?

    И еще нужно будет как-то связать устройство IH и название файла: …0.ports.27.temperature... Вариант - загружать каждый файл отдельно. Насколько их много?



  • @intrapro:

    @filippovsky:

    Можно ли перенести историю данных датчика температуры DS18B20 из ioBroker в intraHouse Pro (для отображения истории на графике)?

    Пример файла из ioBroker за один день прилагаю.

    Да, перенести можно, есть timestamp (время) и value (значение)

    Поясните, пожалуйста, структуру хранения: один файл содержит данные по одному датчику за весь период или они разложены по папкам по периодам (дням)?

    И еще нужно будет как-то связать устройство IH и название файла: …0.ports.27.temperature... Вариант - загружать каждый файл отдельно. Насколько их много?

    На данный момент свой файл на каждый день и каждый датчик. Датчиков пока всего один. Поэтому в моем случае проще - один файл это один день.



  • @filippovsky:

    На данный момент свой файл на каждый день и каждый датчик. Датчиков пока всего один. Поэтому в моем случае проще - один файл это один день.

    Понятно. В течение недели сделаем скрипт для загрузки и выложим.

    А имена файлов за разные дни как-то различаются?



  • Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)



  • @artem521:

    Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)

    Да настройте его прям в убунте)



  • @homa:

    @artem521:

    Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)

    Да настройте его прям в убунте)

    Так и думал:) вот не помню, в berry был такой пункт или нет, но было б удобно если он был. Или в про версии есть:)



  • Нету там тоже



  • @artem521:

    Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)

    В разных операционных системах эта настройка делается разными способами.

    По этой причине возможность настройки IP адреса в Project Manager убрали.



  • Подскажите, пожалуйста, как можно корректно перенести папку сервера из /opt/intrahouse-c/ в /var/intrahouse-c/ ?

    Интересует перенос именно самого сервера, а не папки проектов.

    У меня раздел /opt живет на eMMC, а раздел /var живет на HDD.

    А в /opt/intrahouse-c пишутся логи, что хотелось бы делать на HDD.

    Достаточно ли переписать папку и поправить пути запуска/останова в /etc/rc.* ?

    Или есть какие-то нюансы?



  • @filippovsky:

    Подскажите, пожалуйста, как можно корректно перенести папку сервера из /opt/intrahouse-c/ в /var/intrahouse-c/ ?

    Интересует перенос именно самого сервера, а не папки проектов.

    У меня раздел /opt живет на eMMC, а раздел /var живет на HDD.

    А в /opt/intrahouse-c пишутся логи, что хотелось бы делать на HDD.

    Достаточно ли переписать папку и поправить пути запуска/останова в /etc/rc.* ?

    Или есть какие-то нюансы?

    Да, Вы можете перенести всю папку сервера в другой директорий

    Есть и другой вариант - изменить только рабочую папку (Working directory), в которую переписать файл config.json.

    Лог будет писаться в рабочую папку, а система может оставаться в opt.

    Удалите в /opt/intrahouse-c папку log. Если все настроено верно, после перезагрузки сервера она там появится не должна

    Настройка путей в скриптах системы инициализации:

    Для systemd в файле /etc/systemd/system/intrahouse-c.service:

    [Service]
      WorkingDirectory=/opt/intrahouse-c    // Это рабочий директорий 
      ExecStart=/opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod  // Это путь для запуска службы
    
    
    

    Для sysv в файле /etc/init.d/intrahouse-c

    dir="/opt/intrahouse-c  // Это рабочий директорий 
    cmd="/opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod"
    
    
    


  • пошел по пути полного переноса, т.к. в корне папки /opt/intrahouse-c тоже есть syslog, authlog, tokens

    после переноса не цепляется к базе:

    12.04 23:47:42.080 WARN: IH System has started

    12.04 23:47:42.136 WARN: IH Create devices start

    12.04 23:47:42.166 WARN: IH Created devices:7

    12.04 23:47:42.226 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started

    12.04 23:47:51.771 INFO: DBAGENT mysqlagent error 220: Database status error: Error: getaddrinfo EAI_AGAIN localhost:3306

    и еще глюк после переноса - если выбрать пункт в PM "Restart Intrahouse", сервер останавливается, но не запускается

    PS: нашел еще такой файл /etc/init/intrahouse-c.conf

      start on filesystem and started networking
      stop on shutdown
      respawn
      chdir /opt/intrahouse-c
      env NODE_ENV=production
    
      exec /opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod
    
    
    

    Попробую в нем тоже поправить пути

    PPS: вылечилось. Спасибо. И графики заработали.

    Наверное, имеет смысл добавить инструкцию по переносу в другую папку в документацию?


Авторизуйтесь, чтобы ответить