Fail2Ban installieren und einrichten

fail2ban
Wenn man heutzutage einen Server im Internet betreibt wird einem schon aufgefallen sein, wie sich die Anzahl der Angriffe über die letzten Jahre hinweg schlagartig vermehrt hat. Wo man vor 10 Jahren noch 20 fehlgeschlagene Login Versuche in der Logdatei hatte sind es heute 200. Das ist eine erschreckende Wendung und sollte jedem Administrator oder Webseiten Betreiber zu denken geben, wie es um die Sicherheit seiner Daten bestellt ist.

Es gibt viele Möglichkeiten einen Server im Internet gegen Einbrüche von außen zu sichern, die wohl beliebteste, weil auch zugleich einfachste Methode ist: Fail2Ban. Das Programm macht eigentlich nichts anderes, als fehlgeschlagene Login Versuche zu überwachen und bei einer gewissen Anzahl die IP zu sperren. Total simpel, total gut. Fail2Ban gibt es mittlerweile seit ca. 10 Jahren und es ist mit den bekannten Diensten wie z.B. Webserver, FTP Server und SSH Servern kompatibel. Dazu bringt es dutzende von vorgefertigten Filtern von Haus aus mit. So ist die Installation und Konfiguration relativ einfach und auch für werdende Administratoren leicht umzusetzen.

Fail2Ban installieren und einrichten

Ich gehe hier mal von einem Ubuntu System aus. Die Installation sollte aber auch auf RPM Systemen genauso leicht ablaufen, da eigentlich jede der größeren Distributionen das Paket in den Paketquellen hat.

Der Befehl zur Installation von Fail2Ban lautet:

sudo apt-get install fail2ban

Nach der Installation ist Fail2Ban in dem Verzeichnis /etc/fail2ban zu finden. Die Konfigurationsdatei heisst jail.conf. Diese wird auch gleich von uns bearbeitet. Zuerst aber eine Erklärung zu den Parametern.

Die „Jails“ erklären sich eigentlich von selbst:

  • enabled – true / false Aktive / Inaktive Regel
  • filter – Name des Filters aus der /etc/fail2ban/filter.d
  • port – Angabe des Ports auf dem gelauscht werden soll
  • logpath – Pfad zur Logdatei
  • maxretry – Wie oft darf man den Zugriff versuchen bevor man gesperrt wird
  • findtime – Zeitraum in Sekunden der berücksichtigt wird
  • bantime – Zeitraum in Sekunden wie lange eine IP geblockt wird. Ein negativer Wert gilt hier für permanent

Um eigene Jails zu erstellen legen wir eine Kopie der jail.conf an und nennen sie jail.local

cd /etc/fail2ban
cp jail.conf jail.local

So. Jetzt mal ein Beispiel

[ssh]
enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 4

Damit ist unser sshd geschützt. Die Log Information leiten wir nach auth.log um, können aber auch in jeder anderen Datei gespeichert werden.

Um die Regel zu starten müssen wir unseren Fail2Ban Dienst starten bzw. bei neuen Regeln erneut laden

service fail2ban start
service fail2ban reload
service fail2ban stop

Die Ausgabe und ob euer Dienst auch seine Arbeit verrichtet bekommt ihr mit folgendem Befehl angezeigt

 tail -100f /var/log/fail2ban.log

Dass sollte es gewesen sein. Das Programm bietet natürlich noch weitaus komplexere Konfigurationsmöglichkeiten, auf die ich an dieser Stelle aber noch nicht eingehe.

Proxmox VE auf einem Hetzner Server einrichten

Da ich die Tage in den Genuss gekommen bin Proxmox VE auf einem Hetzner Server einzurichten, dachte ich mir ich teile mal meine Erfahrungen. Bei mir kommt ein PX Server zum Einsatz, es sollte aber eigentlich genau gleich auf allen Hetzner Servern funktionieren.

Wichtig vor Beginn ist, dass ihr die zusätzlichen IPs bestellt. Die schlagen mit 1€ zu Gewicht, sollte also somit machbar sein. Hetzner bietet ein eigenes Tutorial zur Installation von Proxmox VE an, ich kann aber nur jedem davon abraten. Natürlich habe ich es getestet, funktioniert hat es leider NICHT.

Also fangen wir mal an:

1. Server Installation

Als erstes aktivieren wir das Rescue Systtem des Servers (insofern noch kein Debian installiert ist). Dies geschieht über den Hetzner Robot, mit welchem ihr euren Server verwalten könnt. Unter dem Punkt Rescue müsst ihr lediglich die Architetktur auswählen. In unserem Fall ist das 64bit. Danach wird der Server über einen automatischen Reset unter dem Punkt Reset rebootet. Wichtig ist, dass ihr euch das Einmal-Passwort notiert, welches ihr bei Aktivierung des Rescue Systems bekommt.

Nachdem der Server neu gestartet hat könnt ihr euch am Rescue System anmelden. Installiert hier Debian wie unter folgendem Artikel beschrieben: http://wiki.hetzner.de/index.php/Installimage

Eigentlich ganz einfach, sollte keine Probleme bereiten.

2. Proxmox VE Installation

Nachdem Debian installiert wurde und wir uns wieder an unserem Server angemeldet haben, beginnen wir mit der Installation von Proxmox VE.

Wichtig ist, dass als erstes die Datei /etc/hosts überprüft wird. Hier solltet ihr auf 2 Sachen achten: 1. Hostname 2. IPV6

hosts

Fügt also den entsprechenden Hostnamen mit der öffentlichen IP hinzu

127.0.0.1 localhost.localdomain localhost
192.168.6.177 proxmox-6-177.proxmox.com proxmox-6-177 pvelocalhost

Und kommentiert die IPV6 Einträge aus

hosts_ipv6

Datei speichern und weiter.

Wir fügen als nächsten Schritt die Repository von Proxmox VE unserem System hinzu über den Editor „nano“

nano /etc/apt/sources.list
deb http://ftp.at.debian.org/debian wheezy main contrib

# PVE repository provided by proxmox.com, only for installation (this repo will stay on 3.1)
deb http://download.proxmox.com/debian wheezy pve

# security updates
deb http://security.debian.org/ wheezy/updates main contrib

laden den Schlüssel

wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

updaten das System

apt-get update && apt-get dist-upgrade

und beginnen mit der Installation

apt-get install pve-firmware pve-kernel-2.6.32-26-pve

Kernel Headers noch installieren

apt-get install pve-headers-2.6.32-26-pve

Das wars! Aber leeider noch nicht ganz …. Das Problem was jetzt nämlich auftaucht ist, dass wenn wir das System neu starten unser Kernel nicht geladen wird, da der erste Booteintrag noch auf unseren alten Kernel zeigt. Es gibt massig Beiträge wie ihr an dieser Stelle Grub bearbeitet um den richtigen Kernel zu booten. Der meiner Meinung nach einfachste ist, ihr kommentiert einfach alle anderen Einträge aus.

Dazu ruft ihr die config auf

nano /boot/grub/grub.cfg

Sucht nach folgendem Eintrag

grub_menu

und kommentiert die restlichen „menuentry“s aus. Sollte es hierbei Probleme geben und der Server startet nicht mehr findet ihr hier Hilfe: http://wiki.hetzner.de/index.php/Hetzner_Rescue-System

Solltet ihr alles richtig gemacht haben liefert der Befehl

uname -a

folgendes Ergebnis

Linux 2.6.32-26-pve ...

Wenn ihr wollt könnt ihr den alten Kernel jetzt deinstallieren und Grub wieder aufräumen

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

Als letzten Schritt installieren wir die nötigen Proxmox VE Pakete

apt-get install proxmox-ve-2.6.32 ntp ssh lvm2 postfix ksm-control-daemon vzprocps open-iscsi bootlogd

Wenn wir alles richtig gemacht haben können wir das Webinterface von Proxmox VE jetzt über die Adresse https://eureip:8006 erreichen

proxxmox_login

 

Hier verwenden wir den gleichen Login wie unter Debian. Die erste Einstellung, welche wir vornehmen ist unter „Network“ 2 Bridges anzulegen.

network_bridges

vmbr0 bekommt dabei die IP unseres Debian Hosts / vmbr1 eine interne IP hinter der wir ein privates Netzwerk anlegen können. Für das Routing sollte hier eine Firewall mit Gateway Funktion eingesetzt werden. Welche ihr da nehmt ist eigentlich egal, Hauptsache ihr kommt gut damit zurecht.

!WICHTIG! Bei der Firewall ist darauf zu achten, dass ihr dem roten Interface, also eurer Verbindung ins Internet, eine der drei zusätzlichen Hetzner IPs zuweist. Dies geschieht über die zusätzlichen MAC Adressen, die über den Robot freigeschaltet werden können, wenn ihr die zusätzlichen IPs bestellt habt.

firewall_network

Hier wird unter MAC einfach die von Hetzner vergebene MAC eingetragen. In der Firewall stellt ihr das Interface auf DHCP.

Kleiner Tipp am Rande: Das editieren der /etc/network/interfaces unter Debian macht eigentlich keinen Sinn, da die Datei jedesmal wenn ihr eine Bridge hinzufügt oder entfernt wieder überschrieben wird. Proxmox VE wählt sowieso die bestmöglichen Einträge.

Wie immer gilt: Bei Fragen oder Problemen meldet euch unter Google+

openVPN Server unter Linux

vpn_1

In dieser Anleitung / HowTo geht es um die Installation eines openVPN Servers unter Linux, in meinem Fall Ubuntu Server 14.04.
Als erstes, wozu nutzt eigentlich ein VPN? Hier mal ein Wiki Auszug:
„Das konventionelle VPN dient dazu, Teilnehmer eines privaten (in sich geschlossenen) Netzes an ein anderes privates Netz zu binden. Sobald also ein Computer eine VPN-Verbindung aufbaut, ist der Vorgang vergleichbar mit dem Umstecken seines Netzwerkkabels von seinem ursprünglichen Netz an ein anderes (per VPN zugeordnetes) Netz.

So kann beispielsweise ein Mitarbeiter von Zuhause aus Zugriff auf das Firmennetz erlangen, gerade so, als säße er mittendrin. Aus Sicht der VPN-Verbindung wird dafür das ursprüngliche Netz auf die Funktion eines Verlängerungskabels reduziert, das den VPN-Teilnehmer ausschließlich mit dem zugeordneten Netz verbindet. Technisch gesehen geht die Verbindung hin zu einem VPN-Gateway, der Anschlussstelle des zugeordneten Netzes. Dafür muss das VPN-Gateway von dem ursprünglichen Netz aus erreichbar sein. Gibt es auf dem Weg dorthin weitere dazwischen liegende Netze, dann werden auch diese bildlich gesehen zum Bestandteil des Verlängerungskabels.

Dieser Vorgang, dass ein VPN-Teilnehmer (VPN-Partner) zum Teilnehmer des zugeordneten Netzes wird, funktioniert unabhängig von der physischen Topologie und den verwendeten Netzwerkprotokollen selbst dann, wenn das zugeordnete Netz von einer vollkommen anderen Art ist.“

Ich denke mal, der Sinn wird hier relativ gut beschrieben. Ergänzend zu sagen wäre allerdings noch, dass so ein VPN eure Sicherheit im Internet sehr stark erhöhen kann, da sich die gesamte Verbindung  verschlüsseln lässt. Aber fangen wir erstmal an.

1. Installation und Konfiguration des Clients

Zunächst installieren wir Ubuntu Server 14.04 auf dem von uns gewählten VPN Host. In meinem Fall ist dies eine VM auf meinem Proxmox Server. Bei der Installation muss eigentlich auf nichts geachtet werden. Stumpf „Enter“ drücken bis wir damit durch sind. Das einzige was ich seit neuestem mache, ist die automatische Installation von Updates zu aktivieren. Das sorgt für eine erhöhte Sicherheit auf dem Server, da man keine relevanten Sicherheitspatches mehr verschläft.

Die entsprechenden Pakete für die jeweiligen Systeme sind unter folgendem Link zu finden: https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html

Der Befehl

wget http://swupdate.openvpn.org/as/openvpn-as-2.0.11-Ubuntu14.amd_64.deb

lädt das Paket herunter und mit

sudo dpkg --install openvpn-as-2.0.11-Ubuntu14.amd_64.deb

wird das Paket installiert.

Danach sollten wir folgendes Bild sehen:

openvpn_2

 

Welches uns in diesem Fall verrät, unter welcher Adresse unser openVPN Server zu erreichen ist. (Bitte beachtet eure individuelle IP Konfiguration)

Der Aufruf der Client UI bringt uns zu der Anmeldemaske von openVPN. Dort könnt ihr euch, mit dem bei der Installation von Ubuntu angelegten Benutzer, anmelden und werdet daraufhin aufgefordert den Client herunter zu laden.

openvpn_4

Ein Klick auf das Connection Profile, lädt die entsprechende .ovpn Datei für unseren User, welche wir für den Client benötigen.

vpn_5

Der Client wird unter Ubuntu mit folgendem Befehl installiert:

sudo apt-get install network-manager-openvpn & network-manager-openvpn-gnome

Danach ist dieser unter den Netzwerkeinstellungen zu finden

vpn_6

Dort lässt sich unter VPN-Verbindungen -> VPN konfigurieren eine Verbindung hinzufügen

vpn_7

Hierzu wählen wir „Gespeicherte VPN-Konfiguration importieren“ und klicken auf „Erzeugen…“. Danach werden wir in einer Auswahl nach der entsprechenden Datei gefragt, welche wir ja bereits herunter geladen haben und als client.ovpn in unserem Dateiverzeichnis zu finden sein sollte.

Als  nächstes erscheint ein Fenster zur Konfiguration der VPN Verbindung

vpn_8

Hier können wir den Namen der Verbindung editieren und müssen die Zertifikate hinterlegen, welche wir mit Hilfe von folgendem Tutorial erzeugen:

https://openvpn.net/index.php/open-source/documentation/howto.html#pki

2. Konfiguration der Admin UI

Um auf das Admin Interface Zugriff zu bekommen, müssen wir zunächst ein Passwort für den openvpn Benutzer vergeben

sudo passwd openvpn

Danach können wir uns mit dem Benutzer openvpn und unserem Passwort an dem Admin Interface anmelden, bestätigen die EULA und sehen die Status Übersicht des Servers.

vpn_9

Einmal angemeldet erstellen wir Über den Punkt User Permissions den Zugriff für unseren Hauptbenutzer. Dazu diesen einfach der Liste hinzufügen.

Auf die restlichen Einstellungen werde ich an dieser Stelle nicht eingehen, da dies ein wenig dem Umfang sprengen würde. Laufen sollte der Server auch bestens mit den Grundeinstellungen. Noch zu erwähnen wäre, dass der Access Server auf 2 Benutzer limitiert ist und für weitere Benutzer eine jährliche Gebühr fällig ist. Wer nach einer kostenlosen Version eines openVPN Servers mit grafischer Oberfläche für mehr als 2 Benutzer sucht, wird bei ClearOS fündig.

Solltet ihr weitere UIs für openVPN kennen, mit denen ihr schon positive Erfahrungen gesammelt habt, würde ich mich freuen auf Google+ davon zu hören.

WordPress automatische Updates und Plugin Installation

Jeder der WordPress nutzt wird es kennen:

wp_plugin

Und jedes mal sitzt man da und fragt sich: Wie ist die Kombination?

Ich kann euch beruhigen, es liegt nicht an euch. Es liegt am WordPress. Hier fehlen ganz einfach die erforderlichen Berechtigungen. Abhilfe schaffen folgende Änderungen am Webserver bzw. an den Verzeichnissen.

sudo vi /etc/httpd/httpd.conf

Je nachdem welches System ihr verwendet, liegt die Datei unter Umständen in einem anderen Verzeichnis….

locate httpd.conf
whereis httpd.conf

könnnen helfen.

In der Datei schaut ihr nach folgenden Einträgen:

User nobody
Group admin

Und ändert diese in:

User eurenbenutzer
Group httpd

Bitte bedenkt wieder, dass sich die Einträge hier nach System unterscheiden können.

Nach einem Neustart des Webservers sollten die automatischen Updates und die Plugin Installation ohne erneute Abfrage des FTP Benutzers funktionieren.

Grub entfernen

grub

Grub entfernen? Niemals! …. oder doch?

Wer ein Dualboot System nutzt und oft das zweite System (in diesem Fall Linux) wechselt, kommt irgendwann an den Punkt einen total vermüllten MBR zu haben. Wenn man dann noch Windows auf der Platte hat, kann das dazu führen, dass das System nicht mehr startet . Die Reperaturmöglichkeiten von Windows wie zb. bootrec /fixmbr helfen hier nicht sonderlich viel. Der Befehl der alles fixt heisst: bcdboot C:\Windows

Damit solltet ihr ein vernünftig bootendes Windows System haben, dem ihr natürlich gleich wieder ein Linux zur Seite stellt ;)

Hype – cool-old-term

cool old term

Er ist ja in aller Munde, der „cool old term“, also konnte ich natürlich nicht anders als ihn auch mal zu installieren. Leider gibt es kein fertiges Paket für Ubuntu, daher ist ein wenig Kompilierungsarbeit nötig.

Zunächst installiert ihr folgende Pakete:

sudo apt-get install build-essential qmlscene qt5-qmake qt5-default qtdeclarative5-dev qtdeclarative5-controls-plugin qtdeclarative5-qtquick2-plugin libqt5qml-graphicaleffects qtdeclarative5-dialogs-plugin qtdeclarative5-localstorage-plugin qtdeclarative5-window-plugin

Wer git noch nicht installiert hat sollte dies noch nachholen, da es den Aufwand reduziert und man nicht die Pakete für coll-old-term selber laden muss. Dies geschieht über:

sudo apt-get install git

Danach reicht der folgende Aufruf um das Paket herunter zu laden:

git clone https://github.com/Swordifish90/cool-old-term.git

Achtet darauf in welchem Verzeichnis ihr euch befindet.
Nach dem Download findet ihr in eurem jeweiligen Verzeichnis den Ordner cool-old-term. In diesen wechseln wir nun mittels cd:

cd cool-old-term

Danach noch einen Ordner weiter:

cd konsole-qml-plugin

Nun starten wir das kompilieren mittels:

qmake && make && make install

Wenn die ganze Arbeit erledigt wurde, wechseln wir in das Hauptverzeichnis und rufen das Programm mittels folgendem Befehl auf:

./cool-old-term

Über die „Settings“ lassen sich dann weitere Anpassungen vornehmen, wie z.B.: Farbe, Kontrast usw.

cool-old-term-settings

Nettes Spielzeug …..

Das Projekt findet ihr hier auf GitHub

Offiziellen NVIDIA Treiber installieren

Wer wie ich Probleme mit dem Ubuntu NVIDIA Treiber 331 hat sollte den offiziellen NVIDIA Treiber installieren.

Ich bekomme immer einen Freeze, wenn ich den aus den Paketquellen von Ubuntu kompilierten Treiber nutze. Ist mir die Tage bei der Installation von World of Warcraft aufgefallen und hat scheinbar mit dem Hybernate Modus zu tun. Soviel konnte ich mir bis Dato schon ergooglen. Ob es wirklich daran liegt steht noch offen. Ich hab deshalb kurzer Hand beschlossen den offiziellen NVIDIA Treiber zu installieren und mal zu schauen, wie dieser sich so verhält. Hier mal die Vorgehensweise:

Als erstes entfernen wir den aktuellen NVIDIA Treiber und die zugehörigen Komponenten wie zB. Prime, wenn dieser bei euch installiert ist:

nvidia

sudo apt-get remove nvidia*

Den Nouveau Treiber blacklisten wir. Dazu folgenden Befehl aufrufen ..

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

… und folgendes der blacklist-nouveau.conf hinzufügen:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

Wenn ihr keine blacklist-nouveau.conf habt, einfach die datei mit den Zeilen oben erstellen. Wenn ihr kein gedit verwendet einfach durch euren Editor ersetzen oder nachinstallieren.
Folgender Befehl sorgt noch dafür, dass das Kernel Modul für den nouveau Treiber nicht mehr geladen wird:

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

Initramfs updaten ….

update-initramfs -u

… und Bildschirmanger stoppen:

sudo stop lightdm

oder

sudo lightdm stop

Jetzt wird der NVIDIA Treiber installiert, welchen wir vorher von der offiziellen Seite geladen haben:

sudo sh NVIDIA-Linux-x86_64.....run    (für Ubuntu 64bit)

Als nächstes rufen wir die xconfig auf, damit eine neue Xorg.conf geschrieben wird.

sudo nvidia-xconfig

Prime nachinstallieren für Geräte mit 2 Grafikeinheiten:

sudo apt-get install nvidia-prime

Und das System zum Abschluss neu starten

sudo reboot

Wenn alles geklappt hat sollte das System nun mit dem neuesten NVIDIA Treiber laufen. Sollten Probleme bei euch auftreten hinterlasst einen Kommentar, ich versuche dann zu helfen.

Desktop Verknüpfung als root ausführen

Kurzes HowTo. Es geht um Desktopverknüpfungen als root ausführen. Ich denke mal das es viele gibt die manchen Programmen gerne eine etwas komfortablere Bedienung mittels root ermöglichen möchten. Z.B. wenn es darum geht den Dateimanager auszuführen oder eine Anwendung zu starten, welche einfach immer erhöhte Berechtigung benötigt. Ich verwende hier ein LinuxMint als Grundlage, wenn ihr eine andere Distribution als Ubuntu nutzt müsst ihr gegebenenfalls die Pfade anpassen.

Als erstes starten wir einen Terminal und wechseln in unser Dektop Verzeichnis:

cd /home/user/Schreibtisch

Dort führen wir die .desktop Datei einfach aus. In unserem Fall ist es der Midnight Commander kurz mc

gksudo pluma mc.desktop

Jetzt sollten wir folgendes Fenster angezeigt bekommen:

mc

Dort fügen ersetzen wir die Zeile Exec=mc gegen folgende:

Exec=sudo -k -u root mc

Danach speichern wir die Datei über strg+s oder oben auf „Speichern“ drücken. Wenn ihr nun den MC startet werdet ihr nach dem root Passwort gefragt. Nach Eingabe läuft der MC mit root Berechtigung.

Für Programme mit grafischer Oberfläche, also die nicht im Terminal ausgeführt werden, müsst ihr folgenden Befehl nutzen:

Exec=gksudo -k -u root programm

Wobei „programm“ natürlich gegen euer auszuführendes Programm getauscht wird.

World of Warcraft unter Ubuntu 14.04, 14.10 und LinuxMINT

In dieser Anleitung/HowTo geht es um World of Warcraft unter Ubuntu 14.04, 14.10 und LinuxMINT oder vielmehr den BattleNet Launcher und die damit verbundenen Spiele. Ich selbst habe mal getestet Diablo 3 und WoW mittels PlayOnLinux unter LinuxMint zum laufen zu bekommen. Alles in der neuesten Version. Kein Erfolg. Es tauchte immer die Fehlermeldung: “ Spiel benötigt neuesten DirectX Treiber..“ auf. Dieser war allerdings installiert. Irgendwann habe ich dann aufgegeben und Wine über den Paketmanager installiert. Das führte dazu, dass der BattleNet Launcher nach dem Start immer sofort abstürzte….. Also musste eine andere Variante her. Diese will ich hier mal beschreiben.

wow1

Schritt 1 WoW unter Ubuntu 14.04 installieren

Um WoW zum Laufen zu bekommen fügen wir zunächst die wine-ppa hinzu mit folgendem Befehl:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update

Wenn das getan ist und die Pakete neu eingelesen wurden geht es mit folgendem weiter:

sudo apt-get install wine1.7

Jetzt wechseln wir in unser Download Verzeichnis mit cd /home/user/Downloads oder wo immer ihr die Datei, welche jetzt geladen wird, speichern wollt.

wget http://dist.blizzard.com/downloads/wow-installers/full/World-of-Warcraft-Setup-deDE.exe

Die Installation starten wir nun mit folgendem Befehl:

wine "World-of-Warcraft-Setup-deDE.exe"

Dies startet nun den BattleNet Launcher und man wird wie gewohnt durch die Installation geführt.

Schritt 2 Optimierung

Solltet ihr eine langsame Grafikkarte verbaut, oder das ganze wie ich auf einem Notebook installiert haben solltet ihr die Grafik auf OpenGL umstellen. Das erhöht eure Framerate bzw. sollte es sie verdoppeln.

gedit ~/.wine/drive_c/Program\ Files\ \(x86\)/World\ of\ Warcraft/WTF/Config.wtf

Dort folgendes einfügen oder ersetzen:

SET gxAPI "OpenGL"

UPDATE

Seit dem neuesten Patch startet das Spiel nicht mehr mit den oben erwähnten Einstellungen. Fehler: Verbindungsaufbau. Dann passiert nichts mehr. Abhilfe schafft folgende Lösung.

Text Datei auf dem Desktop erstellen und folgenden Inhalt einfügen:

32Bit

#!/bin/sh

WINEDEBUG=-all wine "/home/EUERBENUTZERNAME/.wine/drive_c/Program Files/World of Warcraft/WoW.exe" -opengl

64Bit

#!/bin/sh

WINEDEBUG=-all wine "/home/EUERBENUTZERNAME/.wine/drive_c/Program Files (x86)/World of Warcraft/WoW.exe" -opengl

Nvidia Karten:

32Bit

#!/bin/sh

WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine "/home/EUERBENUTZERNAME/.wine/drive_c/Program Files/World of Warcraft/WoW.exe" -opengl

64Bit

#!/bin/sh

WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine "/home/EUERBENUTZERNAME/.wine/drive_c/Program Files (x86)/World of Warcraft/WoW.exe" -opengl

Danach das Script noch ausführbar machen. In den Ordner wechseln und folgenden Befehl per Kommandozeile ausführen:

chmod +x DATEINAME

Das Spiel über den neuen „Launcher“ starten und die höheren FPS (kann man sich anzeigen lassen mit strg+r) genießen.
Im Grunde sollten mit der optimierten Wine Version auch alle anderen Spiele von Blizzard laufen, welche über den BattleNet Launcher installiert werden. Ich hab es bis jetzt noch nicht ausprobiert, würde mich aber freuen über Google+ von euren Erfahrungen zu hören.

Anleitung/HowTo: PDC unter CentOS 7

In dieser Anleitung/HowTo geht es darum einen PDC (Primary Domain Controller) unter CentOS 7 zu erstellen. Wir nutzen für die Erstellung eine VM (virtuelle Maschine) welche mittels VMWare Workstation 10 verwaltet wird. OpenBox eignet sich genauso gut und sollte weiter verbreitet im Endanwenderbereich sein. Dann mal los.

Schritt 1: Installation von CentOS 7

Die ISO von CentOS 7 könnt ihr unter folgendem Link herunterladen: CentOS 7

Bei der Installtion solltet ihr folgende Punkte beachten:

Auswahl der Sprache

sprache_centos

Bei der Software Auswahl wählen wir in der Basisumgebung Server mit GUI und unter Erweiterungen für ausgewählte Umgebung die Punkte: Verzeichnis-Server, Datei- und Storage-Server. Dies erleichtert uns später das arbeiten und wir müssen nicht so viele Pakete nachinstallieren.

softwareauswahl_centos

Jetzt muss lediglich das Installationsziel gewählt werden, was in einer VM relativ einfach sein sollte, da es meist nur 1 Festplatte in der Standardkonfiguration gibt. Solltet ihr mehrere Platten erstellt haben müsst ihr hier natürlich angeben auf welcher das System installiert werden soll.

Scheinbar hat CentOS 7 hier noch einen Bug, das Geräteauswahlfenster wird bei mir nicht richtig dargestellt

geräteauswahl_centos

Das sollte uns aber nicht weiter stören, da wir einfach die Standardpartitionierung übernehmen indem wir oben auf „Fertig“ klicken. Danach ist das System für die Installation konfiguriert und wir können auf „Installation starten“ klicken

installationstarten_centos

Während der Installation müssen wir einen Standarduser anlegen und das Root Passwort setzen.

rootpw_centos

Nun heißt es warten …..  Wenn die Installation abgeschlossen ist muss das System nur noch neu gestartet werden.

neustart_centos

Lizenz bestätigen

lizenz_centos

Kdump kann man aktiviert lassen, muss man aber nicht. Jeder wie er es mag. Wenn man nicht weiß, was die Funktion genau macht, einfach mit der Standardauswahl weiter.

Wenn während der Installation kein Benutzer angelegt wurde erscheint jetzt ein Dialog um dies nachzuholen.

benutzer_centos

Wenn der Benutzer erstellt wurde begrüßt uns nun der „Willkommens Bildschirm“

willkommen_centos

Schritt 2: Konfiguration des PDC

Netzwerk aktivieren

netzwerk_centos

System updaten

systemupdate_centos

Nach der Aktualisierung ist ein Neustart notwendig.

Wenn die VM neu gestartet ist einen Terminal öffnen und sich als root anmelden

root_centos

[root@localhost samba]# yum install samba-client

Nun wechseln wir in das Verzeichnis /etc/samba

[root@localhost pdc]# cd /etc/samba

Und machen ein Backup der alten smb.conf

[root@localhost samba]# mv smb.conf smb.conf.bak

Mittels nano legen wir die Datei nun neu an

[root@localhost samba]# nano smb.conf

Und fügen folgende config ein

[global]
   ## Server Identifikation - so meldet sich der Server im Netzwerk
   netbios name = PDC
   server string = PDC (%h)
   workgroup = domain
   ## Welche Netzwerkkarte soll von Samba benutzt werden?
   interfaces = eth0
   ## Sicherheits- und Passwort-Einstellungen
   security = user
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = no
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
   ## Domain-Einstellungen
   local master = yes
   preferred master = yes
   os level = 200
   domain master = yes
   domain logons = yes
   # Speichert das Windows-Profil im durch die Freigabe [profile] angegebenen Verzeichnis:
   logon path = \\%L\profile\%U
   # Soll das Windows-Profil dagegen im User-Home abgelegt werden, kann man "logon path" auf Standardeinstellung belassen:
   #logon path = \\%L\%U\profile
   # oder auch direkt im User-Home:
   #logon path = \\%L\%U
   logon drive = h:
   #Logon Script einkommentieren falls gewuenscht (muss im Netlogon-Verzeichnis abgelegt sein -> /home/samba/netlogon/)
   #logon script = login.bat
   # DEM Addon 2007-02-20: Empfehlenswert für servergespeichertes Windows Profil
   hide files = /desktop.ini/ntuser.ini/NTUSER.*/Thumbs.db/
   ## DNS-Einstellungen
   wins support = no
   # name resolve order = wins lmhosts host bcast
   ## Log-Einstellungen
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   ## Diverse Einstellungen
   ## DEM Addon 2007-02.20: Manchmal kann die Geschwindigkeit erhöht werden, wenn statt der ersten Zeile die zweite Zeile verwendet wird:
   socket options = TCP_NODELAY
   #socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
#======================= Share Definitions =======================
[homes]
   comment = Home Directories
   browseable = yes
   valid users = %S
   writeable = yes
   create mode = 0600
   directory mode = 0700
[profile]
   comment = Profildateien
   path = /home/samba/profile
   guest ok = yes
   browseable = no
   create mask = 0600
   directory mask = 0700
   writeable = yes
   # DEM Addon 2007-02-20: Folgende Zeile ist wichtig für Servergespeichertes Profil
   # um Probleme mit z.b. desktop.ini unter Windows zu beheben.
   profile acls = yes
[netlogon]
   comment = Network Logon Service
   path = /home/samba/netlogon
   guest ok = yes
   writeable = no

In der config müsst ihr lediglich 2 Punkte anpassen

workgroup = domain / domain sollte hier durch euren eigenen Domainnamen abgeändert werden
interfaces = eth0 / wenn ihr ein anderes Interface für eure Netzwerkverbindung nutzt, muss dieses hier ersetzt werden. !WICHTIG!

[root@localhost samba]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 192.168.2.47 netmask 255.255.255.0 broadcast 192.168.2.255
 inet6 fe80::20c:29ff:fea8:782e prefixlen 64 scopeid 0x20<link>
 ether 00:0c:29:a8:78:2e txqueuelen 1000 (Ethernet)
 RX packets 1293 bytes 200518 (195.8 KiB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 483 bytes 44224 (43.1 KiB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Ist dies geschehen kann der smb Dienst mit folgendem Befehlen gestartet werden:

[root@localhost samba]# systemctl start nmb.service
[root@localhost samba]# systemctl start smb.service

Um die Dienste beim Systemstart automatisch zu starten nutzt man folgenden Befehl:

[root@localhost samba]# chkconfig nmb on
[root@localhost samba]# chkconfig smb on

Ich empfehle für den PDC die SELinux Policy zu disablen:

[root@localhost samba]# nano /etc/selinux/config

Dort dann unter SELINUX=disabled eintragen.
Ein Neustart des Systems stellt sicher das alles funktioniert.

Schritt 3: Benutzer konfigurieren

Um Benutzer auf dem PDC anzulegen und freizuschalten sind folgende Schritte notwendig:

[root@localhost samba]# adduser testuser
[root@localhost samba]# smbpasswd -a testuser
[root@localhost samba]# smbpasswd -a root

Danach ist der User freigeschaltet.

Wenn man sich mit PCs in der Domaine anmelden möchte, müssen diese zusätzlich freigeschaltet werden. Dies geschieht über:

[root@localhost samba]# useradd -s /bin/false TESTPC$
[root@localhost samba]# smbpasswd -a -m TESTPC$

Damit seid ihhr fertig was die Benutzer angeht.

Schritt 4: Profil-Verzeichnisse anlegen:

Damit servergespeicherte Profile mit Samba funktionieren, muss man das Verzeichnis /home/samba und die zwei Unterverzeichnisse netlogon und profile anlegen:

mkdir /home/samba
mkdir /home/samba/netlogon
mkdir /home/samba/profile 

chmod 777 /home/samba
chmod 755 /home/samba/netlogon
chmod 777 /home/samba/profile

Im Verzeichnis profile muss jetzt für jeden Benutzer ein Verzeichnis angelegt werden, das genauso benannt wird wie der Benutzername lautet. Danach müssen noch Dateirechte sowie Besitzer des Verzeichnisses angepasst werden. Die Gruppenzugehörigkeit des Verzeichnisses ist egal, da nur der Benutzer Rechte für dieses Verzeichnis bekommt.

mkdir /home/samba/profile/testuser
chmod 700 /home/samba/profile/testuser
chown testuser /home/samba/profile/testuser

!WICHTIG!  Tests mit Samba 3.6.3 zeigten, dass die Ordner von Samba selbständig angelegt werden sobald sich ein Benutzer das erste mal in der Domäne anmeldet. Dabei wird auch automatisch auf das korrekte Format (USER/USER.V2) geachtet. Daher ensteht keine Fehlermeldung wenn sich ein Benutzer von zwei unterschiedlichen Systemen (Win2k & Vista/7) anmeldet.

Schritt 5: Windows-PC zur Domäne hinzufügen

Wenn ihr einen Windows-PC/Server zur Domäne hinzufügen wollt müsst ihr folgendes beachten. Dem PC müssen über die Registry zwei Schlüssel hinzugefügt werden.

Tragt unter „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters“ die zwei Zeilen ein:

DWORD  DomainCompatibilityMode = 1
DWORD  DNSNameResolutionRequired = 0

Danach den PC wie gewohnt der Domäne hinzufügen

Das wars ….. Ging doch ganz schnell ;)

Bei Fragen oder Problemen hinterlasst einen Kommentar.

Anleitung/HowTo: Linux Version ermitteln

Kleine Anleitung zu später Stunde: Linux Version ermitteln

Bildschirmfoto-Terminal
Es gibt drei verschiedene Möglichkeiten um eine Linux Version zu ermitteln:

Möglichkeit 1:

Um herauszufinden welche Linux Version man verwendet folgende Befehle im Terminal verwenden:

$ cat /etc/*-release

Dabei sollte etwas in dieser Art heraus kommen:

sebastian@T440s ~ $ cat /etc/*-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17
DISTRIB_CODENAME=qiana
DISTRIB_DESCRIPTION="Linux Mint 17 Qiana"
NAME="Ubuntu"
VERSION="14.04, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cat: /etc/upstream-release: Ist ein Verzeichnis

Möglichkeit 2:

$ lsb_release -a

Ausgabe:

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.5 (wheezy)
Release:    7.5
Codename:   wheezy

Das Modul LSB ist nicht auf allen Distributionen verfügbar, insofern nicht wundern wenn die Ausgabe einen Fehler ausspuckt.

Möglichkeit 3:

$ cat /proc/version

Ausgabe:

sebastian@T440s ~ $ cat /proc/version
Linux version 3.13.0-24-generic (buildd@batsu) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014

Meine persönlich bevorzugte Möglichkeit der Versionsausgabe, da das wort „Version“ darin vorkommt kann ich mir diese am besten merken.

Anleitung/HowTo: Multiple Hosts in phpMyAdmin

Wie ihr phpMyAdmin aufsetzt habe ich ja bereits hier beschrieben: http://linuxdenken.de/phpmyadmin-unter-centos/

Nun geht es darum, dem Auswahlmenü auf der Startseite mehrere Hosts hinzuzufügen.

Multiple Hosts in phpMyAdmin

Um eine Auswahl mit verschiedenen Datenbank Servern zu bekommen muss die Datei /usr/share/phpMyAdmin/confic.inc.php bearbeitet werden.

# cd /usr/share/phpMyAdmin
# nano config.inc.php

Hier fügt man folgende Zeilen hinzu:

$i++;
 $cfg['Servers'][$i]['verbose'] = 'Database Server 2';
 $cfg['Servers'][$i]['host'] = '192.168.1.102';
 $cfg['Servers'][$i]['port'] = '';
 $cfg['Servers'][$i]['socket'] = '';
 $cfg['Servers'][$i]['connect_type'] = 'tcp';
 $cfg['Servers'][$i]['extension'] = 'mysqli';
 $cfg['Servers'][$i]['auth_type'] = 'cookie';
 $cfg['Servers'][$i]['AllowNoPassword'] = false;

„192.168.1.102“ gibt dabei die IP eures weiteren DB Servers an und „Database Server 2“ den Namen, welchen ihr in der Auswahl seht. Um weitere Einträge hinzu zu fügen einfach den Text mehrfach einfügen.

phpmyadminserver2

 

 

Anleitung/HowTo: phpMyAdmin unter CentOS

In diesem Tutorial geht es um die Installation von phpMyAdmin unter CentOS. Ich weiß es gibt zu diesem Thema eine Fülle von Anleitungen, ich werde jedoch versuchen die Tutorial Sektion in dem Blog aktuell zu halten, damit man eine zentrale Anlaufstelle hat wenn man mal was sucht.

phpMyAdmin ist eine Webbasierte Verwaltung des eigenen MySQL und MariaDB Servers und nach wie vor die beste aus meiner Sicht heraus. Es stellt eine sehr benutzerfreundliche Oberfläche zur Verfügung zum Verwalten der Datenbanken. Mittlerweile wurde phpMyAdmin in 72 Sprachen übersetzt und auch große Serveranbieter wie zB. http://www.hetzner.de/ setzen auf die Anwendung, wenn es um das Verwalten der Datenbanken für das Webhosting geht.

Features von phpMyAdmin:

  • benutzerfreundliche Oberfläche
  • Webinterface zur dezentralen Verwaltung
  • unterstützt die meisten MySQL Funktionen:  Datenbanken durchsuchen/anlegen/löschen, Usermanagement
  • Import von Datenbanken im CSV oder SQL Format
  • Export von Datenbanken in CSV, SQL, XML, ISO
  • Verwaltung mehrerer Server unter einem Dach

Los gehts!

Schritt 1: REMI Repository hinzufügen

Da die benötigten Quellen nicht in den Standard Repositories von CentOS enthalten sind, müssen wir zunächst eine weiter hinzufügen. Das tut man mit folgendem Befehl:

CentOS/RHEL 6:
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

CentOS/RHEL 5:
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm 

Schritt 2: phpMyAdmin installieren

Nachdem man die Quelle hinzugefügt hat kann man das Programm mit folgendem Befehl installieren:

# yum --enablerepo=remi install phpMyAdmin

Schritt 3: phpMyAdmin konfigurieren

Standardmäßig ist unter phpMyadmin der Zugriff nur von localhost eingerichtet. Das ist in vielen Situation auch sinnvoll, da es die Sicherheit erhöht. In anderen wiederum nicht, wenn man zB. mehrere Server verwalten möchte. Um dies zu ändern muss man die Datei /etc/httpd/conf.d/phpMyAdmin.conf bearbeiten und alle 127.0.0.1 Einträge gegen die eigene Server IP austauschen (in dem Beispiel: 192.168.1.0)

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

## Comment below section to allow everyone 
<Directory /usr/share/phpMyAdmin/>
    <IfModule !mod_authz_core.c>
     Order Deny,Allow
     Deny from All
     Allow from 192.168.1.0/24
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

Nachdem man die Änderungen vorgenommen hat muss der Webserver neu gestartet werden. In unserem Fall ist die ein Apache und geschieht mit folgendem Befehl:

# service httpd restart 

Schritt 4: Zugriff auf phpMyAdmin

Nun muss man nur noch einen Browser öffnen und die eingetragene Adresse eingeben. Dies sollte einem dann die Login Oberfläche anzeigen

phpmyadminlogin

 

Und das war es dann auch schon. Wer Interesse hat sich noch ein wenig tiefer in die Materie ein zu lesen findet alles wissenswerte hier: http://www.phpmyadmin.net/home_page/index.php