Mailman: neue Subdomain

Kürzlich musste ich die Subdomain für den administrativen Zugriff auf Mailman ändern.

Dazu zuerst in der Datei /etc/mailman/mm_cfg.py folgende Zeile anpassen:
DEFAULT_URL_HOST = 'sub1.example.org'

Damit anschließend Links auf den Mailman-Seiten funktionieren, müssen diese an die neue Subdomain angepasst werden mittels
withlist -l -r fix_url <listenname>

Veröffentlicht am
Kategorisiert in Linux, Server

owncloud: csync konnte keine lock-Datei erstellen

Wenn owncloud obige Fehlermeldung ausgibt, sollte man die lock-Datei per Hand löschen:
rm ~/.local/share/data/ownCloud/lock

Hinweis: in älteren Versionen von owncloud (bzw. csync) wurde die lock-Datei woanders gespeichert (unter ~/.csync/lock). Siehe hier.

Veröffentlicht am
Kategorisiert in Linux Verschlagwortet mit ,

SSH-Zugang ohne Passwort per Public-Key-Authentifizierung

Hier habe ich einen netten Einzeiler dazu gefunden, der auch noch auf das mounten entfernter Verzeichnisse per sshfs eingeht.

Zunächst mit

ssh-keygen

ein (passwortloses) RSA-Schlüsselpaar erstellen.

Dann einmal mit

cat ~/.ssh/id_rsa.pub | ssh user@server 'cat >>~/.ssh/authorized_keys'

auf dem Server einloggen.

Update: Alternativ macht dieser Befehl das gleiche:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

Beim nächsten Zugriff per

ssh user@server

ist dann auch kein Passwort mehr notwendig.

Kubuntu: PPA wieder entfernen

Testweise hatte ich bei meinem Kubuntu 10.10 mal KDE 4.6.1 ausprobiert.
Dazu hab ich das PPA der Kubuntu-Entwickler (hier) hinzugefügt:

add-apt-repository ppa:kubuntu-ppa/backports

Da gab es leider ein paar Probleme.

Um das Kubuntu-PPA wieder zu entfernen ist folgendes nötig:

apt-get install ppa-purge
ppa-purge ppa:kubuntu-ppa/backports

Danach werden wieder die originalen Kubuntu-Pakete installiert.

Cron-Job hinzufügen/ändern

Um Cron-Jobs hinzuzufügen oder bestehende zu ändern gibt es den Befehl:
crontab -e

Veröffentlicht am
Kategorisiert in Linux

Spamassassin trainieren

So kann man Spamassassin trainieren:

Ham:
sa-learn --ham -L /var/vmail/BENUTZER/Maildir/cur

Spam:
sa-learn --spam -L /var/vmail/BENUTZER/Maildir/.Spam

Horde-Webmail

Da ich bei meinem Webmail den Standard-SSL-Port auf einen anderen Wert geändert hatte, funktionierte die Anmeldung nach einem Update auf die neue Horde-Webmail-Version nicht mehr.
Dazu muss Horde angewiesen werden, den ursprünglichen Server-Port wieder zu verwenden, indem die Datei „horde/config/config.php“ so abgeändert wird:

$conf['server']['name'] = $_SERVER['SERVER_NAME'];
$conf['server']['port'] = $_SERVER['SERVER_PORT'];

Ein Update von Horde-Webmail machen:

Zunächst sollte der letzte Patch hier heruntergeladen werden. Anschließend loggt man sich per SSH auf den Server ein und wechselt in den bisherigen Webmail-Ordner. Dort aktualisiert dann der Befehl
patch -p1 < ../patch-horde-webmail-1.2.4-1.2.5
auf die neue Version.

Veröffentlicht am
Kategorisiert in Uncategorized

Postfix, Dovecot und virtuelle Domains (ohne SQL-Datenbank)

Meinen E-Mail-Server habe ich teilweise nach der ISP-Mail-Anleitung eingerichtet. Da mir aber die dort vorgeschlagene Einrichtung mittel mysql-Datenbank zu aufwendig erschien, habe ich es etwas abgewandelt.

Zu einer bestehenden Domain sollte eine weitere hinzukommen, die jedoch E-Mails nur weiterleitet (es soll aber auch möglich sein, E-Mails mit dieser Domain zu verschicken). Dazu wird in die Datei /etc/postfix/main.cf
folgendes eingefügt:

virtual_alias_domains = anderedomain.de
virtual_alias_maps = hash:/etc/postfix/virtual

Letztere Datei (/etc/postfix/virtual) hat dabei folgenden Inhalt, womit eine Weiterleitung auf  beispiel@example.org eingerichtet wird.

info@anderedomain.de     beispiel@example.org

Soweit so gut. Mails an info@anderedomain.de werden nun weitergeleitet an beispiel@example.org.

Nun soll es auch möglich sein, E-Mails unter dem Namen info@anderedomain.de zu verschicken. Da die Authentifizierung bei Postfix über SASL von Dovecot eingerichtet ist, und kein Linux-Systemnutzer für die E-Mail-Adresse eingerichtet werden soll, eine Datei mit einem ähnlichen Schema wie /etc/passwd angelegt.

/var/vmail/conf/benutzerdb:

info@anderedomain.de:{plain}passWORT

Für einen ersten Test sollte das ausreichen. Sicherer ist natürlich, nur den MD5-Hash des Passwortes zu speichern. Dieser lässt sich hier berechnen. Für obiges Passwort würde entsprechend die Datei dann so aussehen:
info@anderedomain.de:{MD5}30b9de8ee60962fec6006a1ac474b733

Die Passwortdatei muss nun noch Dovecot bekannt gemacht werden. In der Datei /etc/dovecot/dovecot.conf wird dazu folgendes eingetragen:

passdb passwd-file {
args = /var/vmail/conf/benutzerdb
}

Dadurch kann sich ein E-Mail-Client gegenüber dem Server authentifizieren, ohne dass ein Linux-Benutzer angelegt werden musste.

Berkeley-Datenbank anschauen

Kürzlich wollte ich die Datenbankdatei von postgrey anschauen, um zu sehen, wer mir da schon alles ne E-Mail geschrieben hat. Die relevanten Daten stehen in der Datei /var/lib/postgrey/postgrey.db. Es handelt sich hierbei um eine Berkeley-Datenbank.

Um die Datei zu betrachten muss man in Debian zunächst das Paket db4.6-util installieren (mittels aptitude install db4.6-util).

Anschließend kann man sich den Inhalt der Datenbank menschenlesbar anzeigen lassen:
db4.6_dump -p /var/lib/postgrey/postgrey.db

Veröffentlicht am
Kategorisiert in Linux

SSL-Zertifikat mit Wildcard und ohne

Für meinen Webserver wollte ich ein SSL-Zertifikat haben, bei dem sämtliche Subdomains enthalten sind (wie z.B. http://notizen.stephangsell.de), aber auch die Hauptdomain selber (http://stephangsell.de, ohne www).
Damit das beides funktioniert, muss das Feld subjAltName im Zertifikat gesetzt sein.
Den nötigen Tipp hab ich hier gefunden.

Zunächst sollte ein Private Key erzeugt werden, aus welchem später das Zertifikat erstellt werden kann:
openssl genrsa -out ~/stephangsell.de.key 2048

Um für CACert.de eine Certificate-Signing-Request (CSR) zu erstellen, muss man zunächst eine Konfigurationsdatei für OpenSSL erstellen:

[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[ v3_req ]
subjectAltName = $ENV::SUBJALTNAME
[ req_distinguished_name ]
commonName = Common Name (eg, YOUR name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64

Wir erstellen die Datei und speichern sie z.B. unter ~/myopenssl.cnf ab.

Der anschließend notwendige Aufruf von openssl lautet
SUBJALTNAME='DNS:*.stephangsell.de,DNS:*.example.net' openssl req \
-config ~/myopenssl.cnf \
-subj '/CN=stephangsell.de/emailAddress=admin@example.com' \
-new -extensions v3_req -key ~/stephangsell.de.key

Als Ausgabe erhält man das CSR, welches nun in das entsprechende Feld, z.B. bei CACert, kopiert wird. Daraus wird schließlich das unterzeichnete Zertifikat berechnet.


[Update]
Alternativ zu der hier beschriebenen Vorgehensweise lässt sich auch der CSRGenerator vom CACert-Wiki verwenden:
http://wiki.cacert.org/wiki/CSRGenerator