![]() |
![]() |
![]() |
|||||||||
![]() |
Folgende Befehlskette wende ich eigentlich bei JEDER Neuinstallation eines Raspberry Pis an um für fast alles gewappnet zu sein. Geschrieben wurde es für eine alte Version 1.3 von Raspberian, die bestimmt niemand mehr installiert. Mittlerweile habe ich festgestellt das sich bei Proftpd und bei Samba und Apache einiges geändert hat. Grundlagen: Eine brauchbare Grundinstallation auf dem Raspberry Pi erstellen.Inkl. FTP, SMB, Email Versand. Erstmal einloggen: Ihr öffnet auf eurem System das Terminal und loggt euch dann mit der bekannten IP des Raspberry Pis in dem System ein (ich nehme als als beispiel hier die 192.168.0.24 als IP des Raspberry Pis): ssh 192.168.0.24 -l pi
Als Passwort gebt ihr "raspberry" ein. Zu aller erst die wichtigsten Befehle... Das Passwort ändern ! passwd pi
Anmerkung: Das Passwort muss eine gewisse Sicherheit bieten, sonst nimmt das System es nicht an. Umgehen kann man es mittels "sudo raspi-config" und dort ändert man das Passwort von der Oberfläche aus, dann kann man auch "unsichere" auswählen.
Alle erdenklichen Updates/ Upgrades Installieren, so das man ein durchaus aktuelles System hat. sudo apt-get update sudo apt-get upgrade Anschließend geht es mit den Erweitern des funktionsumfangs weiter... |
![]() |
|||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Automatisiertes Reparieren des Filesystems aktivieren. Über diese Zeile bin ich beim googlen gestoßen und fand Sie sinnvoll. Einige Distributionen haben das mittlerweile von Haus aus aktiviert. Falls im Dateisystem irgendwelche Fehler auftreten, versucht das System diese automatisch zu reparieren. Natürlich ist das nicht immer sinnvoll, gerade bei schwerwiegenden Fehlern, aber dafür hat man ja dann sein "Backup". 8-) sudo nano /etc/default/rcS
Hier sucht ihr: FSCKFIX=no
und ändert es zu FSCKFIX=yes
Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Damit ein Webserver auf dem Pi läuft und auch PHP verarbeitet werden braucht man Apache. Es gibt auch andere schlankere Webserver alternativen, aber ich bin bei diesem pedant hängen geblieben, der sehr zuverlässig läuft. sudo apt-get install apache2 php5
GD Library für Bildverarbeitung installieren: sudo apt-get install php5-gd |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
![]() |
ACHTUNG: Bei einigen distributionen funktioniert die konfiguration des ProFPTd Clienten nicht so wie es hier steht - es scheint schon neuere Versionen zu geben. sudo apt-get install proftpd
Das ganze dann noch konfigurieren: sudo nano /etc/proftpd/proftpd.conf
(ganz nach unten Scrollen.... (CTRL +V) und folgendes einfügen: DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c AuthUserFile /etc/proftpd/ftpd.passwd AuthPAM off RequireValidShell off
Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen. Weiter geht es mit Anlegen des FTP Ordners: cd /var/www sudo mkdir ftp User Anlegen (Beispiel: User: penelope ): cd /etc/proftpd/ sudo ftpasswd --passwd --name penelope --uid 33 --gid 33 --home /var/www/ftp --shell /bin/false anschließend ein schönes Passwort wählen. So kann man viele benötigte User anlegen, einfach immer nur den Namen in der Zeile ändern.
Jetzt noch die Userrechte anpassen: sudo chmod g+s /var/www/ftp
sudo chmod 775 /var/www/ftp sudo chown -R www-data:www-data /var/www/ftp und den FTP Server neu starten: sudo /etc/init.d/proftpd restart
Konfigurations Tipps Wer einen Fileserver betreiben will, sollte den Zugriff bei vielen Usern etwas beschränken, da viele auch gute Download Manager verwenden und das System so an die grenzen bringt. So kann man mit sudo nano /etc/proftpd/proftpd.conf
Hinten folgendes einfügen.... Sich selbst als admin "outen" und keinerlei beschränkung haben (beispiel User "pi"). Alle anderen sind auf 600Kbit Downloadrate beschränkt und können jeweils nur 2 Verbindungen aufbauen: <IfUser !pi>
TransferRate APPE,RETR 600 MaxClientsPerHost 2 MaxHostsPerUser 2 MaxClientsPerUser 2 </IfUser> Uploads sind ohne Beschränkung möglich: MaxStoreFileSize "*"
Löschen darf nur der User "pi" <Directory /var/www/ftp >
<Limit DELE> AllowUser pi DenyAll </Limit> </Directory> Einzelne User "Downgraden" auf 200 Kbit. Beispiel User :"leecher" <IfUser leecher>
TransferRate APPE,RETR 200 </IfUser> Diese Werte haben sich in der Vergangenheit als "Ideal" heraus gestellt. Natürlich ist kein komplettes Traffic Sharing, findige User nutzen gute Downloadmanager und ziehen bei maximaler Bandbreite weiterhin was geht. Entweder installiert man sich hier den proftpd Traffic Shaper (habe ich nicht hinbekommen) oder man reduziert die Bandbreite des gesamten Raspberry Pis auf ein Minimum.
|
![]() |
||||
![]() |
![]() |
![]() |
![]() |
![]() |
||
![]() |
Eine feste IP vergeben Die mit wichtigste Einstellung beim Raspberry Pi ist meiner Meinung nach eine feste IP, damit man den Pi direkt ansprechen kann. sudo nano /etc/network/interfaces
Diese Zeile suchen: iface eth0 inet dhcp
und durch dieses ersetzen (setzt die IP auf 192.168.0.24), bei Gateway sollte eure Router IP, in diesem falle die 192.168.0.1 stehen): iface eth0 inet static
address 192.168.0.24 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 192.168.0.1 Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen.
Weiterhin sollte man noch den DHCP Clienten deaktiveren, wenn man ihn nicht braucht: Bei Raspbian Wheezy (V3.1) sudo service dhcpcd stop
sudo update-rc.d -f dhcpcd remove ...und bei Jessie (V3.4) oder höher: sudo service dhcpcd stop
sudo systemctl disable dhcpcd Ein Reboot kann an dieser Stelle nicht schaden, man sollte aber dran denken das man jetzt mit der richten IP sich einloggen sollte. |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Hostnamen ändern sudo nano /etc/hostname
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Das finde ich mit das sinnvollste was man installieren kann. Das SMB Netzwerk Protokoll, damit man per Netzwerk Freigabe direkt auf den PI zugreifen kann und dort wie auf einer externen Festplatte drauf Arbeiten kann - bequemer als FTP. sudo apt-get install samba samba-common-bin
Samba konfigurieren: sudo nano /etc/samba/smb.conf
Die Zeile "#security = user" finden und die Raute am anfang entfernen. So das dort "security = user" steht. Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen. User anlegen, die per SMB zugreifen dürfen (Beispiel: Pi) sudo smbpasswd -a pi
Anschließend das Passwort eingeben die der User für die SMB Freigabe benötigt. Rechte anpassen: sudo chown -R pi:pi /var/www/
Freigabe Ordner einfügen: sudo nano /etc/samba/smb.conf
Ganz nach unten Scrollen (CTRTL+ V) und dort eine Freigabe eingeben (Nennen wir sie mal "server"). Hier sieht man das wenn man mal später den "server" mountet das man den Ordner "/var/www/" angezeigt bekommt. [server]
path = /var/www/ writeable = yes guest ok = no Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen. Samba Neustarten: sudo /etc/init.d/samba restart
Ab sofort könnt ihr euren RPi auf eurem Rechner als Netzwerk Freigabe mounten und direkt darauf arbeiten.
Sollte das hier oben nicht funktionieren, hat sich wohl bei Samba so einiges geändert..., dann habe ich hier eine sehr gute Anleitung dazu gefunden: https://www.elektronik-kompendium.de/sites/raspberry-pi/2007071.htm |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Email Versand für den Webserver aktiveren Wenn der Raspberry Pi auch nach außen kommunizieren soll, (ideal für Tagesaktuelle Wetterberichte/Statusmeldungen), ist es sinnvoll ein protokoll für den email Versand zu installieren: sudo apt-get install ssmtp
sudo apt-get install mailutils Das ganze muss natürlich noch konfiguriert werden. Ich hatte es mit verschiedenen Email Diensten ausprobiert und habe letztendlich aufgegeben und mir einen Gmail Account eingerichtet der hervorragend zu zuverlässig funktioniert: sudo nano /etc/ssmtp/ssmtp.conf
Ich lösche eigentlich immer den kompletten inhalt und ersetze ihn durch das vorbereitete: # Config file for sSMTP sendmail mailhub=smp.gmail.com:587 hostname=server UseSTARTTLS=YES FromLineOverride=YES Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen. Jetzt müssen noch die aliasse angelegt werden, die legen fest welcher User mit welcher Email versendet: sudo nano /etc/ssmtp/revaliases
Alles löschen und folgendes eingeben: root:Deine Gmail Adresse:smtp.gmail.com:587
www-data:Deine Gmail Adresse:smtp.gmail.com:587 pi:Deine Gmail Adresse:smtp.gmail.com:587 Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen. Rechte anpassen: sudo chmod 774 /etc/ssmtp/ssmtp.conf
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wer einen kleinen Webdienst oder Webseite drauf laufen lassen möchte, aber nicht möchte das jeder einfach so drauf zugreifen darf, kann das ganze mit einem Passwort Schutz versehen: sudo a2enmod rewrite
sudo nano /etc/apache2/sites-enabled/000-default Folgendes finden: <Directory /var/www/>
Options indexes FollowSymLinks MultiViews AllowOverride none Order allow,deny allow from all </Directory> und durch das hier ersetzen: <Directory /var/www/>
Options indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> Passwort Schutz für des Verzeichniss /var/www/ anlegen: sudo nano /var/www/.htaccess
Folgendes einfügen: AuthName "Bitte Verifizieren"
AuthType Basic AuthUserFile /var/.htpasswd require valid-user Speichern mittels CTRL+X und dann mit "y" + "Enter" bestätigen. Ersten User Anlegen (Beispiel Penelope): sudo htpasswd -c /var/.htpasswd penelope
Weitere User anlegen (ohne das "-c", sonst wird die bisherige Passwort Liste überschrieben). htpasswd /var/.htpasswd Username
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Basic Calculator Installieren
Den braucht man manchmal für einige Kakulationen bei meinen Projekten - er nimmt nicht viel Speicher weg und ist ganz nützlich, er ist aber kein MUSS.sudo apt-get install xinetd bc |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wiring Pi Installation
Damit man die GPIOs auch abfragen kann ist WiringPi mittlerweile unabdingbar. Viele Installationen haben WiringPi mittlerweile schon standardmässig installiert, wenn nicht, kann man es so schnell nach installieren: sudo apt-get install git-core
git clone git://git.drogon.net/wiringPi cd wiringPi ./build
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Bonjour / Zero Config Installieren Damit der Pi im heimischen Netzwerk per Namen statt mit IP erreichbar ist kann man Bonjour installieren. sudo apt-get update && sudo apt-get upgrade sudo raspi-config Dort den Hostnamen nach Wunsch eingeben, nach einem Neustart ist der Pi unter dem "Hostnamen.local" im Lokalen Netz erreichbar. Aber Achtung, der Aufruf per Namen ist lansamer als d |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
Webdav ist eine tolle Sache, man kann einen Ordner freigeben, jeder kann dort mit dem Browser drauf zugreifen und mit "Server Verbinden" kann man den Speicher auch für viele beschreibbar / Löschbar machen, und das über Port 80 - ohne irgendwelche Löcher in die Router Firewall zu bohren.! Voraussetzung ist eine Apache Installation (siehe oben!) Webdav aktivieren: sudo a2enmod dav_fs
sudo a2enmod dav Server Neustarten : sudo /etc/init.d/apache2 force-reload
Ordner anlegen der freigegeben werden soll, falls nicht schon geschehen: sudo mkdir -p /var/www/ftp
Rechte für den User www-data einrichten: sudo chown www-data /var/www/ftp
Die Konfiguration aufrufen: sudo nano /etc/apache2/sites-available/default
Alles löschen und das eingeben: NameVirtualHost * DocumentRoot /var/www/ftp </VirtualHost> Server Neustarten : sudo /etc/init.d/apache2 force-reload
User Anlegen: sudo htpasswd -c /var/passwd.dav Username
Weitere User werden ohne "-c" angelegt: sudo htpasswd /var/passwd.dav WeitererUsername
Rechte anpassen: sudo chown root:www-data /var/passwd.dav
sudo chmod 640 /var/passwd.dav Die Konfiguration wieder einmal aufrufen: sudo nano /etc/apache2/sites-available/default
und entsprechend anpassen: NameVirtualHost * DocumentRoot /var/www/ Alias /webdav /var/www/ftp <Location /webdav> </VirtualHost>
Server Neustarten : sudo /etc/init.d/apache2 force-reload
Ab sofort kann man den Pi auch per Webdav einbinden. Unter Mac OS X geht das direkt vom Finder aus: Mit Server Verbinden: http://IP des Raspberry Pis/webdav Username und Passwort werden abgefragt und können im Schlüsselbund gespeichert werden. Man hat dann voll Schreib- und Leserechte auf den Ordner. Fast wie eine kleine Cloud 8-) Unter Windows wird es immer alles etwas komplizierte gehandhabt damit die Admins in den Unternehmen ihren Job sichern können..., auch hier ist es von der Version abhängig ob und wie es läuft. |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||
![]() |
Kleinere Tipps: Unbedingt die Uhrzeit und Locale (Punkt 4) eingeben, damit das System auch weiss wo es ist und wie spät es ist, das geht alles in der: sudo raspi-config
Ausserdem sollte man dort das Expand Filesystem ausführen (Punkt 1) Einen "fest"hängenden Trash entleeren sudo rm -rf ~/.local/share/Trash/files/*
Was Tun bei der Meldung : "Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName"... ? Das ist nichts schlimmes, eigentlich braucht man nichts unternehmen, es sei denn es stört einen , dann kann man das auch simpel abstellen. Als erstes sollte man den eigenen Hostnamen überprüfen oder ändern, dann kann man mittels "sudo raspi-config" und einem der unteren Menupunkte...(8 oder so...). Dann wenn der Hostname sauber eingestellt ist ruft man seine eigene Hosts Datei auf und trägt ihn dort auch ein: sudo nano /etc/hosts
Dort sollte man einen Eintrag wie diesen haben: "127.0.0.1 Servername". Wobei "Servername" durch euren Hostnamen ersetzt wird. Weiter geht es mit der Apache config: sudo nano /etc/apache2/apache2.conf
Dort GANZ unten schreibt ihr folgendes rein "Servername localhost", wobei dieses mal der "Servername" bleibt und nicht durch euren Hostnamen ersetzt wird. Nach einem Neustart sollte die Meldung "Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName"" der Vergangenheit angehören.
|
![]() |
||||||||
![]() |
![]() |