Es ist passiert …

Heute ist es passiert, nach fast 7 Jahren iPhone nutzung und iOS 2. – iOS 8 habe ich meiner Frau einen Droiden gekauft. Ok, ich hab da noch so ein schrottiges 7″ Tablett mit Android 4.2, aber das ist ja nicht repräsentativ.

Zu meinem Bestand gehört jetzt ein Sony Xperia Z2 … mit Android 4.4. Demnächst werdet Ihr hier wohl auch einige Guides zur Nutzung von Android finden 😉

Spotify auf Ubuntu

Ja es geht, Spotify ohne wine auf Ubuntu.

1. Füge diese Zeile zu Deiner Liste der Repositorys hinzu,

nano /etc/apt/sources.list
deb http://repository.spotify.com stable non-free

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59

sudo apt-get update

sudo apt-get install spotify-client

Das wars, jetzt sollte es so aussehen …

Bildschirmfoto vom 2014-10-24 12:00:14

Welchen Proxy benutze ich?

Oft habe ich mit die Frage gestellt, wie man herausfindet, welchen Proxy man aktuell benutzt. Warum ich es nicht weiß fragt Ihr Euch?

Stellt man sich vor, dass man in einem Unternehmensnetzwerk eingeloggt ist, gerne aber eine Applikation nutzen möchte, bei der ein Proxy manuell konfiguriert werden muss. Unter Windows kann man einfach dieses Befehl ausführen un man sieht alle aufgebauten Verbindungen.

netstat -an | find "EST"

Jetzt hält man einfach ausschau nach den typischen Verdächtigen, also Verbindungen auf Port 80, 3128, 8118, 8080. Hat man die IP identifiziert, kann man diese einfach in jedem weiteren Tool eintagen.

OpenVZ und Debian Wheezy

Heute möchte ich Euch keine kurze Einleitung geben, wie Ihr Euch zu Hausen einen eigenen OpenVZ Server einrichtet.

Falls Ihr Euch noch nicht mit OpenVZ auseinander gesetzt habe, habe ich Euch mal den Wikipedia Artikel verlinkt.

Als erstes muss man das Repository in der sources.list eintragen. Hierzu einfach folgenden Befehl als root ausführen.

cat << EOF > /etc/apt/sources.list.d/openvz-rhel6.list
deb http://download.openvz.org/debian wheezy main
# deb http://download.openvz.org/debian wheezy-test main
EOF

Um auch Pakete aus dem Repository installien können müssen wir noch den GPG-Key installieren.

wget http://ftp.openvz.org/debian/archive.key
apt-key add archive.key

Als nächstes machen wir ein Update der Paketlisten:

apt-get update

Nachdem jetzt alle Vorbedingen erfüllt sind gehts an die eigentliche Installation. Zunächst müssen wir bestimmen ober wir ein 32bit oder 64bit System als Host haben. Abhängig davon müssen wir den OpenVZ Kernel für 32 oder 64 bit installieren. Mit dem folgenden Befehl könnt Ihr den notwendigen Kernel bestimmen.

apt-cache search linux-image-openvz

Der Befehlt lieferte auf meinem System das 64bit Paket zurück.

apt-get install linux-image-openvz-amd64 vzctl vzquota vzdump

Alle abhängigen Pakete müssen natürlich mitinstalliert werden 😉

Um muss das Dateisystem noch eingebunden werden:

ln -s /var/lib/vz /vz

Jetzt nehmen wir noch einige systemspezifische Änderungen vor und fügen folgenden Code in die /etc/sysctl.conf ein

net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp=1

Jetzt geschwindt noch die Einstellungen anwenden:

sysctl -p

Um standardmäßig den notwendigen OpenVZ Kernel  zu booten, muss der Grub Bootloader noch angepasst werden:

nano /etc/default/grub

In der Konfigurationsdatei dann einfach den Defaultwert auf 2 setzen. Warum? das Ihr noch 2 Einträge davor habt und Grub bei 0 anfängt zu zählen.

...
GRUB_DEFAULT=2
...

Grub kann nun geupdated werden und der original Kernel deinstalliert.

update-grub
apt-get remove linux-image-amd64 linux-image-3.2.0-4-amd64
update-grub

Nach dem Neustart könnt Ihr nun Prüfen ob der richtige Kernel gebootet wurde.

uname -r

Wenn alles OK war, geht es mit dem OpenVZ Web Panel (OWP) weiter:

Es gibt eine automatische Installationsroutine für das OWP, welche durch den folgenden Befehl runtergeladen und direkt ausgeführt wird.

wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh

Wenn Ihr jetzt einen Fehler bezüglich ruby Version 1.9 bekommt führ bitte folgende Befehle aus:

apt-get install ruby1.8 ruby-switch
ruby-switch --set ruby1.8

Jetzt wiederholt bitte der Schritt zur Installation des OWP.

Euer OpenVZ Server ist nun fertig installiert 😉 Öffnet das Web Panel und ändert butte den Login.

http://<serverip>:3000/

Bestimmen der globalen ipv6 Adresse hinter einer FritzBox unter Debian

So langsam habe ich die Vermutung, dass niemand meine Posts versteht … OK :/

Was ist das Problem? Das wesentliche Problem besteht darin, dass Ihr ein Linux-Server hinter einer FritzBox mit Ipv6 betreibt und diesen öffentlich zugänglich via Ipv6 machen möchtet. Dazu richtet man in der FritzBox noch die Freigabe ein und gut ist. Jetzt kommt aber das Problem.

Ich glaube nicht, dass sich jemand die Ipv6 Adressen merken kann. Also brauch man dyndns. Ruft man per Cronjob jetzt das Update-Script beim DynDns hoster auf, bekommt dieser aber nur die “public” Adresse der Fritzbox mitgeteilt. Wir sind also gekniffen.

Um die “global scope” Adresse unter debian zu besimmen hab ich mal diesen Command zusammen gebaut:

/sbin/ip -6 addr |grep  "scope global dynamic" | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'

Als Ergebnis bekommt Ihr die reine Ipv6 Adresse des Systems mit dem dynamischen globalen scope.

[HowTo] Openmediavault + SSL Shared Host in NGINX + owncloud App + Server Name Indication

Der Titel hört sich super kompliziert an, und das Problem was auch nicht ganz so einfach zu knacken 🙂

Was will ich eigentlich erreichen? Ich hab zu Hausen einen OpenMediaVault NAS am laufen. Hier kann man im App Prinzip Pakete nachinstallieren (teschnisch einfach ein apt-get ;)). Es gibt auch eine ownCloud app, die sich um die generelle Konfiguration von Nginx, PHP und den Pfaden kümmert. Mein Problem liegt jetzt aber darin, dass ich verschiedene SSL-Seiten zu Hause hosten möchte. und jetzt beginnt das Problem.

omv_apps

Nun habe ich mich mal näher mit OMV auseinander gesetzt. Um herauszufinden, welche Pakte im OMV-Plugin sind, habe ich einfach per dpkg die Dateien des installieren Paketes anzeigen lassen:

dpkg-query -L openmediavault-owncloud

So sah dann das Ergebnis aus:

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/openmediavault-owncloud
/usr/share/doc/openmediavault-owncloud/changelog.gz
/usr/share/openmediavault
/usr/share/openmediavault/locale
/usr/share/openmediavault/locale/pl_PL
/usr/share/openmediavault/locale/pl_PL/openmediavault-owncloud.po
/usr/share/openmediavault/locale/da_DA
/usr/share/openmediavault/locale/da_DA/openmediavault-owncloud.po
/usr/share/openmediavault/locale/de_DE
/usr/share/openmediavault/locale/de_DE/openmediavault-owncloud.po
/usr/share/openmediavault/locale/es_ES
/usr/share/openmediavault/locale/es_ES/openmediavault-owncloud.po
/usr/share/openmediavault/locale/fr_FR
/usr/share/openmediavault/locale/fr_FR/openmediavault-owncloud.po
/usr/share/openmediavault/locale/gl
/usr/share/openmediavault/locale/gl/openmediavault-owncloud.po
/usr/share/openmediavault/locale/openmediavault-owncloud.pot
/usr/share/openmediavault/locale/no_NO
/usr/share/openmediavault/locale/no_NO/openmediavault-owncloud.po
/usr/share/openmediavault/locale/it_IT
/usr/share/openmediavault/locale/it_IT/openmediavault-owncloud.po
/usr/share/openmediavault/locale/pt_PT
/usr/share/openmediavault/locale/pt_PT/openmediavault-owncloud.po
/usr/share/openmediavault/locale/uk_UK
/usr/share/openmediavault/locale/uk_UK/openmediavault-owncloud.po
/usr/share/openmediavault/locale/zh_CN
/usr/share/openmediavault/locale/zh_CN/openmediavault-owncloud.po
/usr/share/openmediavault/locale/hu_HU
/usr/share/openmediavault/locale/hu_HU/openmediavault-owncloud.po
/usr/share/openmediavault/locale/gl_ES
/usr/share/openmediavault/locale/gl_ES/openmediavault-owncloud.po
/usr/share/openmediavault/locale/zh_TW
/usr/share/openmediavault/locale/zh_TW/openmediavault-owncloud.po
/usr/share/openmediavault/locale/ru_RU
/usr/share/openmediavault/locale/ru_RU/openmediavault-owncloud.po
/usr/share/openmediavault/locale/nl_NL
/usr/share/openmediavault/locale/nl_NL/openmediavault-owncloud.po
/usr/share/openmediavault/locale/tr_TR
/usr/share/openmediavault/locale/tr_TR/openmediavault-owncloud.po
/usr/share/openmediavault/locale/ko_KR
/usr/share/openmediavault/locale/ko_KR/openmediavault-owncloud.po
/usr/share/openmediavault/locale/sv_SV
/usr/share/openmediavault/locale/sv_SV/openmediavault-owncloud.po
/usr/share/openmediavault/locale/el_GR
/usr/share/openmediavault/locale/el_GR/openmediavault-owncloud.po
/usr/share/openmediavault/locale/ja_JP
/usr/share/openmediavault/locale/ja_JP/openmediavault-owncloud.po
/usr/share/openmediavault/mkconf
/usr/share/openmediavault/mkconf/owncloud
/usr/share/openmediavault/mkconf/nginx.d
/usr/share/openmediavault/mkconf/nginx.d/owncloud
/usr/share/openmediavault/mkconf/avahiservices.d
/usr/share/openmediavault/mkconf/avahiservices.d/owncloud
/usr/share/openmediavault/engined
/usr/share/openmediavault/engined/module
/usr/share/openmediavault/engined/module/owncloud.inc
/usr/share/openmediavault/engined/rpc
/usr/share/openmediavault/engined/rpc/owncloud.inc
/var
/var/www
/var/www/owncloud
/var/www/owncloud/apps
/var/www/owncloud/apps/user_openmediavault
/var/www/owncloud/apps/user_openmediavault/appinfo
/var/www/owncloud/apps/user_openmediavault/appinfo/version
/var/www/owncloud/apps/user_openmediavault/appinfo/info.xml
/var/www/owncloud/apps/user_openmediavault/appinfo/app.php
/var/www/owncloud/apps/user_openmediavault/group_openmediavault.php
/var/www/owncloud/apps/user_openmediavault/user_openmediavault.php
/var/www/owncloud/3rdparty
/var/www/openmediavault
/var/www/openmediavault/js
/var/www/openmediavault/js/omv
/var/www/openmediavault/js/omv/module
/var/www/openmediavault/js/omv/module/admin
/var/www/openmediavault/js/omv/module/admin/service
/var/www/openmediavault/js/omv/module/admin/service/owncloud
/var/www/openmediavault/js/omv/module/admin/service/owncloud/Shares.js
/var/www/openmediavault/js/omv/module/admin/service/owncloud/OwnCloud.js
/var/www/openmediavault/js/omv/module/admin/service/owncloud/Settings.js
/var/www/openmediavault/images
/var/www/openmediavault/images/owncloud.svg
/var/www/openmediavault/images/owncloud.png
/etc
/etc/php5
/etc/php5/fpm
/etc/php5/fpm/pool.d
/etc/php5/fpm/pool.d/openmediavault-owncloud.conf
/var/www/owncloud/3rdparty/openmediavault

Für mich interessant war jetzt eben die Konfiguration des NGINX Web-Servers. Dies passiert in dieser Datei /usr/share/openmediavault/mkconf/nginx.d/owncloud.

Hier werde ich jetzt einige Anpassungen für meine Bedürfnisse vornehmen.

[HowTo] Froxlor, SSL und Apache richtig konfigurieren

Was brauchen wir? Fangen wir mit den Zertifikaten an. Zunächst legen wir einen Ordner unter /etc/apache2 namens ssl an.

mkdir /etc/apache2/ssl/
cd /etc/apache2/ssl/

Im Anschluss erzeugen wir die notwendigen Zertifikate. Hierbei legen wir der einfachheitshalber zunächst ein Skript an.

nano create_certs.sh

In die Datei bitte folgendes einfügen:

#!/bin/sh
# Ersetzen mit Zerifikatsnamen
keyname=MyCert

openssl genrsa -out $keyname.key 2048
openssl req -new -key $keyname.key -out $keyname.csr
openssl rsa -in $keyname.key -out $keyname.key
openssl x509 -req -days 365 -in $keyname.csr -signkey $keyname.key -out $keyname.crt
cat $keyname.crt $keyname.key > $keyname.pem
chmod 664 *.crt
chmod 600 *.key
chmod 600 *.pem

Jetzt noch die Zertifikate erzeugen lassen:

sh create_certs.sh

Nun geht es im Froxlor Interface weiter. Hier müsst Ihr nun unter  Server -> Einstellungen -> SSL Einstellungen SSL aktivieren.

frox_ip1 frox_ip2

Falls es beim neustart des Appache zu folgendem Fehler kommt, muss ssl noch aktiviert werden:

Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
 failed!

Wenn man nun das Modul aktiviert sollte es wieder funktionieren.

a2enmod ssl

Jetzt ist alles geschafft!

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