InhaltsverzeichnisRaspberry PIBetriebssystem (OS)Um mit dem Raspberry Pi arbeiten zu können, muss man ein Betriebssystem installieren. Als Speicher sollte man die SD Karte verwenden (min. 2GB). Ich habe mich für das Betriebssystem Arch Linux ARM entschieden. Um damit weiter zu arbeiten muss man sich ein wenig mit der Syntax von Linux auskennen. Die Größe des Archivs ist ca. 194MB, packt man den Inhalt aus, so wird der Inhalt auf 1,9GB anwachsen. Wie schon geschrieben habe ich eine 8GB SD Karte. Um das Betriebssystem auf die SD Karte raufspielen zu können, kann man entweder mit Linux oder Windows arbeiten. Ich habe alles unter Windows 7 x64 gemacht. Dazu muss man die SD Karte in einen Lokalen PC oder Notebook reinstecken.
Folgendes in die Konsole eingeben: (natürlich den Pfad der Image anpassen und das Ziel wo es installiert werden soll) dd bs=1M if=/path/to/archlinux-hf-2013-02-11.img of=/dev/sdX
Um untet Windows das OS auf die SD Karte installiern zu können, braucht man Win32DiskImager.
Nach dem Vorgang sieht man eine 90MB große Partition wo das OS installiert wurde. Der Rest ist dann in eine 1,7GB Partition eingeteilt. Die restlichen xGB sind dann nicht zugeordnet. Ich konnte unter Windows Datenträgerverwaltung die Partition leider nicht vergrößern, also habe ich eine andere Freeware Software verwendet, diese ist Paragon Partition Manager Free dort kann man die 1,7GB Partition auf ca. 7,2GB vergrößern. Ist das OS auf die SD Karte installiert wurden, kann man diese dann in das Raspberry Pi einstecken und los geht's.
Sollte was schief gehen dann kann man die SD Karte formatieren. Dafür hatte ich ebenfalls eine Freeware Software verwendet,
diese ist SDFormatter. Standardlogin: Name: root Password: root nach jedem booten ist das Tastaturenlayout auf englisch (z = y). Um das zu ändern sollteman folgendes eingeben loadkeys de Damit nicht jeder mit Rootrechten auf den PI zugreiffen kann, sollte man das default Password von root ändern passwd So wird das Password des gerade angemeldeten Users geändert indexNetzwerkIch habe kein DHCP auf meinen Router eingeschaltet, deswegen muss man dem PI eine statische IP vergeben. Hat man einen DHCP Server eingeschaltet, so sollte der PI automatisch eine IP Adresse bekommen ip addr add [ipadresse]/[mask] dev eth0 Bsp.: ip addr add 192.168.1.23/24 dev eth0 Da ich keine zwei Monitore mit HDMI Eingang habe, hatte ich zu folgender Lösung gegriffen: Ich habe über eine SSH Verbindung den PI konfiguriert. Dafür habe ich die Freeware Software putty verwendet. Dazu muss man die IP Adresse des PI's kennen.
Dafür muss man folgende Datei bearbeiten bzw. anpassen nano /etc/network.d/ethernet-eth0 CONNECTION='ethernet' DESCRIPTION='A basic dhcp ethernet connection using iproute' INTERFACE='eth0' IP='dhcp' ## for DHCPv6 #IP6='dhcp' ## for IPv6 autoconfiguration #IP6='stateless' ## Some networks like this #PRE_UP="sleep 10" ## Change for static CONNECTION='ethernet' DESCRIPTION='A basic static ethernet connection using iproute' INTERFACE='eth0' IP='static' ADDR='192.168.1.23' ##ROUTES=('192.168.0.0/24 via 192.168.1.2') GATEWAY='192.168.1.2' DNS=('192.168.1.2') ## For IPv6 autoconfiguration #IP6=stateless ## For IPv6 static address configuration #IP6='static' #ADDR6=('1234:5678:9abc:def::1/64' '1234:3456::123/96') #ROUTES6=('abcd::1234') #GATEWAY6='1234:0:123::abcd' Hatt man dieses erledigt sollte man den PI neu starten. Anschließend kann man die Konfiguration überprüfen reboot ifconfig eth0 Ist die Konfiguration erfolgreich verlaufen sollte man den PI bzw. das OS aktualisieren. So wird das komplette System aktualisieren pacman -Syu So ist dann das PI auch Internetfähig indexXBMC Media CenterWas ist ein XBMC, es ist ein Media Center womit man Videos/Bilde/Musik vom lokalen Datenträger oder auch online auf den Fernsehenr streamen kann, auch in HD Qualität, sowie viele andere Funktionen. Das Packet lässt sich einfach mit pacman -Syu xbmc installieren.Danach einfach zwischen 1 und 2 entscheiden, ich hatte das erste Packet installiert. Um XBMC zu starten einfach xbmc eingeben
Um das Media Center bedienen zu können gibt es mehrere Möglichkeiten. Natürlich vor allem mit der angeschlossenen Tastatur. Manche Fernseher unterstützen auch die Kontrolle über die HDMI Schnittstelle, womit man dann mit der dazugehörigen Fernbedienung das XBMC bedienen kann (TOSHIBA hat sowas nennt sich Regaza-Link). Eine weitere Möglichkeit ist das Smartphone, es gibt eine app die xbmc heißt und über die man das XBMC bedienen kann. Voraussetzung ist natürlich das das Smartphone sich im selben Netzt befindet wie der PI indexFTP ServerEs gibt verschiedene FTP Server die man installieren kann, ich habe mich für eine schnelle Variante entschieden. ProFTPD für den Client habe ich Filezilla genommen pacman -Syu proftpd Damit der Dienst beim neustart wieder gestartet wird, sollte man folgendes systemctl start proftpd.service systemctl enable proftpd.service eingeben Ich habe noch zusätzlich den Dienst SSL installiert pacman -Syu openssl Zusätzlich sollte man noch folgende Schritte in der Console ausführen cd /usr/local/etc mkdir ftpcert cd ftpcert openssl genrsa 1024 > host.key chmod 400 host.key openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert hat mann das muss man noch einen Eintrag in die conf einfügen nano /etc/proftpd.conf hat man diese Datei gefunden einfach folgendes einfügen # TLS <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/proftpd_tls.log TLSProtocol TLSv1 TLSRequired off TLSVerifyClient off TLSRSACertificateFile /usr/local/etc/ftpcert/host.cert TLSRSACertificateKeyFile /usr/local/etc/ftpcert/host.key </IfModule> Damit der User nicht die ganze Ordnerstruktur sehen kann sollte man in dieser conf Datei folgendes auskommentieren DefaultRoot ~ Da man aus Sicherheitsaspekten sich nicht mit dem root anmelden kann, sollte man einen User erstellen useradd -m -g <gruppe> -s /bin/bash <benutzername> Das Password sollte noch vergeben werden passwd <benutzername> Und so ist ein FTP Acc erstellt, man kann sich dann mit dem erzeugten User in das Homeverzeichnis einlogen index
|
Webserver HTML und PHPDie installation erfolgt wiederum mit pacman -Syu apache php php-apache Mit folgenden Befehlen kann man den Dienst ein oder ausschalten bzw. neustarten oder einstellen das er beim neustart gestartet wird. systemctl start httpd.service #start systemctl stop httpd.service #stop systemctl restart httpd.service #neustart systemctl enable httpd.service #autostart Hat man die Installation erfolgreich abgeschlossen, so muss man dann die conf Datei bearbeiten nano /etc/httpd/conf/httpd.conf Folgendes müsste in die Datei eingefügt werden bzw. umgeändert LoadModule php5_module modules/libphp5.so Include conf/extra/php5_module.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Einige Module könnten auskommentiert werden damit keine unnötige Module geladen werden und so die Leistung schwächen Benötigte Module LoadModule alias_module modules/mod_alias.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so Dieses Modul sollte noch eingefügt werden LoadModule userdir_module modules/mod_userdir.so Folgende Abschnitte suchen und anpassen ServerRoot "/etc/httpd" Listen 80 ServerAdmin webmaster@domain.com ServerName 127.0.0.1 DocumentRoot "/srv/http/webseite" <Directory /> Options None AllowOverride None Order deny,allow Deny from all </Directory> <Directory "/srv/http"> AllowOverride AuthConfig FileInfo Options=Indexes Order allow,deny Allow from all </Directory> Ist die Anpassung fertig muss man noch die httpd-userdir.conf bearbeiten nano /etc/httpd/conf/extra/httpd-userdir.conf UserDir web <Directory "/home/*/web/"> Options Indexes AllowOverride AuthConfig FileInfo Options=Indexes Order allow,deny Allow from all </Directory> Damit man mit einem erzeugten User auf das Verzeichnis zugreifen kann, sollte man das Verzeichnis wo die Webseite liegt in das Homeverzeichnis des Users mounten. Der erster Pfad ist die Quelle der zweiter ist das Ziel. Das Standardverzeichnis wo die Webseite abgelegt werden kann lautet /srv/http/ mount -B /srv/http/webseite /home/web/webseite Damit das gemountetes Verzeichnis beim Neustart wieder gemountet wird, sollte man in die folgende Datei nano /etc/fstab folgendes einfügen /srv/http/webseite /home/web/webseite none bind 0 0 Da der erzeugte User z.B. "Web" nur das Homeverzeichnis sehen kann und sich darin befindliche Daten, kann er wenn die Rechte ordnungsgemäß vergeben wurden nichts in das eingemountete Verzeichnis ablegen. Der Grund ist das der Erzeuger des Verzeichnises root ist und auch zu der Gruppe root angehört. Der User "Web" kann aber nichts verändern da er nicht der Erzeuger ist und auch nich zu der Gruppe root gehört. Man sollte also das Verzeichnis /srv/http/webseite der Gruppe http einfügen. Also sollte man folgendes tun. Das Verzeichnis /srv/http/webseite der Gruppe des Users hinzufügen, so kann der User auf das Verzeichnis zugreifen und die Webseite dort ablegen. So wirds gemacht cd /srv/http/ chgrp <Gruppe> <Datei> Damit der Erzeuger und die Gruppe auf das Verzeichnis zugreifen können und nur diese, sollten die Rechte so vergeben werden chmod 770 <Verzeichnis> So können die Erzeuger und die User der Gruppe die Inhalte verändern, der Rest darf nichts tun. index |
||||||
| Kontakt |