Windows Fax via SIP

Kürzlich stand ich vor dem Problem, mehrere Seiten per Fax (ja es gibt noch Leute die das benutzen) zu verschicken. Leider gibt es im Netz zwar freie Dienste (google berühren) aber leider habe ich keinen gefunden, welche mehr als 5 Seiten zulässt.

Unter Linux gibt es natürlich die Möglichkeit mittels Asterisk und Hylafax ein fax via SIP zu verschicken, jedoch ist das etwas mit Kanonen auf Spatzen geschossen. Es gibt auch die Möglichkeit mittels Fritz!Fax zu faxen, aber bei mir war die Software nicht zum Laufen zu bringen. Also musste ich etwas im Netz recherchieren. Dabei bin ich auf einen virtuellen Modem Treiber gestoßen, welche ein SIP <–> Modem Verbindung herstellst und das ganze auch noch als Freeware.

Der Anbieter Trialware bietet einen solchen Treiber hier an.

http://www.faxback.com/Products/FreeMSFaxDownload.aspx

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

 

Samba4 ActiveDirectory auf einem Raspberry PI

Ohne jetzt viel Zeit auf die Vor- & Nachteile eines Active Directorys (AD) eingehen zu wollen, möchte ich Euch kurz zeigen wie man ein Samba4 aus dem Git zieht und kompiliert.

Los gehts mit der Vorbereitung. Zuerst einmal müssen wir alle Pakete, welche zum Build benötigt werden installieren.

apt-get install python-dev git-core libacl1-dev libblkid-dev libgnutls-dev build-essential libacl1-dev libattr1-dev libreadline-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev cups cups-pdf

Nachdem jetzt unser System vorbereitet ist, müssen wir uns eine Kopie herunterladen. Da ich immer gerne eine aktuelle Version habe, empfehle ich diese direkt aus dem stable branch zu laden.

cd ~
mkdir samba
cd samba
git clone -b v4-3-stable git://git.samba.org/samba.git samba-v4-3-stable

Soweit so gut,  jetzt müssen die Automakescripte erzeugt werden

cd samba-v4-0-stable/ && ./configure

Dieser Schritt dauert bereits 15 Minuten auf der PI … und es wird nicht besser 🙁 Im Anschluss bauen wir nun unser Samba. Hier empfiehlt es sich, das bauen vor der Arbeit oder über Nacht anzustarten.

make

Ist der Build nun nach gut 4 Stunden erfolgreich durchgelaufen (Warnings ignorieren wir mal :D) installieren wird noch unser Samba.

make install

 

 

 

 

 

 

 

 

 

lxc usb passthru

Heute mal etwas ausführlicher, deshalb noch ein weiterer Blog zum Thema LXC.

Zuhause habe ich noch einen Farblaser von Samsung. Leider hat der Laser weder einen Netzwerkanschluss noch versteht er AirPrint beziehungsweise Google Cloud Print. Nichts einfacher als das dachte ich mir, und erzeugt einen Ubuntu LXC Gast. Im Anschluss habe ich die Konfiguration des Containers wie folgt bearbeitet. Nach einem Neustart des Containers war das USB gerät, in meinem Fall der Drucker, verfügbar.

lxc.cgroup.devices.allow = c 189:* rwm
lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir

 

lxc Gast mit neuen Ubuntu releases

So nachdem ich lange Zeit nichts mehr gebloggt habe, ist es mal wieder Zeit.

Kürzlich stand ich vor dem Problem, dass ich auf meinem LXC Host (ubuntu 14.04.3 LTS) keine test “releases” von Ubuntu als Gast anlegen konnte.
Obwohl alle Vorbedingungen erfüllt waren, konnte ich kein “xenial” Gast erzeugen. Debootstrap endete immer mit einer Fehlermeldung.

Da ich noch ein weiteres Problem mit dem Erzeugen von Container hatte beschloss ich zunächst einmal das Erzeugungsskript zu ersetzen. Hierzu habe ich das aktulle lxc-ubuntu aus den Git geladen:

sudo su
cd /usr/share/lxc/templates/
mv lxc-ubuntu lxc-ubuntu.bak

wget https://raw.githubusercontent.com/lxc/lxc/master/templates/lxc-ubuntu.in
mv lxc-ubuntu.in lxc-ubuntu
nano lxc-ubuntu

Im Anschluss noch die Pfad Variablen wie im Original Skript setzen.

Leider half das nur bedingt. Ich konnte nunmehr wieder alle releases erzeugen, außer xenial. Hierzu fehlte noch ein symbolischer link im debootstrap Ordner.

sudo su
cd /usr/share/debootstrap/scripts/
ln -s gutsy xenial

Im Anschluss war es kein Problem ein Gast auf Basis von Ubuntu Xenial zu erzeugen

sudo su
lxc-create -n tokio -t ubuntu -- --release xenial

Viel Spaß beim testen von Ubuntu Xenial.

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