blog.bartlweb - a technologist's external brain

Thema: Server

MySQL-Datenbanken mittels Skript sichern

Das folgende Shell-Skript sichert eine Datenbank mit Hilfe von mysqldump als mit Datum versehene tar.gz-Datei. Somit kann mit Hilfe eines Cronjobs die Datenbank z.B. einmal täglich gesichert werden.

Shell-Skript

#!/bin/sh
 
CONF_DB_DATABASE = "mydb"
CONF_DB_USER = "user"
CONF_DB_PASSWORD = "password"
CONF_DB_HOST = "localhost"
CONF_OUTPUT_FILENAME = "mydb_`date +%m%d%Y`"
CONF_OUTPUT_DIR = "/mnt/backup/mysql/"
CONF_TMP_DIR = "/tmp/"
 
mysqldump -u $CONF_DB_USER -p$CONF_DB_PASSWORD -h $CONF_DB_HOST $CONF_DB_DATABASE > $CONF_TMP_DIR$CONF_OUTPUT_FILENAME.sql
tar cfz $CONF_OUTPUT_DIR$CONF_OUTPUT_FILENAME.tar.gz -C $CONF_TMP_DIR $CONF_OUTPUT_FILENAME.sql  >> /dev/null 2>&1
rm $CONF_TMP_DIR$CONF_OUTPUT_FILENAME.sql

Performance von mysqldump optimieren

Bei großen Datenbanken kann mysqldump unter Umständen sehr lange für das Backup benötigen. Über die folgenden Paramter der MySQL-Konfigurationsdatei my.cnf können Sie die Performance von mysql und mysqldump optimieren. Achtung: die hier angegebenen Werte sind Beispielwerte, Sie sollten diese entsprechend des verfügbaren Arbeitsspeichers bemessen.

[mysqldump]
max_allowed_packet = 64M
[mysqld]
key_buffer_size = 256M
max_allowed_packet = 128M
read_buffer_size = 512K
myisam_sort_buffer_size = 8M
 
 
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 256M
# Set ..._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 64M

Samba-Server einrichten

Die Installation und Konfiguration eines Samba-Servers ist mittlerweile eine mehr als simple Angelegenheit geworden und besteht im wesentlichen nur aus Benutzer anlegen und Konfigurationsfile anpassen. Die hier dargestellte Konfiguration geht davon aus das keine Benutzerordner und Drucker freigegeben werden müssen und dass jeglicher Zugriff auf den Server mittels Benutzername und Passwort erfolgt, also keine Gastzugriffe erlaubt sind.

Benutzer anlegen

Um sich am Samba-Server anmelden zu können nutzt Samba eine interne Passwort-Datenbank. Dennoch müssen die Benutzer am System angelegt sein. Um reine Samba-Nutzer anzulegen (d.h. Nutzer die sich nicht an der Konsole des Servers sondern nur am Samba-Server anmelden können und über kein Home-Verzeichnis verfügen) nutzen Sie den folgenden Befehl:

Alfresco auf Version 3.4.c updaten

Eine der Neuerung in Alfresco 3.4.c ist, dass keine MySQL-Datenbankinstallation im Installations-Bundel mehr mitgeliefert wird. D.h. wer nicht auf eine Postgre-Datenbank migrieren möchte, muss sich ab sofort um eine eigene Installation von MySQL kümmern. Dabei stellt sich allerdings der Versionssprung der mitgelieferten Datenbank MySQL4 auf eine aktuelle Installation von MySQL5 als Stolperstein heraus. In MySQL5 sind Datenbanknamen case-sensitiv. Dadurch erkennt Alfresco einige Tabellen nicht mehr, da diese in früheren Versionen mit Kleinschreibung angelegt wurden, aktuell aber in Großschreibung benötigt werden.

Upgrade-Prozedur

Die folgende Anleitung hilft beim beheben des Konflikts:

  1. Erstellen Sie einen Dump Ihrere aktuellen MySQL-Datenbank.

VMWare Fusion Images in VMWare Server nutzen

Um VMWare Images auf Fusion auf einem VMWare Server zu nutzen können Sie entweder den VMWare vCenter Konverter nutzen oder aber Sie machen sich zu nutze, dass die Disk-Images (vmdk-Dateien) von VMWare mit jedem Produkt kompatibel sind.

D.h. Sie generieren auf dem Server die Virtuelle Maschine mit den selben Einstellung wie unter VMWare Fusion neu. Dabei müssen Sie darauf achten, dass Sie den selben Namen vergeben (Ansonsten müssen Sie nachträglich in der vmx-Konfigurationsdatei den Pfad zur vmdk-Datei ändern). Sobald Sie die Virtuelle Maschine erstellt haben überschreiben Sie am Speicherort die vmdk-Datei mit der aus VMWare Fusion. Zu dieser gelangen Sie in dem Sie im Finder mit Rechtsklick auf die Datei der Virtuellen Maschine den Punkt Paketinhalt anzeigen auswählen.

Management-Interface von VMWare Server 2 hängt

Gerade unter Linux ist das webbasierte Management-Interface von VMWare Serve 2 leider mehr als instabiel. Die folgenden Kniffe können Abhilfe schaffen:

Management-Interface neu starten

Starten Sie das Management-Interface als root mit dem folgenden Befehl neu.

vmware-mgmt restart

DNS-Name verwenden

Rufen Sie das Interface nicht über die IP-Adresse sondern über den Host-Namen oder einen DNS-Eintrag auf.

Infrastructure Client

Nutzen Sie für die schnelle Kontrolle den VMWare Infrastructure Client. Beachten Sie, dass es leider nicht möglich ist über diesen Client Einstellungen an den Virtuellen Maschinen vorzunehmen. Für die Ressourcen-Kontrolle und die Benutzung der Konsole ist dieser der Weboberfläche allerdings klar vorzuziehen.

Windows SMTP-Server als Relayhost verwenden

Die folgenden Einstellungen sind notwendig um den mit Windows Server mitgelieferten SMTP-Server als Relayhost zu konfigurieren. Ziel ist es, dass alle internen Rechner Mails über diesen Server mit Hilfe eines externen SMTP-Servers versenden können.

Eigenschaften des Servers

  • Allgemein - IP-Adresse: (Keine zugewiesen)
  • Zugriff - Authentifizierung - "Anonymer Zugriff"
  • Zustellung - Ausgehende Sicherheit - Benutzername: Benutzername des externen Mailservers
  • Zustellung - Ausgehende Sicherheit - Kennwort: Kennwort des externen Mailservers
  • Zustellung - Ausgehende Sicherheit - TLS-Verschlüsselung
  • Zustellung - Erweitert - Smarthost: IP/DNS-Name des externen Mailservers

Eigenschaften der Domäne

  • Allgemein - "Relay eingehender Nachrichten an diese Domäne erlauben"

Webdav-Probleme im Zusammenspiel mit Symbian S60

Um den in Symbian^3 integrierten Webdav-Client mit einem Apache-Webserver zusammenarbeiten zu lassen, sind die folgenden Punkte zu beachten:

  • In Benutzernamen und Passwort werden nicht alle Sonderzeichen akzeptiert. - Probieren sie daher einmal ein einfacheres Passwort.
  • Ordner mit dem Namen private werden nicht angezeigt.
  • Der Symbian-Webdav-Client benötigt am Server ein redirect-carefully.

redirect-carefully

Nicht nur der Symbian Webdav-Client sondern auch der in Windows integrierte Webdav-Client benötigen etwas Zuspruch vom Server. Typische Symptome sind das nicht anzeigen der Ordnerstruktur oder nur die Anzeige des 1. Levels. Abhilfe schaffen die folgenden Apache Direktiven:

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch "^Microsoft-WebDAV-MiniRedir/" redirect-carefully
#BrowserMatch "^S60 Remote Storage WebDav client" redirect-carefully

Redirect via Apache VirtualHost

Die folgende VirtualHost-Konfiguration für Apache ermöglicht den einfachen Redirect von einer Domain auf eine andere.

<VirtualHost *>
  ServerName www.example.com
  Redirect 301 / http://www.target.com/
</VirtualHost>

Setzt man die Direktive ServerAlias auf bestimmte Subdomains oder auf *.domain.com, können diese bzw. alle Subdomains in einem Schritt auf die entsprechende Domain umgeleitet werden.

E-Mail-Einstellungen für den Versand unter Alfresco 3.3

Damit Alfresco E-Mails versenden kann muss in der Konfigurationsdatei /opt/alfresco/tomcat/shared/classes/alfresco-global.properties ein E-Mailserver angegeben werden.

ohne Authentifizierung

mail.host = mail.domain.com
mail.port = 25
mail.smtp.auth = false
mail.encoding=UTF-8
mail.from.default= alfresco@domain.com

mit Authentifizierung

mail.host= smtp.domain.com
mail.port= 25
mail.username = alfresco@domain.com
mail.password = password
mail.protocol = smtp
mail.smtp.auth = true
mail.encoding = UTF-8
mail.from.default= alfresco@domain.com

mit Authentifizierung und SSL

mail.host = smtp.domain.com
mail.port = 465
mail.username = alfresco@domain.com
mail.password = password
mail.protocol = smtps
mail.smtps.starttls.enable = true
mail.smtps.auth = true
mail.encoding = UTF-8
mail.from.default= alfresco@domain.com

E-Mailversand testen

Fügen Sie die folgenden Zeilen zur Konfiguration hinzu um beim Start des Servers den Versand eines Test-E-Mails anzustoßen.

mail.testmessage.send = true
mail.testmessage.to = test@domain.com
mail.testmessage.subject = Alfresco outbound SMTP - Testmail
mail.testmessage.text = Juhuu, it works.

Postgres-Datenbank-Fehler beim Installieren von DAViCal

Um den folgenden Fehler bei der Installation von DAViCal in Verbindung mit einer Postgres-Datenbank zu verhindern, müssen die Zugriffsrechte korrekt gesetzt werden.

DBI connect('dbname=davical','davical_dba',...) failed: FATAL:  Ident authentication failed for user "davical_dba" at /usr/share/davical/dba/update-davical-database line 244
Can't connect to database davical at /usr/share/davical/dba/update-davical-database line 244.
* * * * ERROR * * * *
The database administration utility failed.  This may be due to database
permissions for the davical_dba user, or because the Perl DBD::Pg or YAML
libraries are not available.
 
Check that your pg_hba.conf allows the davical_dba user to connect to the
database (and make sure you've reloaded PostgreSQL since changing that).
 
Also see:  http://wiki.davical.org/w/Install_Errors/No_Perl_YAML

Unter OpenSuse finden Sie die entsprechende Datei unter /var/lib/pgsql/data/pg_hba.conf