a2639c002f
- Install script for Mosquitto MQTT broker on Pi Zero 2 W (10.60.1.101) - Persistence enabled with data stored in /var/lib/mosquitto/data/ - Topic ACL configuration for hub, sensor, mobile, and admin users - systemd service with security hardening (NoNewPrivileges, ProtectSystem) - Configuration files: mosquitto.conf, acl.conf - Validation script to verify setup before deployment
34 lines
1004 B
Bash
34 lines
1004 B
Bash
# Install Mosquitto MQTT Broker
|
|
# Runs on Pi Zero 2 W (10.60.1.101)
|
|
|
|
apt-get update
|
|
apt-get install -y mosquitto mosquitto-clients python3-paho-mqtt
|
|
|
|
# Create directories
|
|
mkdir -p /etc/mosquitto/conf.d
|
|
mkdir -p /etc/mosquitto/acl
|
|
mkdir -p /var/lib/mosquitto/data
|
|
chown -R mosquitto:mosquitto /var/lib/mosquitto/data
|
|
|
|
# Copy configuration files
|
|
cp /root/mosquitto.conf /etc/mosquitto/conf.d/mosquitto.conf
|
|
cp /root/acl.conf /etc/mosquitto/acl/acl.conf
|
|
|
|
# Set permissions
|
|
chown -R mosquitto:mosquitto /etc/mosquitto
|
|
chmod 644 /etc/mosquitto/conf.d/mosquitto.conf
|
|
chmod 644 /etc/mosquitto/acl/acl.conf
|
|
|
|
# Create initial users
|
|
mosquitto_passwd -cb /etc/mosquitto/passwd hub hubpassword123
|
|
mosquitto_passwd -c /etc/mosquitto/passwd admin
|
|
|
|
# Create systemd service
|
|
cp /root/mosquitto.service /etc/systemd/system/
|
|
systemctl daemon-reload
|
|
systemctl enable mosquitto
|
|
systemctl start mosquitto
|
|
|
|
echo "Mosquitto installation complete!"
|
|
echo "Test with: mosquitto_sub -h localhost -t test -u admin -P <password> -v"
|