Ubuntu Grundinstallation Mediaserver
Ich richte hier einen Media- / Streamingserver ein. Hauptzweck ist das Hosting von Filmen sowie das Streaming zur Dreambox.
Grundinstallation
Download and Install: http://www.ubuntu.com/download/server/download
- Install Options: Minimales Setup
Partition:
- Ubuntu Anleitung: http://wiki.ubuntuusers.de/Partitionierung
- Forum Infos: http://www.ubuntu-forum.de/artikel/2913/spezielle-partitionierung.html
/ --> primär 10GB
-> danach anklicken, dass er den rest automatisch partitionieren soll
swap --> logisch 4.3gb /home --> logisch 1.5tb
kann sein, dass man die Strukturen etc. noch anpassen / aktivieren muss. /boot /var etc. brauchen wir nicht, da wir ja keinen Webserver am laufen haben, sondern hier hauptsächlich einen Datenspeicher haben.
Default User einrichten
Software Auswahl:
* OpenSSH server * Samba Fileserver
Installationsanleitung für Ubuntu NAS Server: Datei:Nas server.pdf
Root User
Per default kann man sich nicht als root user einloggen, da das Passwort noch gar nicht definiert wurde. Man wird zwar aufgefordert ein root pw einzugeben, wenn man su eingibt, aber es ist unmöglich sich einzuloggen.
Grundsätzlich ist es so, dass ein ubuntu User immer die root tasks mit
sudo
ausführen muss. Also z.B.
sudo apt-get update
Damit man aber nicht überall alles mit sudo machen muss, gibt es einen kleinen Trick um sich doch als root einloggen zu können. Das Shell als root ausführen (mit eigenem PW bestätigen)
sudo sh Password: sh-3.1#
Jetzt ist man im root Shell. Nun kann man das pw ändern:
passwd Password: Enter new UNIX password: Retype new UNIX password:
ab jetzt kann man sich wieder ganz normal den user per su wechseln.
Network Config
Gewünschte Config:
=> Host IP address 192.168.1.165 => Netmask: 255.255.255.0 => Network ID: 192.168.1.0 => Broadcast IP: 192.168.1.255 => Gateway/Router IP: 192.168.1.2 => DNS Server: 192.168.1.2
vi /etc/network/interfaces
folgende Zeile auskommentieren:
#iface eth0 inet dhcp
Neue Settings einfügen:
iface eth0 inet static address 192.168.1.165 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.2
Speichern und Netzwerk neu starten:
/etc/init.d/networking restart
Jetzt noch die DNS Server anpassen
vi /etc/resolv.conf
Hier ergänze ich einfach mit dem Gateway als ersten Eintrag. Die restlichen Server lasse ich drin – könnte sie zwar entfernen, da sie ja im gateway auch eingetragen sind.
nameserver 192.168.1.2 nameserver 80.75.136.145 nameserver 80.74.159.5 nameserver 62.2.24.162
So nun noch
ifconfig
ausführen und angucken. sollte nun alles korrekt sein. noch ein
ping www.teslina.com
machen zum testen. fertig 🙂
SSH Login
Protokoll: ssh2 Port: 22 Primary Auth: Password (nicht Keyboard interactive)
Übersicht Grundbefehle & Funktionen
Festplatten indexieren
updatedb
APT
Sourcelisten
Die Sourcelisten finden wir hier:
/etc/apt/sources.list
entweder mit
vi /etc/apt/sources.list
oder schön farbig
nano /etc/apt/sources.list
falls die CD ROM noch in der liste drin wäre, auskommentieren, den rest so lassen wie es ist. (per default ist es aber in der Regel schon auskommentiert)
# deb cdrom:[Ubuntu-Server 7.10 _Gutsy Gibbon_ - Release i386 (20071016)]/ gutsy main restricted
Alle installierten Packages auflisten
dpkg --get-selections|more
APT updaten
apt-get update
Packages installieren oder upgraden
apt-get install PAKETNAME
Basis Software installieren
VIM
apt-get install vim
Samba Fileserver installieren
Wenn wir das nicht schon bei der Base-Install gemacht haben, kann man das jetzt nachholen:
apt-get install samba smbfs
Erstmal das Base Directory einrichten.
mkdir /home/mediacenter
Bestehendes Config backupen
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Neues File erstellen
vi /etc/samba/smb.conf
Paste:
[Global] workgroup = SHOE security = share netbiosname = mediacenter load printers = no guest account = root log file = /tmp/smb.log log level = 1 unix charset = UTF-8 dos charset = CP850 display charset = UTF-8 [Movies] comment = Home Theatre path = /home/mediacenter/movies browseable = yes writeable = yes public = yes guest ok = yes [Photos] comment = Photo Gallery path = /home/mediacenter/pics browseable = yes writeable = yes public = yes guest ok = yes
Samba Dienste neu starten:
/etc/init.d/smbd restart
Nun kann man bereits mit Windows zugreifen und es werden die beiden Ordner Movies und Photos angezeigt. (Ps. Sample Config hab ich von der Dreambox genommen)
Power Button
Damit das System beim Klick auf den Powerbutton sauber runterfährt, braucht man ACPI. Sollte das Verzeichnis
ll /etc/acpi
nicht vorhanden sein, muss man ACPI zuerst noch installieren (Ubuntu installiert es per default nicht)
apt-get install acpid
Das ist eigentlich schon alles. Jetzt ist eigentlich schon alles korrekt eingerichtet und sollte funktionieren.
Wird der Power Knopf gedrückt, wird folgender Script ausgeführt:
cat /etc/acpi/events/powerbtn
# /etc/acpi/events/powerbtn # This is called when the user presses the power button and calls # /etc/acpi/powerbtn.sh for further processing. # Optionally you can specify the placeholder %e. It will pass # through the whole kernel event message to the program you've # specified. # We need to react on "button power.*" and "button/power.*" because # of kernel changes. event=button[ /]power action=/etc/acpi/powerbtn.sh
Dieser wiederum führt diesen Script aus:
cat /etc/acpi/powerbtn.sh
#!/bin/sh # /etc/acpi/powerbtn.sh # Initiates a shutdown when the power putton has been # pressed. [ -r /usr/share/acpi-support/power-funcs ] && . /usr/share/acpi-support/power-funcs # getXuser gets the X user belonging to the display in $displaynum. # If you want the foreground X user, use getXconsole! getXuser() { user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` if [ x"$user" = x"" ]; then startx=`pgrep -n startx` if [ x"$startx" != x"" ]; then user=`ps -o user --no-headers $startx` fi fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi export XUSER=$user } # Skip if we just in the middle of resuming. test -f /var/lock/acpisleep && exit 0 # If the current X console user is running a power management daemon that # handles suspend/resume requests, let them handle policy This is effectively # the same as 'acpi-support's '/usr/share/acpi-support/policy-funcs' file. [ -r /usr/share/acpi-support/power-funcs ] && getXconsole PMS="gnome-power-manager kpowersave xfce4-power-manager" PMS="$PMS guidance-power-manager.py dalston-power-applet" if pidof x $PMS > /dev/null || ( test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon) || ( test "$XUSER" != "" && test -x /usr/bin/qdbus && test -r /proc/$(pidof kded4)/environ && su - $XUSER -c "eval $(echo -n 'export '; cat /proc/$(pidof kded4)/environ |tr ' ' 'n'|grep DBUS_SESSION_BUS_ADDRESS); qdbus org.kde.kded" | grep -q powerdevil) ; then exit fi # If all else failed, just initiate a plain shutdown. # nicht so.. so kann es passieren, dass die disk out of sync ist! #/sbin/shutdown -h now "Power button pressed" # wir machen normales shutdown! sync;sync;halt
Testen: Power Button drücken und gucken:
root@mediacenter:/etc/acpi# Broadcast message from root@mediacenter (unknown) at 16:50 ...
The system is going down for halt NOW! Power button pressed
Weiteres…
Weiter gehts nun mit der Installation von Stream2Dream for Linux