BananaPro (Bananian bis 1/2018): Unterschied zwischen den Versionen

Aus www.electronic-man.randschtoischlotzer.de
Wechseln zu: Navigation, Suche
K (TFTP-Server installieren)
K (Eman verschob die Seite BananaPro nach BananaPro (Bananian bis 1/2018), ohne dabei eine Weiterleitung anzulegen: Bananian ist "abgekündigt")
 
(36 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
==Bananian==
+
==Bananian (bis 1/2018)==
 
===Download===
 
===Download===
 
https://www.bananian.org/download
 
https://www.bananian.org/download
Zeile 90: Zeile 90:
  
 
====MySQL und PHPMyAdmin installieren====
 
====MySQL und PHPMyAdmin installieren====
  apt-get install mysql-server mysql-client php5-mysql libapache2-mod-auth-mysql
+
  apt-get install mysql-server mysql-client php5-mysql ''libapache2-mod-auth-mysql''
  
 
  reboot
 
  reboot
Zeile 96: Zeile 96:
  
  
  apt-get install php5-mysql phpmyadmin
+
  apt-get install phpmyadmin
  
 
* php.ini berabeiten:
 
* php.ini berabeiten:
Zeile 155: Zeile 155:
  
 
[http://forum-bananapi.de/Thread-Webserver-installieren-3-FTP-Server-installieren Quelle:]
 
[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
  
 
===TFTP-Server installieren===
 
===TFTP-Server installieren===
Zeile 179: Zeile 196:
 
Evtl. Rechte anpassen:
 
Evtl. Rechte anpassen:
  
chmod g+s /srv/tftp/
+
chmod g+s /srv/tftp/
chmod 775 /srv/tftp/
+
chmod 775 /srv/tftp/
 +
 
 +
===TFTP-Server "zusehen"===
 +
*tcpdump installieren:
 +
sudo apt-get install tcpdump
 +
*Auf Port 69 "lauschen":
 +
tcpdump port 69 -vv
 +
 
 +
==Windows-Netzwerkfreigabe mounten==
 +
*CIFS-Software installieren
 +
apt-get install cifs-utils
 +
*Verzeichnis erstellen
 +
mkdir /media/nas
 +
*Freigabe mounten (als root):
 +
mount.cifs //<IP-Adresse des Servers>/<Freigabename> /media/nas -o user=<Benutzername>,pass=<Passwort>
 +
 
 +
[Quelle: http://www.forum-raspberrypi.de/Thread-freigegebenen-ordner-einbinden?pid=41711#pid41711]
 +
 
 +
===BananaPro per Script sichern===
 +
*als root Benutzer Pi anlegen:
 +
adduser pi
 +
*sudo installieren
 +
apt-get install sudo
 +
*Benutzer pi als sudoer eintragen:
 +
sudo usermod -aG sudo pi
 +
*als Pi anmelden
 +
*Script downloaden:
 +
<pre>wget http://www.linux-tips-and-tricks.de/raspiBackupInstall.sh -O raspiBackupInstall.sh -q && sudo bash raspiBackupInstall.sh</pre>
 +
 
 +
*Script ausführen:
 +
 
 +
neu ab ~ Version 0.6.1.2 :
 +
sudo /usr/local/bin/raspiBackup.sh -a : -o : -t dd -z -v  /media/nas
 +
 
 +
alt:
 +
sudo /usr/local/bin/raspiBackup.sh -p /media/nas -t dd -z -v
 +
 
 +
[http://www.linux-tips-and-tricks.de/de/raspberry/23-pi-erstellt-automatisch-backups-von-sich-selbst-pi-creates-automatic-backups-of-itself/ Quelle:]
 +
 
 +
===CGI mit Python nutzen===
 +
 
 +
====Common Gateway Interface konfigurieren====
 +
 
 +
* Öffnen Sie die Apache2-Konfigurationsdatei ''/etc/apache2/sites-available/default'' mit einem Editor.
 +
pico /etc/apache2/sites-available/default
 +
 
 +
*Überprüfen ob im Abschnitt ''/usr/lib/cgi-bin'' bei der Direktive Options die Option ''ExecCGI'' wie im folgenden Beispiel aktiviert ist.
 +
 
 +
        <Directory "/usr/lib/cgi-bin">
 +
                AllowOverride None
 +
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 +
                Order allow,deny
 +
                Allow from all
 +
        </Directory>
 +
 
 +
====Funktionstest des Common Gateway Interfaces====
 +
*Die Python-Skripte welche durch den Apache2 Webserver ausgeführt werden sollen, müssen im Verzeichnis ''/usr/lib/cgi-bin'' abgelegt werden. Für einen ersten Funktionstest erstellen Sie die Datei ''/usr/lib/cgi-bin/test.py''.
 +
pico /usr/lib/cgi-bin/test.py
 +
*Fügen Sie in diese Datei das folgende Python-Skript ein.
 +
 
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
 
 +
# enable debugging
 +
import cgitb
 +
cgitb.enable()
 +
 
 +
print "Content-Type: text/plain;charset=utf-8"
 +
print
 +
 
 +
print "Funktionstest erfolgreich."
 +
 
 +
*Nachdem Sie die Datei gespeichert haben, müssen Sie die Zugriffsrechte anpassen damit das Skript ausgeführt werden kann.
 +
chmod 0755 /usr/lib/cgi-bin/test.py
 +
 
 +
*Öffnen Sie jetzt einen Browser und rufen das Python-Skript auf. Sobald Sie die Ausgabe ''Funktionstest erfolgreich'' angezeigt bekommen, funktioniert die Ausführung des Python-Skripts über das Common Gateway Interface von Apache2.
 +
 
 +
http://<''IP-Adresse oder URLs des Webservers''>/cgi-bin/test.py
 +
[http://www.gtkdb.de/index_36_2505.html 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
 +
<pre>git clone https://github.com/LeMaker/RPi.GPIO_BP -b bananapro</pre>
 +
* 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
 +
 
 +
[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:]
 +
 
 +
===SMB-Zugriff (Share) einrichten ===
 +
 
 +
*Software installieren
 +
apt-get install samba samba-common-bin
 +
*Benutzer einrichten
 +
smbpasswd -a pi
 +
*Server einstellen
 +
service samba stop
 +
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 starten
 +
service samba start
 +
 
 +
[http://forum.lemaker.org/thread-1751-1-1.html Quelle:]
 +
 
 +
===NTFS-formatierte USB-HDD mounten===
 +
 
 +
I found the solution:
 +
 
 +
1.
 +
apt-get install ntfs-3g (necessary for NTFS formatted drives)
 +
2.
 +
apt-get install usbmount
 +
3. edit usbmount.conf on /etc/usbmount with the following parameters:
 +
    FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus ntfs"
 +
    USB_NTFS3G="yes"
 +
    MOUNTOPTIONS="noexec,nodev,noatime,nodiratime"
 +
 
 +
Optionally reduce mounting points:
 +
    MOUNTPOINTS="/media/usb0 /media/usb1 /media/usb2"
 +
 
 +
After that, automatically mounting / unmounting work well.
 +
 
 +
[http://forum.lemaker.org/forum.php?mod=redirect&goto=findpost&ptid=5612&pid=27082 Quelle:]
 +
 
 +
===Webseiten "spiegeln"===
 +
<pre>wget -m -v ftp://username:password@server.net/ --no-host-directories</pre>
 +
 
 +
==Segmentation Fault bei apt-get reparieren==
 +
 
 +
rm /var/cache/apt/*.bin
 +
 
 +
[http://www.mister-blogbuster.de/2010/12/segmentation-fault-bei-apt-get-update/ Quelle:]

Aktuelle Version vom 28. Januar 2018, 10:34 Uhr

Bananian (bis 1/2018)

Download

https://www.bananian.org/download

Infos zur Hardware

https://www.bananian.org/hardware

Erstanmeldung

Benutzer:

root

Kennwort:

pi

WLAN-Modul in Bananian einbinden

nano /etc/modules

einfügen:

ap6210

WLAN konfigurieren

nano /etc/network/interfaces
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "NAME-WLAN-NETZWERK"
wpa-psk "WLAN-KEY"
shutdown -r now

Quelle:

Blinken von LED1 "abschalten"

nano /etc/rc.local
echo none > /sys/class/leds/green\:ph24\:led1/trigger
shutdown -r now

Quelle:

Bananian einrichten

 bananian-config

Bananian aktualisieren

bananian-update
apt-get update
apt-get upgrade

IR-Eingang auslesen/anzeigen

cat /proc/bus/input/devices
cat /dev/input/event0

cat /dev/input/event0 | hexdump -C

LIRC einrichten

sudo apt-get install lirc evtest 
evtest /dev/input/event0

http://forum-bananapi.de/Thread-Infrarot-einfache-Grundlage-mit-lirc-und-python

LAMP installieren

Apache Webserver installieren

apt-get install apache2 make gcc build-essential

Webserver-Test

  • im Browser
http://bananapi/

eingeben

Rechte für Apache setzen

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

Quelle:

PHP5 und Module installieren

apt-get install php5 libapache2-mod-php5

Quelle:

MySQL und PHPMyAdmin installieren

apt-get install mysql-server mysql-client php5-mysql libapache2-mod-auth-mysql
reboot


apt-get install phpmyadmin
  • php.ini berabeiten:
nano /etc/php5/apache2/php.ini
  • einfügen:
extension=mysql.so
  • ändern:
...
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
...
post_max_size = 128M
...
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
...
upload_max_filesize = 128M


service apache2 restart
PHPMyAdmin aufrufen
http://bananapi/phpmyadmin/

Quelle

FTP installieren

apt-get install proftpd-basic
  • Nach Möglichkeit standalone-Betrieb auswählen (nicht per inetd-starten)
  • PRO-FTP Konfiguration erzeugen:
nano /etc/proftpd/proftpd.conf
DefaultRoot /
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off
  • 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
  • Rechte anpassen:
chmod g+s /var/www/
chmod 775 /var/www/
chown -R www-data:www-data /var/www/

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

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/

TFTP-Server "zusehen"

  • tcpdump installieren:
sudo apt-get install tcpdump
  • Auf Port 69 "lauschen":
tcpdump port 69 -vv

Windows-Netzwerkfreigabe mounten

  • CIFS-Software installieren
apt-get install cifs-utils
  • Verzeichnis erstellen
mkdir /media/nas
  • Freigabe mounten (als root):
mount.cifs //<IP-Adresse des Servers>/<Freigabename> /media/nas -o user=<Benutzername>,pass=<Passwort>

[Quelle: http://www.forum-raspberrypi.de/Thread-freigegebenen-ordner-einbinden?pid=41711#pid41711]

BananaPro per Script sichern

  • als root Benutzer Pi anlegen:
adduser pi
  • sudo installieren
apt-get install sudo
  • Benutzer pi als sudoer eintragen:
sudo usermod -aG sudo pi
  • als Pi anmelden
  • Script downloaden:
wget http://www.linux-tips-and-tricks.de/raspiBackupInstall.sh -O raspiBackupInstall.sh -q && sudo bash raspiBackupInstall.sh
  • Script ausführen:

neu ab ~ Version 0.6.1.2 :

sudo /usr/local/bin/raspiBackup.sh -a : -o : -t dd -z -v  /media/nas 

alt:

sudo /usr/local/bin/raspiBackup.sh -p /media/nas -t dd -z -v

Quelle:

CGI mit Python nutzen

Common Gateway Interface konfigurieren

  • Öffnen Sie die Apache2-Konfigurationsdatei /etc/apache2/sites-available/default mit einem Editor.
pico /etc/apache2/sites-available/default
  • Überprüfen ob im Abschnitt /usr/lib/cgi-bin bei der Direktive Options die Option ExecCGI wie im folgenden Beispiel aktiviert ist.
       <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

Funktionstest des Common Gateway Interfaces

  • Die Python-Skripte welche durch den Apache2 Webserver ausgeführt werden sollen, müssen im Verzeichnis /usr/lib/cgi-bin abgelegt werden. Für einen ersten Funktionstest erstellen Sie die Datei /usr/lib/cgi-bin/test.py.
pico /usr/lib/cgi-bin/test.py
  • Fügen Sie in diese Datei das folgende Python-Skript ein.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# enable debugging
import cgitb
cgitb.enable()
print "Content-Type: text/plain;charset=utf-8"
print
print "Funktionstest erfolgreich."
  • Nachdem Sie die Datei gespeichert haben, müssen Sie die Zugriffsrechte anpassen damit das Skript ausgeführt werden kann.
chmod 0755 /usr/lib/cgi-bin/test.py
  • Öffnen Sie jetzt einen Browser und rufen das Python-Skript auf. Sobald Sie die Ausgabe Funktionstest erfolgreich angezeigt bekommen, funktioniert die Ausführung des Python-Skripts über das Common Gateway Interface von Apache2.
http://<IP-Adresse oder URLs des Webservers>/cgi-bin/test.py

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:

SMB-Zugriff (Share) einrichten

  • Software installieren
apt-get install samba samba-common-bin
  • Benutzer einrichten
smbpasswd -a pi
  • Server einstellen
service samba stop
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 starten
service samba start

Quelle:

NTFS-formatierte USB-HDD mounten

I found the solution:

1.

apt-get install ntfs-3g (necessary for NTFS formatted drives)

2.

apt-get install usbmount

3. edit usbmount.conf on /etc/usbmount with the following parameters:

   FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus ntfs"
   USB_NTFS3G="yes"
   MOUNTOPTIONS="noexec,nodev,noatime,nodiratime"

Optionally reduce mounting points:

   MOUNTPOINTS="/media/usb0 /media/usb1 /media/usb2"

After that, automatically mounting / unmounting work well.

Quelle:

Webseiten "spiegeln"

wget -m -v ftp://username:password@server.net/ --no-host-directories

Segmentation Fault bei apt-get reparieren

rm /var/cache/apt/*.bin

Quelle: