Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
howto:building_raspberry_pi_image_for_vz [2019/03/19 13:23] – Config und Proxy für PPM jau | howto:building_raspberry_pi_image_for_vz [2019/04/24 18:20] – Voll-"Buster" jau |
---|
- IP des Raspi im Router ermitteln oder per Netzwerkscanner ermitteln | - IP des Raspi im Router ermitteln oder per Netzwerkscanner ermitteln |
- Mittels Putty per SSH mit dem Raspi verbinden | - Mittels Putty per SSH mit dem Raspi verbinden |
- Passwort ändern | - Raspbian auf den neuesten Stand bringen: ''sudo apt update && sudo apt upgrade'' |
- Raspbian auf den neuesten Stand bringen: ''sudo apt-get update && sudo apt-get upgrade'' | |
- Dann verschiedene Konfigurationseinstellungen vornehmen mit: | - Dann verschiedene Konfigurationseinstellungen vornehmen mit: |
- ''sudo raspi-config'' | - ''sudo raspi-config'' |
- ''I2 Change Timezone : Europe, Berlin'' | - ''I2 Change Timezone : Europe, Berlin'' |
- ''I4 Change Wi-fi Country : DE Germany'' | - ''I4 Change Wi-fi Country : DE Germany'' |
- ''A1 Expand Filesystem'' | |
- ''P2 SSH Enable SSH'' | - ''P2 SSH Enable SSH'' |
- ''P4 SPI Disable SPI'' | - ''P4 SPI Disable SPI'' |
- ''# Register I2C RTC bei grosser neuer Erweiterung'' | - ''# Register I2C RTC bei grosser neuer Erweiterung'' |
- ''# echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-1/new_device'' | - ''# echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-1/new_device'' |
- GPIOs exportieren und Datenrichtung einstellen, 'Schaltausgang_new' | - GPIOs exportieren und Datenrichtung einstellen, 'Schaltausgang_new' |
- ''echo 24 > /sys/class/gpio/export'' | - ''echo 24 > /sys/class/gpio/export'' |
- ''echo 25 > /sys/class/gpio/export'' | - ''echo 25 > /sys/class/gpio/export'' |
- ''echo out > /sys/class/gpio/gpio24/direction'' | - ''echo out > /sys/class/gpio/gpio24/direction'' |
- ''echo out > /sys/class/gpio/gpio25/direction'' | - ''echo out > /sys/class/gpio/gpio25/direction'' |
- ''hwclock -s'' | - RTC (Erweiterung) vorbereiten |
| - ''# hwclock -s'' |
- Danach ''reboot'' | - Danach ''reboot'' |
- PHP 7.1 (oder höher) installieren | - Apache deinstallieren |
- Datei anlegen ''sudo nano /etc/apt/sources.list.d/10-buster.list'' mit Inhalt <code>deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi</code> | - ''sudo apt remove apache2'' |
- Datei anlegen ''sudo nano /etc/apt/preferences.d/10-buster'' mit Inhalt <code>Package: * | - ''sudo apt autoremove'' |
Pin: release n=stretch | - Distribution von "Stretch" auf "Buster" hochrüsten |
Pin-Priority: 900 | - ''sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list'' |
| - ''sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/raspi.list'' |
Package: * | |
Pin: release n=buster | |
Pin-Priority: 750</code> | |
- ''sudo apt update'' | - ''sudo apt update'' |
- ''sudo apt install -y -t buster php7.3-fpm php7.3-gd php7.3-intl php7.3-mbstring php7.3-mysql php7.3-imap php7.3-opcache php7.3-sqlite3 php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-cli libapache2-mod-php7.3 php-apcu'' | - ''sudo apt -y upgrade'' |
- Abhängigkeiten Middleware installieren: ''sudo apt-get install git-core mysql-server mysql-client ca-certificates apache2'' | - ''sudo apt -y dist-upgrade'' |
- Abhängigkeiten vzlogger aus "Buster" installieren: ''sudo apt install -y -t buster libssl-dev libgcrypt20-dev'' | - composer unter ''/usr/local/bin'' installieren |
- Abhängigkeiten vzlogger installieren: ''sudo apt-get install build-essential git-core cmake pkg-config subversion libcurl4-openssl-dev libgnutls28-dev libsasl2-dev uuid-dev libtool libmicrohttpd-dev libltdl-dev libjson-c-dev libleptonica-dev libunistring-dev dh-autoreconf'' | - ''sudo apt install curl'' |
| - ''cd /tmp'' |
| - ''curl -sS https://getcomposer.org/installer | php'' |
| - ''sudo mv composer.phar /usr/local/bin/composer'' |
| - ''sudo chmod +x /usr/local/bin/composer'' |
- Dann [[/software/controller/vzlogger/installation_cpp-version?|vzlogger]] und die [[/software/middleware/installation|Middleware]] entsprechend Wiki per Script installieren. | - Dann [[/software/controller/vzlogger/installation_cpp-version?|vzlogger]] und die [[/software/middleware/installation|Middleware]] entsprechend Wiki per Script installieren. |
| - [[/howto/datenmengen#performance_der_middleware_erhoehendatenaggregationcache|Middleware Aggregation]] einrichten |
| |
===== Optionen und Vorschläge ===== | ===== Optionen und Vorschläge ===== |
</code> | </code> |
Wichtig ist ''copytruncate'', weil die Datei sonst erst gelöscht und dann neu erstellt wird. Damit kommt vzlogger nicht klar. ''rotate 0'' geht natürlich auch, dann wird die alte Datei nicht rotiert sondern gleich gelöscht. | Wichtig ist ''copytruncate'', weil die Datei sonst erst gelöscht und dann neu erstellt wird. Damit kommt vzlogger nicht klar. ''rotate 0'' geht natürlich auch, dann wird die alte Datei nicht rotiert sondern gleich gelöscht. |
| |
=== composer === | |
''composer'' unter ''/usr/local/bin'' installieren | |
<code>cd /tmp | |
curl -sS https://getcomposer.org/installer | php | |
sudo mv composer.phar /usr/local/bin/composer | |
sudo chmod +x /usr/local/bin/composer</code> | |
| |
=== Push-Server === | === Push-Server === |
[[/software/middleware/push-server|Push-Server]] aktivieren/Einrichten. | [[/software/middleware/push-server|Push-Server]] aktivieren/Einrichten. |
| |
=== PPM-Middleware === | |
- Systemd Service einrichten ''sudo nano /etc/systemd/system/middleware.service''<code> | |
[Unit] | |
Description=Volkszaehler.org Middleware | |
After=syslog.target network.target | |
Requires= | |
| |
[Service] | |
ExecStart=/usr/bin/php /var/www/volkszaehler.org/vendor/bin/ppm start -c /var/www/volkszaehler.org/etc/middleware.json --cgi-path=/usr/bin/php | |
ExecReload=/bin/kill -HUP $MAINPID | |
StandardOutput=journal | |
Restart=always | |
| |
[Install] | |
WantedBy=multi-user.target </code> | |
- Systemd Service bei boot aktiveren ''sudo systemctl enable middleware'' | |
- Systemd Service starten ''sudo systemctl start middleware'' | |
- ''nano ~/volkszaehler.org/htdocs/.htaccess'' Die Kommentarzeichen in den Zeilen entfernen:<code> | |
<IfModule mod_proxy.c> | |
RewriteEngine On | |
RewriteRule ^middleware(.php)?(/.*)? http://localhost:8080/$2 [P] | |
RewriteRule ^api(/.*)$ http://localhost:8080/$1 [P] | |
</IfModule></code> | |
- Proxy aktivieren ''sudo a2enmod proxy'' und ''sudo a2enmod proxy_http'' | |
- Webserver neu starten ''sudo systemctl restart apache2'' | |
| |
| |
=== GoLang installieren === | === GoLang installieren === |
sudo apt remove golang | sudo apt remove golang |
sudo apt autoremove | sudo apt autoremove |
wget https://dl.google.com/go/go1.12.1.linux-armv6l.tar.gz | wget https://dl.google.com/go/go1.12.3.linux-armv6l.tar.gz |
sudo tar -C /usr/local -xvf go1.12.1.linux-armv6l.tar.gz | sudo tar -C /usr/local -xvf go1.12.3.linux-armv6l.tar.gz |
mkdir go | mkdir go |
echo 'export GOPATH=$HOME/go' >> ~/.profile | echo 'export GOPATH=$HOME/go' >> ~/.profile |
source .profile</code> | source .profile</code> |
| |
| === Image verkleinern === |
| [[https://github.com/Drewsif/PiShrink]] \\ |
| Vorzugsweise ohne Option -s, dann wird das Image automatisch auf maximale Kartengröße erweitert. |
| |
===== Quellen ===== | ===== Quellen ===== |
Mailingliste vz-dev {{http://volkszaehler.org/pipermail/volkszaehler-dev/2017-December/005997.html}} \\ | Mailingliste vz-dev {{http://volkszaehler.org/pipermail/volkszaehler-dev/2017-December/005997.html}} \\ |
Github Issue#555 {{https://github.com/volkszaehler/volkszaehler.org/issues/555}} | Github Issue#555 {{https://github.com/volkszaehler/volkszaehler.org/issues/555}} |