SVN auf einem Ubuntu 14.04 mit Plesk installieren

Ich habe Heute ein SVN (Subversion) auf einem Ubuntu 14.04 Server mit einem SVN Plesk 12.5 installiert. Damit dies gelingt muss man ein Kleinigkeiten beachten. Zudem gibt es diverse Anleitungen im Netz, die sich nicht an die Vorgaben von Plesk halten. Wenn man eine solche Anleitung befolgt, kann dies Folgeproblemen verursachen. Kurz um … ich beschreibe hier mal, wie man die Installation richtig macht.

1. Installation von svn aus den Paketquellen von Ubuntu
Dazu loggt man sich per ssh auf dem Server ein und installiert die Pakete mit dem folgenden Befehl (muss als root ausgeführt werden):

apt-get install subversion libapache2-svn

2. Eine Subdomain in Plesk anlegen
In meinem Fall heißt die Subdomain save. Wie das geht ist im Handbuch von Plesk zu finden: https://docs.plesk.com/de-DE/12.5/customer-guide/websites-und-domains/domains-und-dns/hinzufügen-von-subdomains.65180/

3. Authentifizierung und die SVN-Einstellungen in die Konfiguration des vHost einbauen
Damit diese Konfiguration bei Änderungen in Plesk nicht überschrieben wird, sollte man sie über das Webinterface von Plesk einbauen. Dazu muss man in die „Web Server Settings. Um dorthin zugegangen, klickt man auf der Linken Seite auf „Hosting Services“ Domains bei der richtigen Domain auf „Hosting Settings“ Es geht ein Reiter auf. Auf diesem findet man die „Web Server Settings“
Plesk 12.5 Web Server Settings
Dort trägt man dann als „Alditional direktives“ für HTTP und HTTPS (sofern man https nutzen möchte) die folgenden Zeilen ein (dabei die Domain und Subdomain anpassen!):

<Location /svn>
DAV svn
SVNParentPath /var/www/vhosts/[DOMAIN NAME]/subdomain-name
SVNListParentPath On
 
AuthType Basic
AuthName "SVN Authorization Realm"
AuthUserFile /etc/apache2/mods-enabled/dav_svn.passwd
Require valid-user
</Location>

4. Benutzer, Verzeichnis und Repository anlegen
Dazu gibt man als root die folgenden Befehle ein:

htpasswd -c /etc/apache2/mods-enabled/dav_svn.passwd USERNAME
cd /var/www/vhosts/DOMAIN/subdomains/subdomain-name
mkdir svn
svnadmin create svn/projektname
chown -R www-data:www-data svn/
service apache2 restart

Danach sollte das SVN laufen. Falls nicht, sind hier noch ein paar weiterführende Informationen zur Fehlerbehebung zu finden: https://talk.plesk.com/threads/basic-subversion-svn-on-plesk-12-5.338617/

Das Tunneln von X11 über SSH bei Ubuntu 14.04 geht nicht

Zu meiner Überraschung funktionierte das Tunneln von X11 über ssh auf einem Ubuntu 14.04 Server nicht mehr. Schon beim Login über den Befehl

ssh -X <Hostname>

gibt es den Fehler „X11 forwarding request failed on channel 0“,
obwohl in der /etc/ssh/sshd_config der Eintrag „X11Forwarding yes“ gesetzt ist.

Auch eine Installation der der XServer Utils

apt-get install x11-xserver-utils

brachte keine Lösung und nicht einmal xclock lief.

Nach ein bisschen Suchen stellt ich fest, dass das Paket xauth fehlt. Wenn man dieses nachinstalliert funktioniert auch das Tunneln von X11 über SSH wieder.

apt-get install xauth

BitCoin und LiteCoin Mining mit GPU’s unter Ubuntu

Nachdem in letzter Zeit immer mehr über BitCoins gesprochen wurde, wollte ich auch mal versuchen welche zu finden. Das finden von BitCoins basiert auf der Suche nach SHA256 Hash-Werten, die bestimmte Eigenschaften aufweisen müssen. Eine genauere Beschreibung von BitCoins und wie man diese findet ist bei Wikipedia zu finden.

Das finden von BitCoins ist durch den stetig steigenden Rechenaufwand bei der Suche jedoch immer schwieriger geworden. Deshalb ist es inzwischen unrentabel die BitCoins mit normalen CPU’s von Computern zu suchen, da die Stromkosten wesentlich höher sind als der der Wert der gefundenen BitCoins. Deutlich schneller und mit geringeren Stromkosten können aktuelle Grafikkarten BitCoins finden. Ihre CPU’s können die SHA256 Hash-Werte effektiver errechnen. Aber selbst mit den CPU’s von Grafikkarten lohnt sich das eigentlich kaum noch. Dennoch wollte ich zunächst einmal mit einen PC und einer Grafikkarte anfangen. Also habe ich in einem meiner Computer kurzer Hand die Grafikkarte umfunktioniert und sie für das finden von BitCoins verwenden.

Wie sich rausstellte war es aber gar nicht so leicht die Grafikkarte dazu zu bringen. Einige Anleitungen im Internet funktionierten zumindest mit dem installierten und aktuellen Ubuntu 13.10 nicht. Das mag auch daran liegen, dass die meisten Anleitungen für ältere Ubuntu-Verionen geschrieben waren. Nach zwei Stunden hatte ich jedoch keine Lust mehr die Probleme zu finden und zu lösen. Also nahm ich die neuste Anleitung, die ich gefunden hatte und befolgte diese Schritt für Schritt. Die Anleitung stammt aus dem Blog Silverlinux Da diese auf einem „Ubuntu 13.04 Server 64 Bit“ basierte, installierte ich zunächst ein frisches „Ubuntu 13.04 Server 64 Bit“ auf dem PC und führte folgende Schritte durch:

Update des Server
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
Download und Installation der Treiber
Download der fglrx Treiber (Da die aktuellen Treiber nicht zu funktionieren scheinen ist es wichtig die Version 13.8 beta zu nehmen). Weil AMD keine direkte Verlinkung zulässt, sollte der Download über einen Webbrowser erfolgen und kann nicht mit wget gemacht werden.
http://www2.ati.com/drivers/beta/amd-catalyst-13.8-beta2-linux-x86.x86_64.zip
Bei der R9 290 oder anderen neueren Grafikkarten muss eventuell zunächst die Grafikumgebung und erst dann der Treiber installiert werden.
http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx
Installation einiger notwendiger Pakete
sudo apt-get install dh-make dh-modaliases execstack libxrandr2 libice6 libsm6 libfontconfig1 libxi6 libxcursor1 libgl1-mesa-glx libxinerama1 libqtgui4
Installationsprogramm auspacken
unzip amd-catalyst-13.10-beta2-linux-x86.x86_64.zip
chmod +x amd-catalyst-13.10-beta2-linux-x86.x86_64.run
.deb Pakete für fglrx bauen
./amd-catalyst-13.10-beta2-linux-x86.x86_64.run --buildpkg Ubuntu/raring
Installation der Pakete für fglrx
sudo dpkg -i fglrx*.deb
sudo apt-get -f install
sudo reboot
(Das funktioniert wegen einigen Abhängigkeiten zunächst nicht. Dies kann aber durch den Befehl „apt-get -f install“ behoben werden)
Bei mehreren Grafikkarten muss eventuell auch noch konfiguriert werden, dass alle verwendet werden.

sudo aticonfig --initial --adapter=all
Installation des APP SDK von AMD
Download des APP SDK von der folgenden URL:
Auspacken des APP SDK und Neustart des Computers
tar xvf AMD-APP-SDK-v2.8.1.0-lnx64.tgz
sudo ./Install-AMD-APP.sh
sudo reboot
Installation der minimalen X Server Pakete
sudo apt-get install xdm xorg

Authorization des xdm abschalten

sudo vi /etc/X11/xdm/xdm-config
die folgende Zeile
DisplayManager*authorize:       true
gegen diese ersetzen
DisplayManager*authorize:       false
Speichern und neu starten.
sudo reboot
cgminer kompilieren and testen
Installation von Git und Unzip
sudo apt-get install git unzip
Download von cgminer
git clone -b 3.7 https://github.com/ckolivas/cgminer
Achtung! cgminer 3.7.2 ist die letzte Version mit Unterstützung von GPU (siehe: https://bitcointalk.org/index.php?topic=28402.msg3538435#msg3538435).
Download entpacken und einbinden des AMD ADL SDK (für das überwachen des Temperatur und des Ventilators, usw)
unzip ADL_SDK_5.0.zip
cp include/* ./cgminer/ADL_SDK/
Installation einiger benötigter Pakete für die kompilierung des cgminer
sudo apt-get install build-essential autoconf libtool libcurl4-openssl-dev libncurses5-dev pkg-config libudev-dev
cgminer kompilieren vorbereiten
cd cgminer
./autogen.sh
./configure --enable-opencl --enable-scrypt

folgende Zeilen sollten nach dem confiugure auftauchen:
OpenCL……………: FOUND. GPU mining support enabled
scrypt……………: Enabled
ADL………………: SDK found, GPU monitoring support enabled

cgminer kompilieren

make
Testen ob der cgminer  läuft 
Es ist empfehlenswert ihn mit einigen Umgebungsvariablen zu starten. Am besten mit einem Start-Script wie dem folgenden.
#!/bin/bash
export DISPLAY=:0
export GPU_MAX_ALLOC_PERCENT=100
export GPU_USE_SYNC_OBJECTS=1
./cgminer -n

Windows Ereignis-ID 50: Time-Service Zeitdifferenz von mehr als 5000

Wenn ein Windows-Server eine Zeitdifferenz von mehr als 5000 auf 900 Sekunden feststellt, wird die Synchronisation der Systemzeit angehalten und der Server gibt selber keine Zeiten mehr raus. Dies kann z.B. durch eine schlechte Netzwerkanbindung oder eine defekte Hardwareuhr kommen. Um in diesem Fall die Synchronisation wieder zu aktivieren, gibt man auf der Kommandozeile den folgenden Befehl ein:

W32TM /resync

Ob die Zeit wieder synchronisiert wird kann man sich dann mit dem folgenden Befehl anschauen:

W32TM /query /status

(SP1)-Installationsfehler: 0x800F0A13 bei der Installation des SP1 für Windows 2008R2

Ich bin extra am Wochenende in die Firma gefahren, um eine Datensicherung eines Windows 2008R2 Servers zu machen und das ServicePack 1 zu installieren. Leider stieg die Installation gleich am Anfang mit folgender Meldung aus:

(SP1)-Installationsfehler: 0x800F0A13

Laut Microsoft Hilfe und Support kann der Fehler durch folgenden, vier Gründe verursacht werden, die bei mir aber nicht zutrafen:

  1. Während des Setup wird die Systempartition nicht automatisch eingebunden bzw. für Windows zugänglich gemacht.
  2. Die Festplatte, auf der sich die Systempartition befindet, wurde vor der Installation von SP1 entfernt.
  3. Windows wird in einem Storage Area Network (SAN) ausgeführt, und der Zugriff auf die Systempartition wurde deaktiviert.
  4. Ein Tool zur Datenträgerverwaltung eines anderen Softwarehersteller wurde zum Kopieren (oder Klonen) des Datenträgers oder der Partition verwendet, auf dem bzw. der SP1 installiert werden soll.

Nachdem ich Google befragt habe, bin ich aber auch auf einen Post im Technet-Blog von joscon gestoßen, der empfahl zuerst das Systemupdate-Vorbereitungstool auszuführen. Falls die Installation danach immer noch nicht funktioniert, gibt es dort auch noch einige andere Lösungsvorschläge. Jedoch keiner dieser Vorschläge hat geholfen.

Die Lösung brachte letztendlich ein Heise Artikel. Nachdem ich wie in den Artikel beschrieben die aktive Partition gesetzt hatte und den Server neu gebootet hatte, funktionierte die Installation des ServicePacks.

Update:
Bei einem anderen Windows 2008R2 Server lief die Installation erst, nachdem ich der vom System reservierten 100 MB Partition einen Laufwerksbuchstaben gegeben hatte. Dazu wurde im Technet Forum geraten.

Ubuntu: WLAN beim booten automatisch starten

Bei Ubuntu wird das WLAN-Interface normaler Weise über den Networkmanager gestartet. Dies bedeutet, dass man sich mit einem Benutzer an der grafischen Oberfläche anmelden muss, damit sich das WLAN aktiviert. Bei Servern und anderen Gräten ohne grafische Oberfläche möchte man aber oft sofort nach dem Booten ein funktionierendes WLAN. In diesem Fall sollte man wpa_supplicant installieren und konfigurieren. Eine Anleitung dazu findet man auf der Webseite wiki.ubuntuusers.de.

OMSA unter Ubuntu für den Dell PERC H700 einrichten

In den Dell PowerEdge Servern wird aktuell häufig der PERC H700 RAID-Controler verbaut. Als ich Heute bei einem solchen Server – der mit der aktuellen „Long Term Support“ Ubuntu-Version „10.04 LTS“ läuft – den OMSA (OpenManage Server Administrator) installierte, überraschte mich dieser gleich mit der Warnung: Controller 0 [PERC H700 Integrated]: Driver '00.00.04.01' is out of date.

Nach ein wenig Recherche im Internet zeigte sich, dass der Treiber 00.00.04.01 eigentlich o.k. ist. Da bei RedHat und SuSe aber inzwischen neuere Treiber verwendet werden, verlangt der OMSA hier den neuen.

Da mich die Warnung in der Überwachung stört, habe ich diese einfach abgeschaltet. Dazu ändert man einfach die Datei lsiver.cfg entsprechend ab. Wenn man das OMSA 6.4 Paket von Dell installiert hat (dieses finde man unter der URL: http://linux.dell.com/repo/community/deb/), liegt diese Datei in dem Verzeichnis /opt/dell/srvadmin/etc/srvadmin-storage/.

In der Datei lsiver.cfg gibt es einen Abschnitt der wie folgt beginnt:

ID=0x1F17
VENDORID=4
NAME=PERC H700 Integrated

In diesem Abschnitt steht etwas weiter unten die Zeile:

DEF-LX26-64=00.00.04.27

Wenn man hier die 27 in 01 ändert und alle OMSA Services (am besten den ganzen Server) neu startet ist der Alarm weg.

IBM: Firmware-Update für LSI 1064e SAS Controller zerstört Systemboard

Die aktuelle Firmware von IBM (Version 2.66) für den LSI 1064e SAS Controller hat mir letzte Woche ein Systemboard eines IBM HS21 XM Blade gekillt. Nach der aktualisierung konnte man nicht mehr von der SSD booten. IBM hat heute ein neues Systemboard und einen Techniker geschickt. Auch das neue Systemboard konnte nach dem einspielen der Firmware nicht mehr booten. Jetzt soll Morgen ein neues, drittes Systemboard kommen. Verteilt IBM hier gerade eine Firmware, die reihenweise Systemboards zerstört?

Installation einer Advantage Database unter Ubuntu 10.04

Bei der Installation einer Advantage Database unter einem Ubuntu 10.04 mit 64 Bit gibt es neben der normalen Installationsanleitung noch zwei weitere Punkte zu beachten:

  1. Bei einem Ubuntu mit 64 Bit müssen für die Installation auch die 32 Bit Bibliotheken installiert werden. Dies geschieht mit dem Befehlt
    apt-get install ia32-libs

    .

  2. Da Linux bei Dateinamen zwischen großen und kleinen Buchstaben unterscheidet, sollte man in der Datei
    /usr/local/advantage/ads.conf

    den Wert LOWERCASE_ALL_PATHS auf 1 setzen. Dies bringt dieAdvantage Database dazu nur kleine Buchstaben für Datei- und Verzeichnisnamen zu verwenden. Danach sollte man natürlich darauf achten, dass die Verzeichnisse und Dateien auf dem Server auch keine großen Buchstaben mehr enthalten. Einen Befehl für die Konvertierung der Datei- und Verzeichnisnamen findet man hier.

Reparatur einer Microsoft Exchange Datenbank

Wenn sich bei einem Exchange 2000 oder 2003 Server die Datenbank nicht mehr mounten lässt kann man versuchen diese mit den Kommandozeilen-Tools ESEUTIL und ISINTEG zu reparieren (ab Exchange 2007 wurden diese Tools in die Exchange Management Console eingebaut und können dort aufgerufen werden). Man sollte jedoch etwas Zeit mitbringen und vorher eine Datensicherung machen. Microsoft weißt nämlich explizit darauf hin, dass durch diese Tools auch Daten verloren gehen können und bei einer Datenbankgröße von 50 GB kann der Vorgang schon mal einen ganzen Tag dauern. Während der Reparatur wird jeweils im aktuellen Pfad eine temporäre Datenbank erstellt, die ca. 20% der alten Datenbankgröße benötigt. Der Pfad dieser Datenbank kann bei Bedarf mit dem Schalter /t geändert werden.

Im folgenden nun die einzelnen Schritte, mit denen ich bis jetzt die besten Erfolge beim reparieren einer Microsoft Exchange Datenbank erzielt habe:

  • SMTP Server anhalten (falls noch aktiv)
  • „ESEUTIL /MH DATENBANK“ ausführen
    Zeigt den Status der Datenbank an.
  • „ESEUTIL /P DATENBANK“ ausführen
    Diese Option versucht eine defekte Datenbank wieder „clean“ zu bekommen, indem diese komplett neu aufgebaut wird und fehlende Verbindungen und Seiten dabei einfach entfernt werden.
  • „ISINTEG.EXE -s -fix -test alltests“ ausführen
    Falls Tool nicht läuft, Transaction Logs in ein Backupverzeichnis verschieben. Auftretende Warnungen können ignoriert werden, sollten jedoch Fehler angezeigt werden, muss ISINTEG.EXE -s -fix -test alltests solgange wiederholt werden, bis keine Fehler mehr auftreten.