Kategorien

Suchen


Aktuelle Artikel

Archiv

Anleitungen

« Vorherige Beiträge Nächste Beiträge »

Zugriff auf den VMWare Server mit Mozilla Firefox

Samstag, 29.01.2011

Wenn Sie sich einen VMWare Server installiert haben (sh. auch unsere Anleitung “VMWare Server auf Linux Debian installieren“) oder bereits betreiben, dann werden Sie früher oder später das Problem bemerken, dass Sie mit dem aktuellen Mozilla Firefox Browser nicht mehr fehlerfrei auf die Administration Ihres Server zugreifen können.

Der Aufruf der URL “http://ihre-ip:8222″ oder “https://ihre-ip.8333″ führt dann zu einer weißen, meist leeren Webseite. Wenn Sie die Fehlerkonsole einsehen, finden Sie auch häufig eine dieser Fehlermeldungen:

Fehler in Javascript, Zeile xyz
Missing ";" in JavaScript "xyz.js"
Can't find script "xyz.js"

Öffnen Sie in Ihrem Firefox die folgende URL (Webseite):

about:config

Bestätigen Sie die angezeigte Rückfrage mit einem Klick auf “Ich werde vorsichtig sein …”.

Geben Sie in die obere Zeile (“Filter”) den Text “ssl2″ ein und warten Sie kurz. Ihnen werden in der Auswahl unterhalb der Filterzeile dann nurnoch sieben Zeilen angezeigt:

Ändern Sie alle Zeilen per Doppelklick auf “true”. Dadurch akzeptiert Ihr Browser wieder die benötigte SSL2 Verschlüsselung.

Schließen Sie den Firefox und starten Sie ihn erneut. Wenn Sie nun wieder Ihre VMWare Server Admin-Webseite (“https://ihre-ip:8333″) aufrufen, werden Sie sich anmelden können.

VMWare Server auf Linux Debian installieren

Samstag, 29.01.2011

Um einen VMWare Server auf einem Debian Server (auch ohne XServer = graphische Oberfläche) zu installieren, können Sie folgenden Schritten folgen. Diese wurden auf einem frisch installierten Debian “lenny” Server (nur Standardpakete, ohne Desktop/XServer) getestet.

Aktualisieren Sie Ihre apt-get Pakete:

apt-get update

Installieren Sie die zusätzlich benötigten Pakete. Sollte Ihr Server diese bereits installiert haben, werden sie nicht nochmals installiert:

apt-get install linux-headers-`uname -r` build-essential xinetd gcc-4.1 psmisc

Nun setzen Sie für das erforderliche Compilieren der Module des VMWare Servers einen Link auf gcc Compiler mit der gerade installierten Version 4.1:

ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc

Entpacken Sie nun das heruntergeladene VMWare Server Archiv (.tar.gz). Diese Software können Sie (derzeit kostenlos) auf der Homepage von VMWare unter “http://www.vmware.com/de/products/server/” herunterladen. Für den Download müssen Sie sich registrieren – bitte notieren Sie sich während des Herunterladens auch die angezeigte Lizenznummer für Linux.

In diesem Beispiel haben wir die heruntergeladene Datei in das Basisverzeichnis des Benutzer “muster” gelegt:

cd /home/muster
tar xzf ./VMware-server-2.0.2-203138.x86_64.tar.gz
cd vmware-server-distrib

Starten Sie nun die Installation des VMWare Servers:

./vmware-install.pl

Dabei beachten Sie bitte:

Fast jede Nachfrage sollten Sie mit “Enter” einfach nur bestätigen – das Installationsprogramm führt Sie dann zu einer optimalen Installation. Jedoch:

Nach Abschluss der Installation können Sie Ihren neuen VMWare Server unter http://ihre-ip:8222 oder https://ihre-ip:8333 erreichen und verwalten.

Wenn Sie als Browser “Mozilla Firefox” benutzen, beachten Sie bitte auch unseren Artikel “Zugriff auf den VMWare Server mit Mozilla Firefox“.

Strg+Alt+Entf (Ctrl-Alt-Del) bei Remote-Desktop (RDP)

Mittwoch, 12.01.2011

Wenn Sie auf einem Remotedesktop (RDP) einen “Affengriff” (Strg+Alt+Del) ausführen möchten, muss dafür einfach die folgende Kombination benutzen:

Strg + Alt + Ende

Bei einer VMWare Session hilft Ihnen diese Tastenkombination:

Strg + Alt + Einfg

Eine Remoteverbindung können Sie unter Windows auch mit diesem Befehl starten:

mstsc

C#: Gute Zufallszahlen erzeugen

Sonntag, 28.11.2010

Wenn Sie unter .Net (in diesem Beispiel mit C#) gute Zufallszahlen erzeugen möchten, dann können Sie u.a. diese Methode nutzen:

Random r = new Random(Guid.NewGuid().GetHashCode());

Dabei wird als Berechnungsgrundlage für die Zufallszahl der Hashwert einer neu erzeugten GUID genutzt. Da bereits eine GUID (Globally Unique Identifier) immer eine unterschiedlichen Wert liefert, denn das ist schließlich die Aufgabe dieser Funktion, wird der Hashwert dieser GUID auch den Zufallsgenerator stets anders starten. Und genau diese Grundlage wird für gute Zufallszahlen benötigt.

Linux: Symbolischen Link erzeugen und löschen (ln)

Donnerstag, 18.11.2010

Praxisbeispiel:

Sie möchten einem FTP Benutzer in seinem Verzeichnis auch den Zugriff auf ein weiteres Verzeichnis auf dem Server erlauben – möchten, wollen oder können jedoch die FTP-Server-Konfiguration nicht ändern. Dann können Sie einen “symbolischen Link” (Verweis) im normalen FTP Verzeichnis des Benutzers erstellen:

ln -s /var/backups/ ./backups

Damit stellen Sie dem Benutzer ein neues Unterverzeichnis bereit: “backups”. Dieses zeigt jedoch nur auf das bereits bestehende Verzeichnis “/var/backups” auf Ihrem Server.

Der Benutzer kann nun in seinem FTP Programm in dieses Verzeichnis wechseln und Datein herunter- und ggf. auch hochladen.

Sie löschen diesen Verweis “backup” wieder durch folgenden Befehl:

rm backup

Dabei bleibt das Verzeichnis “/var/backups” weiterhin bestehen – nur der Link im Benutzerverzeichnis wird wieder gelöscht.

C#: PDF Datei ohne Adobe Acrobat Fenster drucken (Batchbetrieb)

Freitag, 12.11.2010

Sie können direkt aus C# heraus eine PDF drucken, ohne die Anzeige (das Adobe Fenster) vom Acrobat Reader anzuzeigen. Vorallem beim Drucken von PDF ohne Benutzereingabe oder beim Einsatz als Service wird diese Möglichkeit benötigt.

Nutzen Sie meinen folgenden SourceCode als Beispiel:

string pdf = @"C:\Dokumente und Einstellungen\Benutzername\Eigene Dateien\test.pdf";
string acrobat = @"C:\Programme\Adobe\Acrobat 7.0\Reader\AcroRd32.exe";
 
Process process = new Process();
process.StartInfo.FileName = acrobat;
process.StartInfo.Verb = "printto";
process.StartInfo.Arguments = "/p /s /h \"" + pdf + "\"";
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
 
process.Start();
process.CloseMainWindow();

Sollte die erste Version auf Ihrem System nicht funktionieren, nutzen Sie die zweite Methode. Bei dieser wird im 50 ms Takt geprüft, ob der Handle des neuen Adobe Acrobat Fensters verfügbar ist. Danach wird das Adobe Fenser mit einem .Kill() Befehl beendet:

Process process = new Process();
 
process.StartInfo.FileName = acrobat;
process.StartInfo.Verb = "printto";
process.StartInfo.Arguments = "/p /s /h \"" + pdf + "\"";
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
 
process.Start();
 
DateTime start = DateTime.Now;
IntPtr handle = IntPtr.Zero;
 
while (handle == IntPtr.Zero && DateTime.Now - start <= TimeSpan.FromSeconds(2))
{
   try
   {
      System.Threading.Thread.Sleep(50);
      handle = process.MainWindowHandle;
   }
 
   catch (Exception) { }
}
 
process.Kill();

Auf dem Computer muss jedoch eine Version (hier ist es V7.0) des Adobe Acrobat Readers installiert sein.

Passen Sie die Pfade auf Ihre Version und Ihre PDF Dateien an.

Weitere Informationen zu den wichtigsten Befehlen der Scripte erhalten Sie hier:
process.CloseMainWindow()
process.Kill()

C#: PDF Datei in TIFF (Fax tiffg3) konvertieren

Freitag, 12.11.2010

Um in C# eine PDF Datei direkt in eine faxfähige TIFFg3 Datei umzuwandeln, können Sie folgenden SourceCode nutzen:

// PDF in TIFg3 umwandeln
string gsPath = @"C:\Programme\gs\gs9.00\bin\gswin32c.exe";
string param = "-dNOPAUSE -q -dSAFER -dBATCH -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196";
 
ProcessStartInfo psi = new ProcessStartInfo(gsPath, param + " -sOutputFile=test.tif test.pdf");
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
 
Process p = new Process();
p.StartInfo = psi;
p.Start();
p.WaitForExit();

Sie benötigen die kostenlose Software GhostScript V9.0 auf dem Computer / Server.

UserMin: Warning – The system is configured to not process user-defined mail filters

Dienstag, 05.10.2010

Wenn E-Mail Benutzer in dem UserMin-Bereich die folgende Fehlermeldung erhalten, können Sie mithilfe dieses Artikels die Option aktivieren.

Warning – The system is configured to not process user-defined mail filters. Filters defined here will not be used.

Lösung:

Im UserMin Bereich können Sie nun die E-Mail-Filter nutzen.

Linux: Backup zwischen Servern mit rsync (via SSH)

Dienstag, 05.10.2010

Installieren Sie auch beiden Server (Datenquelle und Ziel) das Programm “rsync”. Auch auf dem Zielcomputer muss diese Software installiert sein, da dieser natürlich das Protokoll verstehen muss:

apt-get install rsync

Vorbereitung des zu sichernden Servers (Datenquelle)

Erzeugen Sie auf der Datenquelle (dem zu sichernden Computer) einen DSA Schlüssel. Führen Sie dafür den folgenden Befehl als Benutzer “root” aus:

ssh-keygen -t dsa

Bestätigen Sie bei den Rückfragen den Dateinamen für den Schlüssel und das Verschlüsselungspasswort jeweils mit Enter.

Anschließend finden Sie auf dem Computer die beiden folgenden Dateien:

Vorbereitung des Sicherungsservers (Datenziel)

Erstellen Sie einen neuen Benutzer “remotebackup”

useradd -m remotebackup

… und vergeben Sie ein geheimes Passwort für diesen Benutzer:

passwd remotebackup

Sie dürfen aus Sicherheitsgründen dem Benutzer “remotebackup” keine Root-Rechte geben. Jedoch wird für das Ausführen des rsync Programmes dieses Recht benötigt – u.a. um alle Verzeichnisse lesen zu können. Zum Lösen dieser Situation nutzen wir das Programm “visudo”:

visudo

Fügen Sie die folgende Zeile in der angezeigten Datei hinzu …

remotebackup ALL=(root)NOPASSWD:/usr/bin/rsync

… und beenden Sie die Eingabe durch Drücken der “ESC” Taste. Geben Sie dann “wq” ein und drücken Sie die “Enter” Taste. Die Änderung wird gespeichert.

Im nächsten Schritt erlauben wir dem zu sichernden Server die automatisch Anmeldung am Zielserver. Dafür nutzen wir die automatische, schlüsselbasierte Authentifizierung per SSH. Dabei muss der zu sichernde Server automatisch die Gültigkeit des übergebenen DSA Schlüssels überprüfen können.

Erstellen Sie auf dem Ziel-Server das Verzeichnis “/home/remotebackup/.ssh” – sofern es noch nicht existieren sollte:

1
2
3
su remotebackup
mkdir ~/.ssh
chmod 700 ~/.ssh

Fügen Sie den öffentlichen DSA-Schlüssel (s.o.) an das Ende der Datei “/home/remotebackup/.ssh/authorized_keys” ein:

1
2
cd ~/.ssh
ssh -l root [IP Quell-Server] cat /root/.ssh/id_dsa.pub >> authorized_keys

chmod 600 authorized_keys

Sollte dieser Weg nicht funktionieren, können Sie natürlich auch die Datei per "scp" kopieren und den Inhalt dann manuell anfügen.

Im letzten Schritt für eine automatische SSH Authentifizierung müssen Sie die entsprechende Option in der Datei "/etc/sshd/sshd_config" aktivieren:

PubkeyAuthentication yes

Testen Sie die automatische Authentifizierung:

1
ssh -l remotebackup [IP Quell-Server]

Datensicherung (Skripte)

Die beiden Server sind vorbereitet. Auf dem Quell-Server legen Sie nun bitte die Datei "/root/rsync-excludes.conf" an. Diese enthält alle Verzeichnisse, welche nicht gesichert werden sollen. Dabei werden auch deren Unterverzeichnisse nicht gesichert.

1
2
3
4
5
6
/cdrom
/dev
/lost+found
/proc
/sys
/tmp

Erstellen Sie das Backupscript "/usr/local/bin/backup.sh":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
 
echo "Starte Server-Backup .."
 
BACKUPDIR=/
TARGETUSER=remotebackup
TARGETDIR=/home/remotebackup/backup_`date +'%Y-%m-%d'`
EXCLUDES=/root/rsync-excludes.conf
 
BACKUPSERVER=[IP Ziel-Server]
 
rsync -avz --numeric-ids -e ssh --delete --delete-excluded --stats --exclude-from="$EXCLUDES" $BACKUPDIR $TARGETUSER@$BACKUPSERVER:$TARGETDIR
 
echo "Backup beendet."

Vergessen Sie bitte nicht, im vorherigen Script die IP (oder den Hostnamen) des Ziel-Servers einzusetzen. Danach machen Sie das Skript bitte ausführbar:

chmod a+x /usr/local/bin/backup.sh

Script testen

Testen Sie die Datensicherung des Servers durch das manuelle Starten des Scriptes:

backup.sh

Automatische Datensicherung (Batch / CronJob)

Um die Datensicherung (Serverkopie) automatisch jeden Morgen um 4 Uhr zu starten, fügen Sie in der Datei "/etc/crontab" die folgende Zeile ein:

0 4   * * *  root   /usr/local/bin/backup.sh

Auth_imp: Die benötigte IMAP-Erweiterung wurde nicht gefunden

Mittwoch, 29.09.2010

Wenn Sie beim Einloggen in das WebMail Programm “Horde” plötzlich folgende Fehlermeldung erhalten, dann hilft Ihnen dieser Artikel weiter:

Ein schwerer Fehler ist aufgetreten:
Auth_imp: Die benötigte IMAP-Erweiterung wurde nicht gefunden.
Details wurden für den Administrator mitgeloggt.

Installieren Sie die IMAP Erweiterung für PHP (hier PHP V5) auf Ihrem Server:

apt-get install php5-imap

… und vergessen Sie den Neustart des Apache Webservers nicht:

/etc/init.d/apache2 restart

Anschließend können Sie die Anmeldung bei “Horde” erneut durchführen und werden Erfolg haben.

Einen Hinweis für die Fehlersuche bei Horde:
Über die folgende URL können Sie auf Ihrem Server die Konfiguration von Horde testen. Dadurch können Sie leicht fehlende Abhängigkeiten entdecken und beheben:

http://url-zu-ihrer-horde-installation/imp/test.php
« Vorheriger Beitrag Nächster Beitrag »