KategorieAllgemein

[VIDEO-HOWTO] Windows 10 auf einem T60 mit ATI X1400 Mobility Grafikkarte

Heute gibt es ein Video von mir. Ich möchte Euch zeigen, dass Ihr auch auf alter Hardware immer noch Windows 10 laufen lassen könnt.  Im speziellen geht es um ein Thinkpad T60, welches die ungeliebte Grafikkarte ATI X1400 verbaut hat.

Hier könnt Ihr den gepatchen Treiber herunter laden. Bei der Installation müsst Ihr allerdings die Treibersignatur deaktivieren.

 

Falls Ihr, wie auch ich, Probleme nach dem Booten mit einem Schwarzen Bildschirm habt, müsst Ihr den “Fast Startup” abschalten. Eine detaillierte an Anleitung gibt es hier.

Postfix als Inbound Relay

Da ich aktuell einige Server auf IPv6 only umstelle kam ich nicht herum einen IPv4 to IPv6 Mail Gateway aufzusetzen. Um so wenig overhead zu habe als möglich, habe ich mich entschieden einen Postfix Server + RBL + Spamcheck aufzuseten.

Vorausgesetzt Ihr habt schon postfix installiert geht es dann wie folgt weiter:

nano /etc/postfix/main.cf

#am Anfang einfügen
#permit_auth_destination = yes
transport_maps = hash:/etc/postfix/transport
relay_domains = hash:/etc/postfix/transport
relay_recipient_maps = hash:/etc/postfix/recipients
unknown_relay_recipient_reject_code = 550
smtpd_client_restrictions = permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination,
        reject_unlisted_recipient,
        reject_rbl_client zen.spamhaus.org,
        reject_rbl_client bl.spamcop.net,
        reject_rbl_client cbl.abuseat.org

Im Anschluss werden dann die Transport-Regeln und Empfänger definiert.

nano /etc/postfix/transport

#Ip in Klammer sorgt für direkt Zustellung, Ohne Klammern wird ein MX lookup ausgeführt

liebeskleineshaus.de    smtp:[xxx.xxx.xxx.xxx]:14506
kindgerechte-grundschule-herrlingen.de  smtp:[xxx.xxx.xxx.xxx]:14506

nano /etc/postfix/recipients

#Inhalt der Datei
#@liebeskleineshaus.de OK     #accepts all 
info@liebeskleineshaus.de OK  #accepts only info@

Jetzt muss nur noch die für Postfix lesbare Datenbank erstellt werden:

postmap /etc/postfix/transport
postmap  /etc/postfix/recipients

service postfix reload

Jetzt fehlt nur noch der Spam check. Dieser wird wie folgt installiert & konfiguriert:

apt-get install spamassassin 

nano /etc/default/spamassassin
#Hier nun enabled=1

nano /etc/postfix/master.cf

#Unterhalb von 
#smtp      inet  n       -       -       -       -       smtpd
#folgendes einfügern:
   -o content_filter=spamassassin


service postfix restart

Das wars, das inbound relay funktioniert jetzt 🙂

Apache für LOW Memory VPS/Raspberry Pi optimieren

Apache und LOW Memory vertragen sich ja nicht so wirklich, deshalb eines Vorweg, man sollte wenn man nich unbedingt Apache braucht, auf Alternative wie nginx oder Lighttpd setzen. Ich betreibe eigentlich nur auf allen meinen kleineren Systemen (<2GB Ram) nur nginx und (<256MB Ram) lighttpd. Hier haben ich auch einen Link zu einer Low Memory LLMP Konfiguration.

Nichts desto trotz benötigt man manchmal unbedingt einen Indianer, und so kann man ihn auch auf einem Low Mem Server betreiben.

Also wie gesagt ist das größte Problem der Speicher den der Apache braucht. In der Konfigurationsdatei
/etc/apache2/apache2.conf kann man die Einstellungen tunen.

nano /etc/apache2/apache2.conf

In der Konfigurationsdatei dann folgende Konfiguration vornehmen:

<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers       3
    MaxClients           10
    MaxRequestsPerChild 3000
</IfModule>
 
<IfModule mpm_worker_module>
    StartServers          1
    MinSpareThreads       5
    MaxSpareThreads      15 
    ThreadLimit          25
    ThreadsPerChild       5
    MaxClients           25
    MaxRequestsPerChild 200
</IfModule>

Des weiteren empfiehlt sich das Timeout zu reduzieren. KeepAliveTimeout sollte nicht mehr als 15 (Sekunden) betragen.

Nach diesen Einstellungen ist Apache schon wesentlich genügsamen. Jetzt sollte man noch nicht benötigte Module deaktivieren. Mit diesem Befehl seht Ihr alle Apache Module.

apache2ctl -M

Bildschirmfoto 2015-11-15 um 12.21.51

Um beispielsweise einen WordPress Blog zu hosten brauch man folgende Module (wie gesagt, WordPress läuft auch unter nginx & Lighttpd).

LoadModule dir_module modules/mod_dir.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule alias_module modules/mod_alias.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule rewrite_module modules/mod_rewrite.so

Um ein Modul zu deaktivieren kann man entweder die Konfigurationsdatei oder aber folgenden Befehl ausführen:

# Modul aktivieren
a2enmod module_name
#Modul deaktivieren
a2dismod module_name

Anschließend noch den Apache neu starten und Spaß haben.

Fritzbox, Linux clients und statische IPs

Wer kennt das Problem nicht, man hat eine Linux Box im Heimnetz. Ob visualisierte test Maschinen, Raspberries oder ähnliches. Bei mir haben alle “stationären” Systeme feste IPs. Jetzt beginnt das Problem, da diese Systeme meist nicht hinausposaunen. Die Fritzbox muss sich nun überlegen, wie sie an den Namen kommt. 2 Wege funktionieren typischerweise. Zu einen kann die Fritzbox den Namen via Netbios bestimmen oder aber via Bonjour.

Hier die Anleitung wie Ihr Bonjour auf Debian, Raspbian, Raspbmc nachinstallieren könnt (der Name kommt dann aus /etc/hostname)

apt-get install avahi-daemon

 

Entfernen von Web-App in ClearOS 6.x

Heute stand ich spontan beim Aufräumen meiner Server vor dem Problem, wie man “App’s” auf einem ClearOS Small Business Server entfernt.

Nach 10 Minuten suchen ohne Rat fand ich heraus, dass es auf der Roadmap ist, oder war? … ein Deinstallation Feature zu installieren. Geholfen hat die Aussage nur in so fern, dass ich händisch aktiv werden muss. Für alle die ClearOS nicht kennen; es ist der einzige Server bei mir, der nicht auf Debian basiert. ClearOS ist ein Weiterentwicklung von CentOs was bekanntlich auf RedHat basiert.

Also kurz die rpm-Paketlisten gecheckt und herausgefunden, dass man die App auch wieder mit rpm weg bekommt.

Der Befehl lautet:

rpm -e app-antivirus

Wobei “antivirus” mit dem zu entfernenden App ersetzt werden muss. Den richtigen Namen des Apps kann man anhand der URL im Weg-Ui bestimmen.

Loggt man sich ein und wechselt auf das zu deinstallierende App, beispielsweise FTP, dann lautet die Url: https://ClearOS:81/app/ftp
Der Befehl würde dann also so lauten:

rpm -e app-ftp

 

[HowTo] Sicheres surfen für Kinder

Habt Ihr Kinder?

Sicherlich habt Ihr Euch schon mal gefragt, wie Ihr das Internet sicherer für Eure Kids macht. Ich empfehle hier an der Wurzel des Problems zu beginnen.

Jetzt folgt ein mini Technik Exkurs. Im internet verbirgt sich hinter jeder URL eine sogenannte IP Adresse. Diese Adresse wird benötig um einen Server anzusprechen. Wie kommt der Rechner nun an die IP? Genau hier kommt die Namensauflösung zu deutsch DNS 🙂 … Domain Name Service …  ins Spiel. Sorgt man also bereits an dieser stelle dafür, dass ungewollte Seiten  nicht aufgelöst werden, kann man auf die Dienste von OpenDNS.com zurückgreifen.

images

Der Dienst heißt Family Shield und kann in jedem Router oder auch PC konfiguriert werden.

Wenn Ihr es mal ausprobieren wollt, tragt einfach als NS diese Server ein:

208.67.222.123 & 208.67.220.123

Download

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

 

 

 

Apache und PHP Performance Tuning in Debian [HowTo]

Heute möchte ich kurz zeigen wie Ihr Eurem Apache/PHP WebServer mehr Power gebt.

Es gibt diverse Möglichkeiten, eine Webseite zu beschleunigen. Zuvor hatte ich schon darüber gebloggt wie Ihre den Datenstrom zwischen Server und Client packt um die Transferzeiten zu minimieren. Auf dem Server müssen die Webseiten aber erst aufbereitet werden, bevor diese transferiert werden können. Ein großen Vorteil haben statische Elemente wie Bilder, Html-Seiten etc. Setzt man jedoch PHP ein, muss die Seite immer geparst und interpretiert werden. Diese Operationen benötigen Zeit, und belasten auch die Leistung des Servers.

Setzt man auf Caching Mechanismen kann man ohne Verlust der Webseitendynamik einfach “statische” Seiten erzeugen. Ein Liste der Verfügbaren PHP-Chaches findet Ihr hier. Ich persönlich habe mich für den Einsatz des APC (Alternative PHP Cache) entschieden.

apcphp

Die Installation auf Debian ist denkbar einfach durchzuführen.

# apt-get update
# apt-get install php5-pear php5-apc

Es werden nun alle notwendigen Pakete installiert. Um die neue Funktionalität nutzen zu können, muss der Apache noch einmal durch gestartet werden.

# /etc/init.d/apache2 restart

Beim Besuch Eurer Seite solltet Ihr nun einen ordentlichen Performance Zuwachs merken. Wenn Ihr Euch nicht sicher seid, ob der APC richtig läuft, dann legt einfach ein Datei (phpinfo.php) mit folgendem Inhalt an und ruft diese im Browser auf:

<?php
phpinfo();
?>

Das Ergebnis sollte in etwas so aussehen:

phpinfo

Sucht einfach nach APC auf der Seite um zu validieren ob der Cache läuft:

phpinfo_apc