BananaPro (Armbian ab 1/2018): Unterschied zwischen den Versionen

Aus www.electronic-man.randschtoischlotzer.de
Wechseln zu: Navigation, Suche
K (TFTP-Server "zusehen")
K (SQL-Datenbank-Export-Datei importieren)
 
(48 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Armbian (Debian Server Mainline Kernel) (ab 1/2018)==
 
==Armbian (Debian Server Mainline Kernel) (ab 1/2018)==
 +
ARMBIAN 5.37 user-built Debian GNU/Linux 9 (stretch) 4.13.16-sunxi
 
===Download===
 
===Download===
https://www.armbian.com/banana-pi-pro/
+
*https://www.armbian.com/banana-pi-pro/
 +
*Download: Armbian_5.35_Bananapipro_Debian_stretch_next_4.13.16.7z (249.265 kB)<br>
 +
*momentanes Image: '''Armbian_5.35_Bananapipro_Debian_stretch_next_4.13.16.img''' (1.355.776 kB)<br>
 +
 
 
===Infos zur Hardware ===
 
===Infos zur Hardware ===
 
https://linux-sunxi.org/Banana_Pro
 
https://linux-sunxi.org/Banana_Pro
Zeile 11: Zeile 15:
 
  1234
 
  1234
  
===Datum, Uhrzeit etc. einstellen===
+
===Aktualisieren===
 +
apt-get update
 +
apt-get upgrade
 +
apt-get dist-upgrade
 +
 +
====Neustarten====
 +
* Notwendig, weil der '''dbus-Dämon''' ersetzt werden soll:<code> A reboot is required to replace the running dbus-daemon. Please reboot the system when convenient.</code>
 +
 +
reboot
 +
 
 +
===Zeitzone einstellen===
 
  armbian-config
 
  armbian-config
  
 
===Locale auf Deutsch stellen===
 
===Locale auf Deutsch stellen===
+
Ein Workaround, weil '''<code>armbian-config</code>''' hier wohl momentan einen Fehler (Bug) hat:
 +
 
 
  sudo apt-get install task-german
 
  sudo apt-get install task-german
  
Zeile 22: Zeile 37:
 
  locale -a
 
  locale -a
  
  env | egrep '(LC|LANG)
+
  locale-gen
  
 
  sudo nano /etc/default/keyboard
 
  sudo nano /etc/default/keyboard
 +
 +
update-locale
  
 
  sudo nano /etc/default/locale
 
  sudo nano /etc/default/locale
  
 
  armbian-config
 
  armbian-config
 +
 +
env | egrep '(LC|LANG)'
 +
 +
[https://docs.armbian.com/User-Guide_Fine-Tuning/ Quelle:]
  
 
==NTFS-formatierte USB-HDD bei Start mounten==
 
==NTFS-formatierte USB-HDD bei Start mounten==
Zeile 34: Zeile 55:
 
*falls nicht vorhanden '''<code>ntfs-3g</code>''' für Zugriff auf Windows-NTFS-formatierte Datenträger installieren:
 
*falls nicht vorhanden '''<code>ntfs-3g</code>''' für Zugriff auf Windows-NTFS-formatierte Datenträger installieren:
 
  apt-get install ntfs-3g
 
  apt-get install ntfs-3g
 +
 +
*Mountpunkt erstellen:
 +
mkdir /media/usb0
  
 
*die Cron-Job-Tabelle um einen Mount-Befehl erweitern:
 
*die Cron-Job-Tabelle um einen Mount-Befehl erweitern:
Zeile 80: Zeile 104:
 
*Server einstellen
 
*Server einstellen
 
  service samba stop
 
  service samba stop
 +
mv /etc/samba/smb.conf /etc/samba/smb.conf.original
 
  nano /etc/samba/smb.conf
 
  nano /etc/samba/smb.conf
 
*Inhalt der '''<code>smb.conf</code>'''
 
*Inhalt der '''<code>smb.conf</code>'''
Zeile 112: Zeile 137:
 
       path = /media/usb0
 
       path = /media/usb0
  
*Server starten
+
*Server neu starten
  service samba start
+
  service smbd restart
  
 
[http://forum.lemaker.org/thread-1751-1-1.html Quelle:]
 
[http://forum.lemaker.org/thread-1751-1-1.html Quelle:]
Zeile 135: Zeile 160:
  
 
[http://wiki.lemaker.org/RPi.GPIO Quelle:]
 
[http://wiki.lemaker.org/RPi.GPIO Quelle:]
 +
 +
==Benutzer Rechte auf GPIO gewähren==
 +
 +
===Enable GPIO access===
 +
 +
Interrupts work by monitoring the GPIO pins. You'll need to give the user ''bananapi'' access to these by adding the following udev rule (all on one line) to <code>/etc/udev/rules.d/51-gpio.rules::</code>
 +
 +
SUBSYSTEM=="gpio*", PROGRAM="
 +
/bin/sh -c 'chown -R root:gpio /sys/class/gpio &&
 +
chmod -R 770 /sys/class/gpio;
 +
chown -R root:gpio /sys/devices/platform/gpio-sunxi/gpio &&
 +
chmod -R 770 /sys/devices/platform/gpio-sunxi/gpio'"
 +
 +
with the following command::
 +
 +
$ sudo nano /etc/udev/rules.d/51-gpio.rules
 +
 +
Then create the gpio group and add the user ''bananapi''::
 +
 +
$ sudo groupadd gpio
 +
$ sudo gpasswd -a bananapi gpio
 +
 +
You will have to reboot after setting up SPI and GPIO permissions.
 +
 +
[https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi-nuLsloHMAhXDHQ8KHTSVArMQFggfMAA&url=https%3A%2F%2Fgithub.com%2FLeMaker%2FLNcommon&usg=AFQjCNFf-pvaub9fXlRhD2wONN4R7GM_Gw Quelle:]
  
 
==[[TM1637 LED Display ansteuern - Only 4 PIN Red Common Anode 4-Segment Digital Tube Display For Arduino Raspberry]]==
 
==[[TM1637 LED Display ansteuern - Only 4 PIN Red Common Anode 4-Segment Digital Tube Display For Arduino Raspberry]]==
Zeile 165: Zeile 215:
  
 
===PXE einrichten===
 
===PXE einrichten===
 +
apt-get install dnsmasq
  
 
*den DNSMASQ-Dämon um ein Startscript erweitern:
 
*den DNSMASQ-Dämon um ein Startscript erweitern:
Zeile 199: Zeile 250:
 
*tcpdump installieren:
 
*tcpdump installieren:
 
  sudo apt-get install tcpdump
 
  sudo apt-get install tcpdump
*Auf TFTP7PXE-Ports "lauschen":
+
*Auf TFTP / PXE-Ports "lauschen":
 
  tcpdump port 69 -vv
 
  tcpdump port 69 -vv
 
  tcpdump port 4011 -vvvvv
 
  tcpdump port 4011 -vvvvv
 +
sudo tcpdump -i eth0 port tftp
 
  sudo tcpdump -i eth0 port bootpc
 
  sudo tcpdump -i eth0 port bootpc
 +
 +
==FTP installieren==
 +
apt-get install proftpd-basic
 +
* Nach Möglichkeit standalone-Betrieb auswählen (nicht per inetd-starten)
 +
 +
*Original-PRO-FTP Konfiguration sichern:
 +
cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.original
 +
 +
*Benutzer anlegen:
 +
cd /etc/proftpd/
 +
ftpasswd --passwd --name ftpuser --uid 33 --gid 33 --home /var/www/ --shell /bin/false
 +
 +
*Server neu starten
 +
/etc/init.d/proftpd restart
 +
 +
[http://forum-bananapi.de/Thread-Webserver-installieren-3-FTP-Server-installieren Quelle:]
 +
 +
===root für FTP-Zugriff freigeben===
 +
*Datei editieren:
 +
nano /etc/ftpusers
 +
* root auskommentieren:
 +
#root
 +
 +
[http://serverfault.com/questions/34678/how-to-configure-vsftpd-to-allow-root-logins Quelle:]
 +
 +
*Datei editieren:
 +
nano /etc/proftpd/proftpd.conf
 +
*einfügen:
 +
RootLogin on
 +
 +
[http://www.proftpd.de/RootLogin.190.0.html Quelle:]
 +
*Passwort und Directory setzen:
 +
ftpasswd --passwd --name root --uid 0 --gid 0 --home // --shell /bin/false
 +
 +
===LAMP installieren===
 +
====Apache Webserver installieren====
 +
apt-get install apache2 make gcc build-essential
 +
 +
====Webserver-Test====
 +
* im Browser
 +
http://bananapipro/
 +
eingeben
 +
 +
====Rechte für Apache setzen====
 +
chmod g+s /var/www
 +
chmod 775 /var/www
 +
chown -R www-data:www-data /var/www
 +
 +
[http://forum-bananapi.de/Thread-Webserver-installieren-1-Apache-PHP-installieren?pid=231#pid231 Quelle:]
 +
 +
====PHP7 und Module installieren====
 +
apt-get install php7.0 libapache2-mod-php7.0
 +
 +
[https://hackedit.de/530/ Quelle]
 +
 +
====PHP testen====
 +
*Datei erstellen:
 +
nano /var/www/html/info.php
 +
:Inhalt:
 +
<?php echo "server is online </br>"; phpinfo(); ?>
 +
*im Browser aufrufen:
 +
http://bananapipro/info.php
 +
 +
====MySQL und PHPMyAdmin installieren====
 +
apt-get install mysql-server mysql-client
 +
 +
*Passwort für Root setzen:
 +
mysqladmin -u root password NEWPASSWORD
 +
 +
*als root anmelden:
 +
mysql -u root -p
 +
 +
*Benutzer phpadmin in SQL alle Rechte zuweisen:
 +
 +
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
 +
FLUSH PRIVILEGES;
 +
 +
reboot
 +
 +
apt-get install phpmyadmin
 +
 +
* <code>php.ini</code> bearbeiten:
 +
nano /etc/php/7.0/apache2/php.ini
 +
 +
*ändern:
 +
<pre>...
 +
;;;;;;;;;;;;;;;;;
 +
; Data Handling ;
 +
;;;;;;;;;;;;;;;;;
 +
...</pre>
 +
 +
post_max_size = 128M
 +
 +
<pre>...
 +
;;;;;;;;;;;;;;;;
 +
; File Uploads ;
 +
;;;;;;;;;;;;;;;;
 +
...</pre>
 +
 +
upload_max_filesize = 128M
 +
 +
 +
service apache2 restart
 +
 +
[https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7/763359 Quelle]
 +
 +
=====PHPMyAdmin aufrufen=====
 +
 +
http://bananapipro/phpmyadmin/
 +
 +
[http://forum-bananapi.de/Thread-Webserver-installieren-2-MySQL-PHPMyAdmin Quelle]
 +
[https://www.raspberrypi.org/forums/viewtopic.php?t=196313 Quelle2]
 +
 +
==SQL-Datenbank-Export-Datei importieren==
 +
 +
mysql --user=xyz --password=abc nameDerDatenbank < nameDerDatei.sql
 +
 +
[https://www.php.de/forum/webentwicklung/datenbanken/25757-mysql-datei-in-datenbank-einspielen?p=388150#post388150 Quelle:]
 +
 +
==HDD an SATA-Port anschliessen==
 +
https://blog.doenselmann.com/banana-pi-mit-ssd-hdd-betreiben/

Aktuelle Version vom 2. April 2020, 08:46 Uhr

Armbian (Debian Server Mainline Kernel) (ab 1/2018)

ARMBIAN 5.37 user-built Debian GNU/Linux 9 (stretch) 4.13.16-sunxi

Download

  • https://www.armbian.com/banana-pi-pro/
  • Download: Armbian_5.35_Bananapipro_Debian_stretch_next_4.13.16.7z (249.265 kB)
  • momentanes Image: Armbian_5.35_Bananapipro_Debian_stretch_next_4.13.16.img (1.355.776 kB)

Infos zur Hardware

https://linux-sunxi.org/Banana_Pro

Erstanmeldung

Benutzer:

root

Kennwort:

1234

Aktualisieren

apt-get update
apt-get upgrade
apt-get dist-upgrade

Neustarten

  • Notwendig, weil der dbus-Dämon ersetzt werden soll: A reboot is required to replace the running dbus-daemon. Please reboot the system when convenient.
reboot

Zeitzone einstellen

armbian-config

Locale auf Deutsch stellen

Ein Workaround, weil armbian-config hier wohl momentan einen Fehler (Bug) hat:

sudo apt-get install task-german
sudo dpkg-reconfigure locales
locale -a
locale-gen
sudo nano /etc/default/keyboard
update-locale
sudo nano /etc/default/locale
armbian-config
env | egrep '(LC|LANG)'

Quelle:

NTFS-formatierte USB-HDD bei Start mounten

  • falls nicht vorhanden ntfs-3g für Zugriff auf Windows-NTFS-formatierte Datenträger installieren:
apt-get install ntfs-3g
  • Mountpunkt erstellen:
mkdir /media/usb0
  • die Cron-Job-Tabelle um einen Mount-Befehl erweitern:
crontab -e
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
@reboot sleep 60;  mount -t auto /dev/sda1 /media/usb0

  • Zeile einfügen:
@reboot sleep 60;  mount -t auto /dev/sda1 /media/usb0

Quelle:

SMB-Zugriff (Share) einrichten

  • Software installieren
apt-get install samba samba-common-bin
  • Benutzer einrichten
smbpasswd -a pi
  • Server einstellen
service samba stop
mv /etc/samba/smb.conf /etc/samba/smb.conf.original
nano /etc/samba/smb.conf
  • Inhalt der smb.conf
    [global]
       workgroup = WORKGROUP
       #usershare allow guests = yes
       #security=share
       security=user
       follow symlinks = yes
       wide links = no
       unix extensions = no
       lock directory = /var/cache/samba
   [Pi]
       browsable = yes
       read only = no
       #guest ok = yes
       valid users = pi
       path = /home/pi
   [devices]
       browsable = yes
       read only = no
       #guest ok = yes
       valid users = pi
       path = /media
       force user = root
  • optional:
      [MEDIA USB-HDD 1.0 TB]
      browsable = yes
      read only = no
      #guest ok = yes
      valid users = pi
      path = /media/usb0
  • Server neu starten
service smbd restart

Quelle:

RPi.GPIO auf Banana Pro einrichten

Voraussetzungen: Paket sudo muss instaliert sein.

  • GIT installieren:
sudo apt-get update
sudo apt-get install git 
  • Paket herunterladen:
cd /root
git clone https://github.com/LeMaker/RPi.GPIO_BP -b bananapro
  • Installation:
sudo apt-get update
sudo apt-get install python-dev
  • Kompilieren und Installieren:
cd RPi.GPIO_BP
python setup.py install                 
sudo python setup.py install

Quelle:

Benutzer Rechte auf GPIO gewähren

Enable GPIO access

Interrupts work by monitoring the GPIO pins. You'll need to give the user bananapi access to these by adding the following udev rule (all on one line) to /etc/udev/rules.d/51-gpio.rules::

SUBSYSTEM=="gpio*", PROGRAM="
/bin/sh -c 'chown -R root:gpio /sys/class/gpio &&
chmod -R 770 /sys/class/gpio;
chown -R root:gpio /sys/devices/platform/gpio-sunxi/gpio &&
chmod -R 770 /sys/devices/platform/gpio-sunxi/gpio'"

with the following command::

$ sudo nano /etc/udev/rules.d/51-gpio.rules

Then create the gpio group and add the user bananapi::

$ sudo groupadd gpio
$ sudo gpasswd -a bananapi gpio

You will have to reboot after setting up SPI and GPIO permissions.

Quelle:

TM1637 LED Display ansteuern - Only 4 PIN Red Common Anode 4-Segment Digital Tube Display For Arduino Raspberry

TFTP-Server installieren

  • Server installieren:
apt-get install tftpd-hpa
  • Einstelllungen anpassen:
nano /etc/default/tftpd-hpa

Inhalt der Datei wie folgt ändern:

TFTP_USERNAME=”tftp”
TFTP_DIRECTORY=”/srv/tftp”
TFTP_ADDRESS=”0.0.0.0:69″ 
TFTP_OPTIONS=”–secure -4
  • Server neu starten:
service tftpd-hpa restart

Quelle:

Hinweis: Dateien in /srv/tftp ablegen.

Evtl. Rechte anpassen:

chmod g+s /srv/tftp/
chmod 775 /srv/tftp/

PXE einrichten

apt-get install dnsmasq
  • den DNSMASQ-Dämon um ein Startscript erweitern:
nano /etc/dnsmasq.d/04-pxe.conf
#port=0
#enable-tftp
tftp-root=/srv/tftp
#dhcp-no-override
dhcp-range=192.168.178.0,proxy
dhcp-boot=/boot/pxelinux.0,0.0.0.0.0
## PXE's native menu ###
pxe-prompt="Bitte F8 druecken fuer Bootoptionen", 3
pxe-service=X86PC,"Raspbian x86 Jessie Pixel", /boot/raspbianx86/pxelinux
pxe-service=X86PC,"Netzwerk Boot Ubuntu", /boot/ubuntu/pxelinux
pxe-service=X86PC,"Netzwerk Boot PuppyLinux", /boot/puppy/pxelinux
pxe-service=X86PC,"Netzwerk Boot MS-DOS 6.22", /boot/msdos/pxelinux
pxe-service=X86PC,"Mem Test86 v4.37", /boot/memtest/pxelinux
  • den DNSMASQ-Dämon neu starten:
sudo service dnsmasq restart

Quelle1: Quelle2: Quelle3: Quelle4: Quelle5:

TFTP-Server "zusehen"

  • tcpdump installieren:
sudo apt-get install tcpdump
  • Auf TFTP / PXE-Ports "lauschen":
tcpdump port 69 -vv
tcpdump port 4011 -vvvvv
sudo tcpdump -i eth0 port tftp
sudo tcpdump -i eth0 port bootpc

FTP installieren

apt-get install proftpd-basic
  • Nach Möglichkeit standalone-Betrieb auswählen (nicht per inetd-starten)
  • Original-PRO-FTP Konfiguration sichern:
cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.original

  • Benutzer anlegen:
cd /etc/proftpd/
ftpasswd --passwd --name ftpuser --uid 33 --gid 33 --home /var/www/ --shell /bin/false
  • Server neu starten
/etc/init.d/proftpd restart

Quelle:

root für FTP-Zugriff freigeben

  • Datei editieren:
nano /etc/ftpusers
  • root auskommentieren:
#root

Quelle:

  • Datei editieren:
nano /etc/proftpd/proftpd.conf
  • einfügen:
RootLogin on

Quelle:

  • Passwort und Directory setzen:
ftpasswd --passwd --name root --uid 0 --gid 0 --home // --shell /bin/false

LAMP installieren

Apache Webserver installieren

apt-get install apache2 make gcc build-essential

Webserver-Test

  • im Browser
http://bananapipro/

eingeben

Rechte für Apache setzen

chmod g+s /var/www
chmod 775 /var/www
chown -R www-data:www-data /var/www

Quelle:

PHP7 und Module installieren

apt-get install php7.0 libapache2-mod-php7.0

Quelle

PHP testen

  • Datei erstellen:
nano /var/www/html/info.php
Inhalt:
<?php echo "server is online </br>"; phpinfo(); ?>
  • im Browser aufrufen:
http://bananapipro/info.php

MySQL und PHPMyAdmin installieren

apt-get install mysql-server mysql-client
  • Passwort für Root setzen:
mysqladmin -u root password NEWPASSWORD
  • als root anmelden:
mysql -u root -p
  • Benutzer phpadmin in SQL alle Rechte zuweisen:
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
reboot
apt-get install phpmyadmin
  • php.ini bearbeiten:
nano /etc/php/7.0/apache2/php.ini
  • ändern:
...
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
...
post_max_size = 128M
...
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
...
upload_max_filesize = 128M


service apache2 restart

Quelle

PHPMyAdmin aufrufen
http://bananapipro/phpmyadmin/

Quelle Quelle2

SQL-Datenbank-Export-Datei importieren

mysql --user=xyz --password=abc nameDerDatenbank < nameDerDatei.sql

Quelle:

HDD an SATA-Port anschliessen

https://blog.doenselmann.com/banana-pi-mit-ssd-hdd-betreiben/