I have just set up a Raspberry Pi with EmonCMS (mostly) following the instructions on building the SD card and I ran into some troubles with Mosquitto not starting (even though the service status was running…). It took a bit of hear pulling but turned out to be that I needed to create /var/log/mosquitto
and set the owner as with the other services (in rc.local
)
So my question is why doe the emonSD image not need this change, or to phrase it another way, what step did i miss ;-)?
FYI the version of mosquitto I installed is;
1474024728: mosquitto version 1.4.10 (build date Thu, 25 Aug 2016 10:12:09 +0100) starting
and the version on the Emon SD image is
1474024926: mosquitto version 1.4.8 (build date Sun, 14 Feb 2016 15:06:55 +0000) starting
and I had to make the following changes to ‘fix’ the issue;
diff --git a/rc.local_jessieminimal b/rc.local_jessieminimal
index 187f78f..611ce43 100755
--- a/rc.local_jessieminimal
+++ b/rc.local_jessieminimal
@@ -8,7 +8,7 @@
# Will only run if /var/log is mounted in tmpfs
if ( mount | grep "on /var/log "| grep -q "^tmpfs " )
then
- for i in "redis" "apache2" "mysql" "openhab" "logrotate"; do mkdir /var/log/"$i"; done
+ for i in "redis" "apache2" "mysql" "openhab" "logrotate" "mosquitto"; do mkdir /var/log/"$i"; done
for i in "emoncms.log" "mysql.log" "mqtt_input.log" "redis/redis-server.log" "service-runner.log" "mysql/error.log" "apache2/error.log" ; do touch /var/log/"$i"; done
for i in "emoncms.log" "mysql.log" "mqtt_input.log" "redis/redis-server.log" "service-runner.log" "mysql/error.log" "apache2/error.log" ; do ""chmod 666"" /var/log/"$i"; done
chown -R root:adm /var/log/apache2
@@ -16,14 +16,16 @@ then
chown -R mysql:adm /var/log/mysql
chown -R openhab:openhab /var/log/openhab
chown -R pi:pi /var/log/logrotate
+ chown -R mosquitto:mosquitto /var/log/mosquitto
# Restart Apache & Redis, now the directories are defined
service apache2 restart
service redis-server restart
+ service mosquitto restart
fi
# Run emonPi Update of first factory boot (~/data/emonpiupdate.log does not exist)
-/home/pi/emonpi/./firstbootupdate
+#/home/pi/emonpi/./firstbootupdate
sleep 20
service mqtt_input restart