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



  • @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: вылечилось. Спасибо. И графики заработали.

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



  • @filippovsky:

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

    Это все остается в рабочей папке. Если отделить рабочую папку, в папку приложения ничего не пишется

    @filippovsky:

    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: вылечилось. Спасибо. И графики заработали.

    Запуск сервиса зависит от системы инициализации

    Если вам помогло редактирование /etc/init/intrahouse-c.conf - значит у вас upstart 🙂

    @filippovsky:

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

    Вы правы, добавим



  • Есть проблема. Не знаю ,связана ли она с переносом. Похоже, что была и до переноса, судя по логам.

    При рестарте операционной системы по команде reboot - сервер после старта операционки запускается,и работает, но dbAgent не может запуститься, при этом в логах идут сообщения, что порт 8088 уже занят.

    Если после этого перезапустить intraHouse командой из PM - то dbAdapter запускается, ошибки в логах исчезают.

    В момент, когда идут ошибки в логах, netstat показывает ,что порт 8088 занят процессом node.

    Такое ощущение, что стартуют два процесса сервера одновременно.По логам характерно, что идут записи 00:32, потом 00:33, потом опять 00:32. Т.е. нечто из двух мест пишет в один и тот же лог.

    13.04 00:32:53.637 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:32:54.066 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    **13.04 00:32:55.514 INFO: ADDON Received 6 files.

    13.04 00:32:55.696 WARN: IH System has started**

    13.04 00:32:59.561 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:32:59.807 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    **13.04 00:33:01.132 INFO: ADDON Received 6 files.

    13.04 00:33:01.296 WARN: IH System has started**

    13.04 00:32:55.750 WARN: IH Create devices start

    13.04 00:32:55.773 WARN: IH Created devices:7

    13.04 00:32:55.832 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started

    13.04 00:33:05.823 INFO: DBAGENT mysqlagent error 220: Database status error: Error: getaddrinfo EAI_AGAIN localhost:3306

    13.04 00:33:11.486 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:33:11.732 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:33:13.049 INFO: ADDON Received 6 files.

    **13.04 00:33:13.209 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:33:13.219 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }**

    13.04 00:33:13.724 IH IntraHouse has stopped.

    13.04 00:33:14.478 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:33:14.677 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:33:15.833 INFO: ADDON Received 6 files.

    13.04 00:33:15.992 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:33:16.002 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }

    13.04 00:33:16.507 IH IntraHouse has stopped.

    13.04 00:33:17.287 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:33:17.496 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:33:18.603 INFO: ADDON Received 6 files.

    13.04 00:33:18.761 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:33:18.771 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }

    13.04 00:33:19.276 IH IntraHouse has stopped.

    [ .. дальше этот кусок непрерывно повторяется, до перезапуска из PM .. ]

    13.04 00:35:53.211 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:35:53.435 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:35:54.669 INFO: ADDON Received 6 files.

    13.04 00:35:54.828 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:35:54.839 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }

    13.04 00:35:55.344 IH IntraHouse has stopped.

    [ … момент перезапуска из PМ .. ]

    13.04 00:35:56.122 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:35:56.370 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:35:56.963 IH IntraHouse has stopped.

    13.04 00:35:57.683 INFO: ADDON Received 6 files.

    13.04 00:35:57.843 WARN: IH System has started

    13.04 00:35:57.872 WARN: IH Create devices start

    13.04 00:35:57.894 WARN: IH Created devices:7

    13.04 00:35:57.947 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started


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