SchlagwortDebian

Langsamer ssh login

Heute habe ich mich gefragt, warum der Login auf einem durchaus schnellen i5 ssh Server mehrere Sekunden benötigt, bis die Passwort abfrage kommt.

Zuerst einmal habe ich versucht herauszufinden woran es hackt:

ssh -vvv username@hostname
OpenSSH_5.8p1 Debian-1ubuntu3
...
...
...

Im Anschluss habe ich geschaut woran es hackt und habe dann auf dem Server den Versuch der Namensauflösung gesehen.
Als ich die Namensauflösung abgeschaltet hatte war es dann auch wieder schnell.

Hierzu einfach in die sshd_config folgendes eintragen:

UseDNS no

Im Anschluss dann noch ein

service ssh restart

Ab sofort sollte der Login wieder schnell sein!

bash –> Highlighting in der Konsole

Wenn man viel auf der Konsole unterwegs ist, ist es schön, wenn verschiedene Files hervorgehoben sind. Das ist einfach zu bewerkstelligen innerhalb der bash.

nano ~/.bashrc

Hier nun folgendes einfügen:

alias ls='ls --color=auto'

Neu einloggen und schon ist die Konsole nicht mehr so trist.

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.

MySQL Dump richtig Importieren

mysqlJetzt noch ein schneller Tip für heute. Wie bekommt man den MySQL Dump wieder richtig eingespielt? Ich habe immer wieder
das Problem, dass dieses ä,ö und ü nicht korrekt wiederhergestellt werden.

Eigentlich ist es ganz einfach, wenn er Dump im utf8 Format erzeugt wurde, das einfach beim Import mit angeben.

mysql -u root -p --default-character-set=utf8 database < database.sql

 

froxlor in 5 minuten installieren

Der eigene vServer, was nun?froxlor

Um euch schnell einen eigenen Server aufzusetzen und zu betreiben, gibt es viele Anleitungen im Netz. Hier nun eine Anleitung wie Ihr Euren Server innerhalb weniger Minuten an den Start bringt und verwaltet.

Ich gehe davon aus, das der vServer auf Debian setzt und frisch installiert ist.

Zunächst einmal, muss man die Froxlor-Paketquellen einfügen.

nano /etc/apt/sources.list.d/froxlor.list

Hier nun folgendes einfügen:

deb http://debian.froxlor.org/ wheezy main

Im Anschluss müssen noch die GPG-Keys bekannt gemacht werden.

gpg --keyserver pgp.mit.edu --recv-keys F6B4A8704F9E9BBC
gpg --export F6B4A8704F9E9BBC|apt-key add -

Jetzt wird Froxlor Installiert

apt-get update && apt-get install froxlor

Während der Installation werden Euch einige Auswahldialoge gezeigt. Hier bitte wie folgt antworten:

  1. Im Dialog “Configuring courier-base”, Nein auswählen
  2. Root-Passwort für MySQL festlegen

Nach einigen Minuten ist die Installation erledigt und Froxlor steht nun unter http://<IP des Servers>/froxlor zur Verfügung.

Bei Debian Jessie muss dass DocRoot im Apache nachgeändert werden, anderenfalls ist das UI nicht verfügbar.

samba4 als Backup DC für Windows Server 2012 R2

ubuntulogoWenn Ihr, wie auch ich, ein Active Directory zu Hause betreibt, liegt das Bedürfnis von Ausfallsicherheit Nahe. Gerade wenn es um die Zentrale Einrichtung von Benutzern und auch Passwörtern geht steht der Sicherheitsgedanke im Vordergrund. Egal ob der primäre Domainenkontroller auf Windows setzt oder auf Linux, so funktioniert das Setup des 2ten Domainkontrollers gleich.

Der Einfachheit halber gehe ich davon aus, dass die eingesetzte Distribution bereits ein Samba 4 mitbringt. Zu empfehlen it ein Samba > 4.2 da es sonst mit Windows 8/10 und dem Credential Manager zu Problemen kommen kann. Ich persönlich empfehle den Einsatz von Ubuntu oder aber Debian. Bei Debian ist Jessie (v8) oder aber Ubuntu 14.04/15.04/16.04 (Testing) zu empfehlen. Ist ein aktuelles Samba nicht verfügbar, so könnt Ihr in meinem Compileguide ein aktuelles Samba selbst kompilieren.

Nun geht es mit der Installation mit Samba los, hierzu benötigt Ihr natürlich root Rechte.

sudo apt-get update
sudo apt-get install samba

Anschließend entfernen wir die distributionseigene Konfiguration.

cd /etc/samba
mv smb.conf smb.conf.bak

Eigentlich ist die Arbeit jetzt erledigt, wir müssen jetzt nur noch der Domaine beitreten und unser Samba zum AD Controller promoten. Wenn alle DNS Einträge passen, geht es jetzt los:

sudo samba-tool domain join <Domain> DC -Uadministrator --realm=<FQD> --server=<running DC>

Example
samba-tool domain join home.tschoerner.eu DC -Uadministrator --realm=home.tschoerner.eu --server=frankfurt.home.tschoerner.eu

Wenn alles durchgelaufen ist, hat euer Linux nun folgende Rollen:

  • Backup AD Controller
  • DNS Server

Raspberry Pi Images auf SD brennen unter Linux/OSX

Aktuell liegen der Einfachheit halber die Raspberry Distributionen als Image vor. Häufig stellt man sich nun die Frage, wie bekomme ich das Image nun auf die SD-Karte. Unter Windows kann man einfach das Tool Win32-DiskImager nutzen, welches sich zu schreiben von Images als auch zu lesen eignet.

Unter OS X oder Linux findet man deutlich weniger Information zu diesem Thema, aber eigentlich geht es hier noch viel eifacher. Hat man das Image heruntergeladen, liegt es typischerweise als “.img” Datei vor. Jetzt kann man das Image einfach mid dd auf die SD Karte schreiben. dd ist bereits bei OS X und auch bei Linux im minimal Umfang enthalten.

sudo dd bs=1M if=/home/felix/Downloads/2014-12-24-wheezy-raspbian.img of=/dev/mmcblk0

 

Low Memory LLMP auf VPS oder Raspberry

Günstige kleine virtuelle Server gibt es für schmales Geld. Bereits für 1,29€ gibts hier das Einsteiger Model.

Mit diesem kleinem HowTo könnt Ihr auf der Raspberry PI oder einem VPS einen voll funktionsfähigen LLMP (Linux, Lighttpd, MySQL, PHP) installieren.

Dieses HowTo basiert auf Raspian bzw. Debian Wheezy.
Zuerst bringen wird das System auf einen akutellen Stand:

# apt-get update && apt-get upgrade

Nachdem jetzt das System up2date ist, fangen wir mit dem Web-Server an:

# apt-get install lighttpd

Wenn wir nun mehrere Webseiten hosten möchten machen wir e uns einfach und nutzen das module simple_vhost. Dieser Mod ermöglicht uns, indem wir eine gewisses Fromat bei der Ordnerstruktur einhalten, dass wir ohne weiter konfiguration mehrere vHosts betreiben können.

 

# lighttpd-enable-mod simple-vhost

Nachdem nun das Modul aktiviert ist, müssen wir die Konfiguration noch anpassen:

# nano /etc/lighttpd/conf-enabled/10-simple-vhost.conf

Hier ändern wir die Datei wie folgt:

# /usr/share/doc/lighttpd/simple-vhost.txt

server.modules += ( "mod_simple_vhost" )

## The document root of a virtual host is document-root =
##   simple-vhost.server-root + $HTTP["host"] + simple-vhost.document-root
simple-vhost.server-root         = "/var/www/"
simple-vhost.document-root       = "html"

## the default host if no host is sent
simple-vhost.default-host        = "server2.tschoerner.eu"

Jetzt legen wir einen vHost an, und zwar im folder /var/www

# mkdir -p /var/www/test.server2.tschoerner.eu/html
# echo '<h1>Lighttpd on Linux Rocks!</h1>' > /var/www/test.server2.tschoerner.eu/html/index.html

/etc/init.d/lighttpd force-reload

Wenn Ihr jetzt auf den Server zugreift, wird euch “Lighttpd on Linux Rocks!” präsentiert.

WordPress installieren

Zuerst brauchen wir php und mysql, dann können wir weitermachen.

# apt-get install bsdutils
# apt-get install mysql-server php5-cgi php5-mysql

Jetzt aktivieren wir php für alle unsere vHosts

# nano /etc/lighttpd/conf-enabled/10-cgi-php.conf

und fügen folgendes ein

server.modules += ("mod_cgi")
cgi.assign = (".php" => "/usr/bin/php5-cgi")

Lighttpd neu starten, so dass die Config geladen wird

# /etc/init.d/lighttpd force-reload

Wir testen ob php geparst wird:

echo '<?php phpinfo(); ?>' > /var/www/test.server2.tschoerner.eu/html/phpinfo.php

MySql Stuff (User anlegen & Datenbank)

# mysqladmin -uroot -p create blog
# wget http://wordpress.org/latest.tar.gz
# tar xvzf latest.tar.gz -C /var/www/test.server2.tschoerner.eu/html
# cd /var/www/test.server2.tschoerner.eu/html
# mv wordpress/wp-config-sample.php wordpress/wp-config.php
# nano wordpress/wp-config.php

Jetzt noch Lighttpd die Permalink struktur beibringen

# cat > /etc/lighttpd/conf-enabled/my.conf
$HTTP["host"] == "test.lowendbox.com" {
    $HTTP["url"] =~ "^/blog/" {
        server.error-handler-404 = "/blog/index.php"
    }
}

# /etc/init.d/lighttpd force-reload

Und jetzt noch einige optionale Tweaks um Speicher zu sparen

# apt-get install dash
# dpkg-reconfigure dash
# /etc/init.d/mysql restart

# apt-get install syslog-ng && dpkg --purge rsyslog

# apt-get remove --purge portmap

Das was schon. Nach 10 Minuten zum Low Memory LLMP

Openmediavault Disk IO on Linux and Windows vBox Guest

Da man ja bekanntlich ;D zwischen den Jahren nicht viel zu tun hat, habe ich heute die Kernel Logs meines NAS auf Basis von OpenMediaVault geprüft. Mir fiel dabei auf, dass der aktuelle Kernel von Wheezy keine optimale Unterstützung für die von mir eingesetzte j1900 CPU (Intel ARK).

Nachdem ich mit einen “Custom” Kernel genaut habe, passen jetzt auch die non-free treiber zum j1900. Dieser unterstützt jetzt auch im Burst-mode 2.4 Ghz.

root@London:~# cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Bitte melden Sie Fehler an cpufreq@vger.kernel.org.
analysiere CPU 0:
  Treiber: intel_pstate
  Folgende CPUs laufen mit der gleichen Hardware-Taktfrequenz: 0
  Die Taktfrequenz folgender CPUs werden per Software koordiniert: 0
  Maximale Dauer eines Taktfrequenzwechsels: 0.97 ms.
  Hardwarebedingte Grenzen der Taktfrequenz: 1.33 GHz - 2.42 GHz
  mögliche Regler: performance, powersave
  momentane Taktik: die Frequenz soll innerhalb 1.33 GHz und 2.42 GHz.
                    liegen. Der Regler "powersave" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1.33 GHz  (verifiziert durch Nachfrage bei der Hardware).
analysiere CPU 1:
  Treiber: intel_pstate
  Folgende CPUs laufen mit der gleichen Hardware-Taktfrequenz: 1
  Die Taktfrequenz folgender CPUs werden per Software koordiniert: 1
  Maximale Dauer eines Taktfrequenzwechsels: 0.97 ms.
  Hardwarebedingte Grenzen der Taktfrequenz: 1.33 GHz - 2.42 GHz
  mögliche Regler: performance, powersave
  momentane Taktik: die Frequenz soll innerhalb 1.33 GHz und 2.42 GHz.
                    liegen. Der Regler "powersave" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1.33 GHz  (verifiziert durch Nachfrage bei der Hardware).
analysiere CPU 2:
  Treiber: intel_pstate
  Folgende CPUs laufen mit der gleichen Hardware-Taktfrequenz: 2
  Die Taktfrequenz folgender CPUs werden per Software koordiniert: 2
  Maximale Dauer eines Taktfrequenzwechsels: 0.97 ms.
  Hardwarebedingte Grenzen der Taktfrequenz: 1.33 GHz - 2.42 GHz
  mögliche Regler: performance, powersave
  momentane Taktik: die Frequenz soll innerhalb 1.33 GHz und 2.42 GHz.
                    liegen. Der Regler "powersave" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1.34 GHz  (verifiziert durch Nachfrage bei der Hardware).
analysiere CPU 3:
  Treiber: intel_pstate
  Folgende CPUs laufen mit der gleichen Hardware-Taktfrequenz: 3
  Die Taktfrequenz folgender CPUs werden per Software koordiniert: 3
  Maximale Dauer eines Taktfrequenzwechsels: 0.97 ms.
  Hardwarebedingte Grenzen der Taktfrequenz: 1.33 GHz - 2.42 GHz
  mögliche Regler: performance, powersave
  momentane Taktik: die Frequenz soll innerhalb 1.33 GHz und 2.42 GHz.
                    liegen. Der Regler "powersave" kann frei entscheiden,
                    welche Taktfrequenz innerhalb dieser Grenze verwendet wird.
  momentane Taktfrequenz ist 1.35 GHz  (verifiziert durch Nachfrage bei der Hardware).
root@London:~#

Wenn jetzt also die Treiber besser passen, dachte ich mit, teste ich noch schnell mal den IO auf mein internes RAID5 (3x WD RED). Eine einfache Messung habe ich auf der Konsole mittels dd durchgeführt.

Test 1: 8k Länge & Anzahl 256k

Test 2: 8K Länge & Anzahl 512k

root@London:/media# dd if=/dev/zero of=/media/3e0a8081-0482-4a84-8e05-ae2106117e16/test/output.img bs=8k count=256k
262144+0 Datensätze ein
262144+0 Datensätze aus
2147483648 Bytes (2,1 GB) kopiert, 7,72799 s, 278 MB/s
root@London:/media# dd if=/dev/zero of=/media/3e0a8081-0482-4a84-8e05-ae2106117e16/test/output.img bs=8k count=512k
524288+0 Datensätze ein
524288+0 Datensätze aus
4294967296 Bytes (4,3 GB) kopiert, 17,2436 s, 249 MB/s

In einem VirtualBox Windows Gast habe ich eine Messung mit Cristal Mark gemacht. Auch hier war ich mit der Leistung durchaus zufrieden.

cristal_mark_LYON_TerminalServer_VM_test2

Als Vergleich noch mein Laptop mit SSD & HDD:

SSD:

SSD_c-Drive

HDD:

HDD_D-Drive

Mit der Disk-Performance meines NAS Server kann ich wohl ganz zufrieden sein.

ffmpeg selber bauen unter Debian Wheezy

Um eine neue Version … die Neueste … von ffmpeg zu bauen, geht Ihr wie folgt vor.

apt-get update
apt-get build-dep ffmpeg
mkdir /root/ffmpeg
cd /root/ffmpeg
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg/
./configure --enable-avresample && make && make install

Kaffee trinken und warten 😉

Ich arbeite im Moment noch einer ffmpeg Version, welche das Hardware Beschleunigte trans codieren mittel Intels Quick Sync Technology erlaubt…