SchlagwortDebian

Virtualisierung made easy mit Witsbits

Vor einigen Tagen habe ich mich mit dem Thema KVM Virtualisierung unter Linux auseinander gesetzt.

Bei meiner Recherche bin ich auch auf den Anbieter Witsbits gestoßen. Was ist so besonders an Witsbits?

Der administrative overhead = “0”. Das ganze funktioniert sehr einfach. Ihr registriert euch. Darauf hin wird ein Disk Image speziell für Euch erzeugt. Dieses Image transferiert Ihr auf einen USB Stick und bootet Euren Host damit. Sobald der Host gebootet ist, ist dieser Im Webinterface verfügbar.

Das WARS schon 🙂

Uhrzeit synchronisieren mit NTP auf Debian

Um die Zeit auf Eurem Debian Server zu syncen bietet sich NTP an.

Das NTP Protokoll installiert Ihr unter Debian mit folgendem Befehl:

apt-get install ntp

Anschließend in der Datei /etc/ntp.conf noch folgendes hinzufügern:

server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org

Wenn Ihr das System zu einem ersten Sync zwingen wollt, macht Ihr das mit diesem Befehl

ntpd -q -g

Abschließend bietet es sich an die Hardware Uhr zu synchronisieren

hwclock --systohc

Das wars mal wieder … Viel Spaß beim basteln 😉

Linux als RemoteDesktop Host

Heute möchte ich Euch kurz Zeigen wie Ihr dem X beibringt als RDP Host zu arbeiten.

Ein Debian als Remotedesktop-Sitzungshost, besser bekannt als Terminalserver einzusetzen ist schnell und einfach realisiert. Von Windows aus kann mit Bordmitteln, das bedeutet dem Remotedesktopclient auf den Linux-Terminalserver zugegriffen werden.

Ich gehe mal davon aus, dass Euer X bereits installiert ist und auch funktioniert.

Im Anschluss einfach das Paket xrdp installieren.

apt-get install xrdp

In dieses Paket is der ist alles anhalten um rdp nach VNC zu tunneln.

Capture

Als nächstes steth ThinRDP auf dem Programm um den Terminal Server via WebBrowser zu erreichen.

KVM als Virtualisierunglösung für zu Hause und Small Business

Heute habe ich mal wieder die Frage gestellt was im Bereich Virtualisierung in der Letzten Zeit passiert ist.

Da ich für verschiedene Dienste zu Hause virtualisierte Systeme betreibe und der VMware Server als Product so auch nicht mehr existiert, was man eben so noch findet.

Ganz klar der Klassenprimus ist VMware. Hier gibt es eine 60 tage Trail Version von Ihrem vSphere Product. Ich habe das ganze wegen der Lizenzkosten aber verworfen. Vom Oracle gibt es dem VM Server x86, hierbei war mir der Aufwand aber zu groß, und Kosten/Effizienz waren nicht so gut.

Die Wahl fiel danach schnell auf KVM. Hier gibt es subjektiv betrachtet die meisten Tool. Auch vom Funktionsumfang denke ich bietet es das breiteste Spektrum.

Auf der Linux/KVM Webseite gibt es eine Übersicht über die gängigen Management Tools.

In die engere Auswahl kamen oVirt und Web Virtual Manager.

Entschieden habe ich mich aus subjektiven Gründen, den Web Virtual Manager zu testen. Dieser scheint mir schlanker zu sein und trotzdem alles zu bieten was ich brauche. Zudem liegt dem oVirt System RedHat zu grunde. Man kann es zwar auch auf Debian betreiben, der Testaufwand wird wohl aber eher in die RedHat basierte Lösung gesteckt.

Ich halte Euch auf dem laufenden, wenn es fertig ist 🙂

Airprint auf Debian

Heut gibts ein Quick Howto, wie Ihr eurem Debian Server beibringt die Drucker via AirPrint zu teilen 🙂

Zuerteinmal müsst Ihr ein paar Pakete installieren:

apt-get install avahi-daemon cups cups-pdf python-cups

nachdem nun Cups am Start ist, müssen wir das CUPS noch konfigurieren:

nano /etc/cups/cupsd.conf

Bildschirmfoto 2014-05-15 um 20.46.43

Hier die noch die 17 editieren, damit der Zugriff nicht nur auf den Localhost beschänkt ist:

# Only listen for connections from the local machine.
Listen 631

Anschlißend diesen Teil ersetzen:

# Restrict access to the server...
<Location />
  Order allow,deny
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

NEU …

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow @Local
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow @Local
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @Local
</Location>

Nachdem nun Cups soweit konfiguriert ist, einfach den Service neu starten:

service cups restart

Da nicht jeder in Cups rumfummel kann, muss man noch einen User der lpadmin gruppe hinzufügen

adduser felix lpadmin

Jetzt geht es zum AirPrint Teil ….

mkdir /opt/AirPrint
cd /opt/AirPrint
wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py
chmod +x airprint-generate.py
./airprint-generate.py -d /etc/avahi/services

Jetzt nochmal ein Neustart für Cups und den avahi-daemon und alles sollte funktionieren.

service cups restart
service avahi-daemon restart

… GSCHAFFT!!!

TvHeadEnd meets SatIP

Heute bin ich durch Zufall auf den Thread aufmerksam geworden.

Der User”Perexg” hat heute viel Code in den Master Branch des TvHeadEnd Branch gepushed. Hier gehts zum GIT Repository.

Hier noch ganz schnell ein How To, wie Ihr den TvHeadEnd auf Debian selbst baut. Leider ist mein Build auf dem PI mid den Sourcen des Users gefailed.

apt-get update
apt-get install unzip git-core pkg-config dvb-apps     
apt-get install g++-4.7 build-essential
apt-get install libcurl4-openssl-dev libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev liburiparser-dev
export CC=gcc-4.7
export GCC=gcc-4.7
mkdir ~/tvheadend
cd ~/tvheadend

Option A. den Original Thread laden

git clone "https://github.com/tvheadend/tvheadend.git"
cd tvheadend

Option B, direkt das Zip herunterladen

wget https://github.com/tvheadend/tvheadend/archive/master.zip
unzip master.zip
cd tvheadend-satip/

Jetzt noch schnell bauen

./configure && make && make install
groupadd tvheadend
useradd -g tvheadend -G video -m tvheadend
usermod -G audio -a tvheadend

Wenn Ihr Probleme mit der libiconv habt, dann schaut doch mal hier rein.

Oder aber Eure ffmpeg libraries sind zu alt, da gibt es hier ein kleinen Guide.

Zum Schluss noch das Startup Script erzeugen

nano /etc/init.d/tvheadend

#!/bin/bash
### BEGIN INIT INFO
# Provides:          tvheadend
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Should-Start:      $syslog
# Should-Stop:       $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1
# Short-Description: start/stop tvheadend Server
### END INIT INFO

TVHNAME="tvheadend"
TVHBIN="/usr/local/bin/tvheadend"
TVHUSER="tvheadend"
TVHGROUP="tvheadend"
PIDFILE=/var/run/$TVHNAME.pid

start() {
    if [ -e $PIDFILE ]; then
        PID=$(ps ax | grep -v grep | grep -w $(cat $PIDFILE) | awk '{print $1}')
        if [ -n "$PID" ]; then
            echo "$TVHNAME already running (pid $PID)."
            exit 1
        fi
    fi
    echo -n "Starting tvheadend: "
    start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user ${TVHUSER} --exec ${TVHBIN} -- \
        -u ${TVHUSER} -g ${TVHGROUP} -f -C
    echo "Done."
}

stop() {
    if [ -e $PIDFILE ]; then
        PID=$(ps ax | grep -v grep | grep -w $(cat $PIDFILE) | awk '{print $1}')
        if [ -n "$PID" ]; then
            echo -n "Stopping $TVHNAME: "
            start-stop-daemon --stop --quiet --pidfile $PIDFILE --name ${TVHNAME}
            echo "Done."
        else
            echo "$TVHNAME is not running."
        fi
    else
        echo "$TVHNAME is not running."
    fi
}

status() {
    if [ -e $PIDFILE ]; then
        PID=$(ps ax | grep -v grep | grep -w $(cat $PIDFILE) | awk '{print $1}')
        if [ -n "$PID" ]; then
            echo "$TVHNAME is running (pid $PID)."
        else
            echo "$TVHNAME is not running."
            [ -e $PIDFILE ] && exit 1 || exit 3
        fi
    fi
}

case "$1" in
 start) start ;;
 stop) stop ;;
 status) status ;;
 restart) stop && sleep 2 && start ;;
 *) echo "Usage: $0 [start|stop|restart|status]" && exit 1 ;;
esac

exit 0

Wollt Ihr, dass der TvHeadEnd automatisch startet, dann müsst Ihr noch folgendes ausführen:

chmod +x /etc/init.d/tvheadend
update-rc.d tvheadend defaults
/etc/init.d/tvheadend start

 

 

 

Gesprächiger Apache: Unterdrücken der Serversignatur

Häuft sieht man, wenn man auf eine Webseite surft, die nicht nicht existiert diese Meldung.

apache

Häufig gibt der Apache, bereitwillig eine Menge Information preis.

Um dem Apache das ab zu gewöhnen muss man folgende Einträge in der “/etc/apache2/conf.d/security” wie folgt bearbeiten. Das funktioniert In Debian Lenny, Squeeze und Wheezy gleichermaßen.

# nano /etc/apache2/conf.d/security

ServerSignature Off
ServerTokens Prod

Danach sieht die Seite dann so aus

apache_without_token

 

[HowTo] Mod_Security für Apache

Ein schnelles Howto, wie Ihr Euren Web-Server (Apache) mit dem mod_Security absichert.

Zuerst einmal die Pakete installieren. Diese sind bei Debian und Ubuntu in den Repositories verfügbar.

# apt-get update
# apt-get install libapache-mod-security

Mit dem Befehl könnt checken ob das Module erfolgreich geladen wurde

# apachectl -M | grep --color security

Und wieder ist Apache ein Stück sicherer.

Viel Spaß & Stay tuned!

Logs unter Debian Linux wöchentlich löschen per cronjob

Heute war es mal wieder soweit. 1 GB Logfiles im System. Was also tun? Log Dateien einfach löschen wäre fatal, da diese nicht noch einmal erzeugt werden. Das System wäre somit auf einfachste weise zerschossen. Um das zu verhindern schreiben wir den Inhalt ins nichts.

# cd /var/log
# for i in *; do test -f $i -a -s $i && > $i; done

Das ich ein fauler Mensch bin und es wieder vergessen würde, machen wir daraus noch einen wöchentlichen Cronjob

#sudo crontab -e
#Password: 

#[...]
#Am Ende der Datei einfach folgendes eintragen: 
0 0 * * 1 cd /var/log && for i in *; do test -f $i -a -s $i && > $i; done

Der Cronjob leert jetzt wöchentlich die Logs.

Log-Dateien leeren unter Linux

Hi, manchmal steht man vor dem Problem neue Sachen auf der Linux Kiste auszuprobieren. Natürlich funktioniert es in den wenigsten fällen direkt nach der Installation. “Was also tun?” frag man sich, wie man am schnellsten die log-Dateien leert aber nicht löscht.

# > logfile.log

Wenn noch 10 Zeilen drinnen bleiben sollen, da macht man es so

# tail -n 10 logfile.log logfile.log