MD в директории www/home
Добавлено: Пн мар 17, 2014 8:31 pm
Добрый день!
Собрал на днях температурный датчик на arduino по радио передающий данные на сервер. По ком порту видно данные.
Решил подключить к MajorDomo. Установил на Ubuntu Server 12.04 в папку home по инструкции из Азбуки.
Создал класс на основе температурного датчика, добавив влажность.
Из Азбуки же нашел какой запрос должен быть для добавления данных.
Написал по форуму cycle_arduino.php скрипт для опроса ком порта и отправляющий данные.
При ручном запуске скрипта данные отправляются в MD, все вроде работает, данные обновляет, графики строит.
При добавлении же скрипта в папку scripts, не отправляет.
Пытался разобраться и нашел такие подозрительные вещи
1)
В логе /var/log/apache2/error.log раз в минуту такие записиВ логе /var/log/apache2/access.log тоже раз в минуту
Стал изучать объекты, нашел ClockChime метод onNewMinute. Скрипт вроде нормальный, но внизу заметил строки
И так по всем объектам, в том числе моем новом температурном датчике, но он работал т.к. я запрос создавал руками в скрипте по пути с home
Теперь думаю где я ошибся в инструкции по установке. Где вызывается этот таймер пока не искал т.к. лучше исправить комплексно проблему раз во всех объектах смотрит в корень. (А для чего этот таймер нужен?
)
Буду признателен за помощь в исправлении ситуации
Опишу немного процесс:
Создал копию default с названием home в папке /etc/apache2/sites-available/И снаружи и из локала по home.mysite.com открывает MD.
Пока писал пост нашел в config.php такие строкиПоследний адрес в else подозрительно похож на тот что в логах
Это его править?
И что писать в SERVER_ROOT для linux?
2)
Цикл вроде стартует /var/www/home/debmes/2014-03-16.logНо нигде в логах ничего не нашел. В скрипте есть строка, подозреваю на нее
я этот файл положил туда же где мой cycle_ скрипт в папке scripts.
Как можно отлаживать такие скрипты? echo куда будет писать, где смотреть?
3)Тут оказалось что у папок cached/urls и cached/voice владелец был root хотя по инструкции менял на www-data, и у других папок владелец был сменен. После смены конкретно на этих папках пока все нормально работает.
Спасибо за внимание!
Собрал на днях температурный датчик на arduino по радио передающий данные на сервер. По ком порту видно данные.
Решил подключить к MajorDomo. Установил на Ubuntu Server 12.04 в папку home по инструкции из Азбуки.
Создал класс на основе температурного датчика, добавив влажность.
Из Азбуки же нашел какой запрос должен быть для добавления данных.
Написал по форуму cycle_arduino.php скрипт для опроса ком порта и отправляющий данные.
При ручном запуске скрипта данные отправляются в MD, все вроде работает, данные обновляет, графики строит.
При добавлении же скрипта в папку scripts, не отправляет.
Пытался разобраться и нашел такие подозрительные вещи

1)
В логе /var/log/apache2/error.log раз в минуту такие записи
Код: Выделить всё
[Sun Mar 16 22:36:00 2014] [error] [client 127.0.0.1] File does not exist: /var/www/objects
Код: Выделить всё
127.0.0.1 - - [16/Mar/2014:22:36:00 +0400] "GET /objects/?object=ClockChime&op=m&m=onNewMinute HTTP/1.1" 404 465 "-" "-"
Код: Выделить всё
Вызов метода:
По ссылке:
http://127.0.0.1:80/objects/?object=ClockChime&op=m&m=onNewMinute&
Код: Выделить всё
http://127.0.0.1:80/home/objects/?object=...

Буду признателен за помощь в исправлении ситуации

Опишу немного процесс:
Создал копию default с названием home в папке /etc/apache2/sites-available/
Код: Выделить всё
<VirtualHost *:80>
ServerAdmin a@b.c
ServerName home.mysite.com
ServerAlias home.mysite.com
DocumentRoot /var/www/home
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/home>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Пока писал пост нашел в config.php такие строки
Код: Выделить всё
Define('SERVER_ROOT', 'c:/_majordomo');
if ($_ENV["S2G_BASE_URL"]) {
Define('BASE_URL', $_ENV["S2G_BASE_URL"]);
} else {
Define('BASE_URL', 'http://127.0.0.1:80'); // Your base URL:port (!!!)
}

И что писать в SERVER_ROOT для linux?
2)
Цикл вроде стартует /var/www/home/debmes/2014-03-16.log
Код: Выделить всё
22:22:45 DEBUG [root]: Starting ./scripts/cycle_arduino.php ... (at /var/www/home/lib/general.class.php:390)
Код: Выделить всё
include "php_serial.class.php";
Как можно отлаживать такие скрипты? echo куда будет писать, где смотреть?
3)
Код: Выделить всё
[Sun Mar 16 22:34:42 2014] [error] [client 192.168.1.1] PHP Warning: fopen(/var/www/home/cached/urls/https___github_com_sergejey_majordomo_commits_master_atom.html): failed to open stream: Permission denied in /var/www/home/lib/general.class.php on line 156, referer: http://home.mysite.com/admin.php?pd=&md=panel&inst=&action=events
[Sun Mar 16 21:38:39 2014] [error] [client 192.168.1.1] PHP Warning: fopen(/var/www/home/cached/voice/e1f8e6e2a5279f08160517771cedb394.mp3): failed to open stream: Permission denied in /var/www/home/lib/general.class.php on line 156
Спасибо за внимание!