Joomla 1.6 Templates selbst erstellen

Obwohl es unzählige Templates für das CMS Joomla gibt, kann es durchaus sinnvoll sein, sich genauer mit der Templateerstellung in Verbindung mit Joomla zu beschäftigen. Eines vorweg: Es ist nicht so kompliziert, wie es auf den ersten Blick vielleicht scheinen mag!

Grundvoraussetzungen

Auch wenn man kein Guru auf dem Gebiet von HTML, CSS und eventuell auch PHP sein muss, sind gewisse grundlegende Kenntnisse (vor allem in HTML und CSS) sinnvoll und erleichtern die Templateerstellung erheblich. Bezogen auf CSS kann ich nur sagen, dass selbst CSS Gurus oft mit dem einen oder andren Problem zu kämpfen haben. Dies nicht zuletzt durch die teilweise sehr kreative CSS Interpretation diverser Browser, die sich eher weniger um geltende CSS Standards gekümmert haben.

Ich behaupte hier einfach, dass man – um möglichst gute standardkonforme CSS Unterstützung zu bekommen – auf Mozilla Firefox zurückgreifen sollte. Optimalerweise hat man dann auch gleich Firebug oder die WebDeveloper Toolbar installiert!

Ein guter Editor (z.B. Notepad++) sollte ebenso zum Fundus des angehenden „Joomlatemplatedesigner“ zählen :-).

Zuerst ist das Design

Egal ob auf Papier gezeichnet, oder auf dem PC im Lieblingsgrafikprogramm erstellt, hauptsache man weiß, wo man hin will. Ich mache es immer so, dass ich auf GIMP zurückgreife. Das heißt, ich „zeichne“ mir in Gimp die „Website“.

Zu allererst öffnet man eine neue Datei. Die Leinwand (= in Gimp die Arbeitsfläche) sollte hierbei so groß sein (vor allem in der Breite!) wie der Webauftritt später.

Bsp: Will man eine Website mit fixer Breite von 1024px, bietet es sich an, die Leinwand in der Dimension 1024px x 768px zu erstellen.

Nun zeichnet man sich auf erwähnter Leinwand seine Website. Grundlegend könnte man die Elemente der Website aufteilen in:

  • Hintergrund (hier ist der Body in HTML gemeint, dem man zb ebenso eine Grafik als Hintergrundbild geben kann)
  • Header
  • oberes Menü (horizontal)
  • Breadcrumbleiste (horizontal)
  • linkes Menü
  • Inhalt
  • rechts Menü
  • Fußleiste

Um alle Elemente komfortabel bearbeiten zu können, sollte man auf jeden Fall auf Ebenen in Gimp zurückgreifen. Was heißt das? Nun, jedes Element sollte auf einer eigenen Ebene liegen. Der Vorteil liegt darin, dass sich die Ebenen untereinander nicht in die Quere kommen. Man kann jede Ebene und somit auch jedes Element der Homepage separat bearbeiten, sieht aber trotzdem immer das Gesamtbild (da ja auch die anderen Ebenen angezeigt werden).

Kann man sich rein vom lesen her sicherlich schwer vorstellen.

Deshalb biete ich hier eines meiner ersten Joomla  1.6 Template als GIMP XCF Datei zum Download an. Bitte herunterladen und sich die Ebenen ansehen! (Man benötigt dafür GIMP)!

Das Konzept dahinter ist, dass man quasi jede Ebene nach Fertigstellung des Design in Gimp in eine separate Grafik (JPG oder auch PNG) speichert und diese Grafiken dann in die Homepage per CSS einbinden kann. Um es nochmals zu verdeutlichen:

  • Als erstes hat man in Gimp das Gesamtdesign, die Elemente sind in unterschiedlichen Ebenen aufgeteilt
  • Ist das Design in Gimp soweit fertig, speichert man die einzelnen Elemente (siehe oben -> Elemente der Website) in separaten Grafikdateien (PNG oder JPG Format)
  • Diese separaten Grafiken bindet man später per CSS ein, damit der Webauftritt dann so aussieht wie im Gimpentwurf

 

Weiter gehts

Ich gehe davon aus, dass sämtliche Grafikelemente nun als JPG oder PNG Datei vorliegen, man CSS soweit beherrscht,  dass man ein Design erstellt hat und die Grafikelemente entsprechend eingebunden hat (Die Elemente kann man sich im Beispieltemplate für Joomla 1.6 (ZIP) ansehen. Es ist hier noch nicht wichtig, dass man in irgend einer Form an Joomla denkt! Inhalte kann man in diesem Stadium der Entwicklung noch „hardcoded“ einfügen, um zu sehen wie sich das Design macht.

Beim Entwickeln sollte man eventuell bereits einen Hauptordner mit der Datei index.php haben und 2 Unterordner /images und /css. Die CSS Datei, die in die index.php eingebunden wird, liegt im Unterordner /css die einzelnen Bilder und Designelemente im Unterordner /images!

Joomla „Modulpositionen“  einfügen

So, nun ist es ander Zeit sich über Joomla Gedanken zu machen. 🙂 Joomla behandelt fast alle seine Komponenten als Module (im Quelltext type=“modules“) die an gewissen Positionen (im Quelltext name=“position-1″ usw) und in einer gewissen Darstellung (im Quelltext type=“xhtml“) eingebunden werden. Im Quelltext muss man nun noch darauf „hinweisen“, dass nun Joomla in Aktion tritt UND dass ein Modul an einer bestimmten Position eingebunden wird.

Module bindet man im Quelltext (index.php) wie folgend ein:

  • <jdoc:include

folgend dann oben erwähnte Details also:

  • <jdoc:include type=“modules“ name=“position-1″ style=“xhtml“

und abschließend — wichtig!

  • />

Gesamt also:

  • <jdoc:include type=“modules“ name=“position-1″ style=“xhtml“  />

Unterschieden wird hier ausschließlich nach name=“irgend eine Position“.  Es ist vollkommen egal, wie diese Position heißt! Es muss nur im Backend von Joomla nach erfolgreicher Templateinstallation eine Zuordnung von Modul zu Position im Template erfolgen. (hier spielt auch die Datei templatedetails.xml, die ich ganz am Ende erwähne, eine wichtige Rolle).

Einbindung von Modulen für verschiedene Aufgaben

Man könnte  z.B. für ein oben darzustellendes Menü folgendes einbinden:

  • <jdoc:include type=“modules“ name=“position-1″ />

für die „Breadcrumbs“:

  • <jdoc:include type=“modules“ name=“position-2″ />

und für die linke Seite eines 3 Spalten Layout folgende Modulpositionen berücksichtigen:

  • jdoc:include type=“modules“ name=“position-7″ style=“xhtml“ />
  • <jdoc:include type=“modules“ name=“position-4″ style=“xhtml“ />
  • <jdoc:include type=“modules“ name=“position-5″ style=“xhtml“ />

Weiters zB für die rechte Seite:

  • <jdoc:include type=“modules“ name=“position-12″ style=“xhtml“  />
  • <jdoc:include type=“modules“ name=“position-6″ style=“xhtml“ />
  • <jdoc:include type=“modules“ name=“position-8″ style=“xhtml“ />
  • <jdoc:include type=“modules“ name=“position-3″ style=“xhtml“ />

Joomla „Contentbereich“ einfügen

Das Schema bleibt fast das selbe. Dort wo im Quelltext der Content  – also die Beiträge – erscheinen soll, schreibt man im Quelltext (index.php):

  • <jdoc:include type=“component“ />

Hier wird keine Position angegeben bzw. ist keine Position nötig, da ohnehin klar ist, dass es sich um den Beitragsbereich handelt!

Gut, gehen wir davon aus dass man nun also für das linke und auch das rechte Menü per jdoc:include… Module und entsprechende Positionen eingebunden hat und der Contentbereich ebenso per jdoc:include… in die index.php eingetragen worden ist.

Zurück zum Anfang der index.php

Ganz wichtig: als ERSTE ZEILE der index.php des Template sollte folgendes stehen:

  • <?php defined(‚_JEXEC‘) or die; ?>

Dies erlaubt nur Joomla einen direkten Zugriff auf Joomladateien und dient so der zusätzlichen Sicherheit

Bei jedem HTML Dokument ist es ausserdem immens wichtig, den richtigen Doctype anzugeben, damit der Browser weiß, wie er die ihm vorgesetzte Datei „interpretieren“ soll. Was ich vorhin auch noch vergessen habe zu erwähnen ist, dass es auch für den Headbereich ein „jdoc:include…“ gibt nämlich:

  • <jdoc:include type=“head“ />

Dieses „include“ bindet u.a. diverse meta tags und auch den Titel der Website ein. Es ist also auch immer hinzuzufügen!

Der gesamte Kopfbereich der index.php sieht also so aus:

  • <?php defined(‚_JEXEC‘) or die; ?>
  • <!DOCTYPE html PUBLIC „-//W3C//DTD XHTML 1.0 Transitional//EN“ „http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
  • <html xmlns=“http://www.w3.org/1999/xhtml“ xml:lang=“de-de“ lang=“de-de“ dir=“ltr“ >
  • <head><jdoc:include type=“head“ />
  • <link rel=“stylesheet“ href=“<?php echo $this->baseurl ?>/templates/simply_orange/css/template.css“ type=“text/css“ media=“screen,projection“ />
  • </head>

Info : <?php echo $this->baseurl ?> bindet automatisch das korrekte Basisverzeichnis ein.

templatedetails.xml, template_preview.png, template_thumbnail.png

Die Datei templatedetails.xml beschreibt das erstellte Joomlatemplate im sogenannten XML Format. In dieser Datei müssen u.a. alle oben festgelegten Positions eingetragen werden, die Verzeichnisse des Template und die Dateien die im Hauptverzeichnis liegen.

Für das Template simply_orange sieht die templatedetails.xml so aus:

 

Ein Screenshot des fertigen Template (der Website) wird nun noch als template_preview.png in einer Auflösung von ca. 800×600 in das Hauptverzeichnis des Template gepackt. Danach verkleinern wir den Screenshot auf ca. 200×150 und speichern diesen unter dem Namen template_thumbnail.png ebenso im Hauptverzeichnis des Template ab.

Template Zippen

Zuletzt, nachdem nun alles passen sollte, zippen wir unseren Ordner, der unser Template enthält inkl. aller Unterverzeichnisse und Dateien. Diese Zip Datei kann man dann per Joomlabackend -> Erweiterungen installieren hochladen und in der Templateverwaltung als Standardtemplate definieren.

Ist auch das geschehen, muss man den aktiven (bzw. den gewünschten) Modulen noch die entsprechende Position im Template zuordnen (zu finden in der Modulverwaltung) und schon sollten die Module auch auf der Website erscheinen.

Kritik und Anregungen nehme ich gerne per Kommentar oder Email entgegen 😉

Danke fürs lesen…

Postfix will Outlook 2010 nicht

ACHTUNG unbedingt nach der Anpassung prüfen, ob Postfix nicht zum Open Relay geworden ist!

Durch Zufall bin ich heute mit einem Problem zwischen Outlook 2010 und Postfix (unter Debian Lenny) konfrontiert worden.

Postfix veweigerte Outlook 2010 das Versenden von Emails. Die konkrete Fehlermeldung ,die man von Postfix retour bekam lautete „Relay Access Denied“.

Komisch, da das Mailen mit Thunderbird und Outlook bis 2007 funktioniert.

Analyse der Logdateien

Folgende Fehler werden mitprotokolliert:

  • www postfix/smtpd[20869]: warning: unknown[x.x.x.x]: SASL     NTLM authentication aborted
  • www postfix/smtpd[20869]: warning: SASL authentication failure:    required parameters missing
  • www postfix/master[20847]: warning: process /usr/lib/postfix/smt    pd pid 20869 killed by signal 11

Die (anscheinende) Lösung des Problemes

Man öffne die Datei /etc/postfix/sasl/smtpd.conf und füge folgenden Eintrag hinzu:

  • mech_list: plain login

Wenn die Datei smtpd.conf nicht existiert einfach anlegen und oben genannten Parameter einfügen.

Danach startet man postfix neu mit:

  • /etc/init.d/postfix restart

So hat es dann jedenfalls bei mir geklappt.

Jedoch will ich jetzt mal wissen, was mech_list eigentlich macht. Also starte ich google und:

Do not specify any other mechanisms in mech_list than PLAIN or LOGIN when using saslauthd! It can only handle these two mechanisms, and authentication will fail if clients are allowed to choose other mechanisms.
Man setzt diesen Parameter also um den Authentifizierungstyp für den Saslautd zu definieren.

Komisch, warum ist dann allerdings die Datei smtpd.conf komplett leer? Auf der andren Seite finden sich folgende Parameter in der main.cf:

  • smtpd_sasl_auth_enable       = yes
  • smtpd_sasl_security_options  = noanonymous
  • smtpd_sasl_local_domain      =
  • broken_sasl_auth_clients     = yes

Sasl ist aktiv, jedoch ist der Daemon nicht konfiguriert?

Conky und Conky Wizard

Conky ist ein Systemmonitoring Tool, welches etliche Informationen über das System ausgibt. Hierzu zählen CPU Temperatur, Netzwerktraffic, WLAN Verbindung, freier Festplatten / Ramspeicher, CPU Auslastung und noch einiges mehr. Installiert man allerdings „nur“ das Paket conky mit seinen Abhängigkeiten (andre, für Conky notwendige Pakete, die automatisch mitinstalliert werden) sieht Conky etwas schlicht aus, nämlich so:

Nun gibt es natürlich im Verzeichnis /etc eine Datei mit dem Namen conky.conf über die man etliche Einstellungen vornehmen kann. Diese Datei ist jedoch „etwas“ umfangreich.

Conky Wizard

Um die Konfiguration etwas zu erleichtern findet man unter http://code.google.com/p/conkywizard einen Konfigurationsassistenten, mit dem man sich seine Conkykonfiguration „zusammenklicken“ kann.

Die Installation des Paketes (welches im tar.gz Format) vorliegt ist einfach. Mit einem geeigneten Progamm (z.b. File-Roller) unter Gnome auspacken und durch Doppelklick starten:

Klick auf Next

Hier können nun Farben für Hintergrund, Überschriften etc. ausgesucht werden. Das Schriftbild kann ebenso ausgewählt werden. Wie man vielleicht im Vorschaufenster, welches die auch wählbare Position oben, links, rechts oder unten darstellt, sehen kann ist dieser Wizard „ubuntulastig“. Ein Klick auf Next befördert uns ins nächste Fenster, die Dimensionseinstellungen stehen an:

Welche Daten Conky anzeigen soll, wird im vorletzten Fenster angezeigt. Standardmäßig ist alles aktiviert. Ob auch wirklich alles angezeigt werden kann, hängt davon ab, ob das Mainboard Sensorchips einsetzt, die von dem Programm lm-sensors (Paket lm-sensors) erkannt werden.

Wieder klicken wir auf Next und kommen zum abschließenden Fenster, bei dem wir das Häkchen bei „Run Conky after the end ConkyWizard“ setzen und auf Finish klicken:

Nun sollte Conky starten und so ausssehen (klick um zu vergrößern):

Es fehlen wohl noch einige „Sensoren“, da man sieht, dass zum Beispiel die CPU Temperatur nicht ausgelesen wird. Hier sollte man prüfen, ob lm-sensors installiert ist. Ist das nicht der Fall, kann es per synaptic, adept, oder natürlich auch in der Konsole nachinstalliert werden (apt-get install lm-sensors).

Nach der erfolgreichen Installation, muss man nun noch in der Konsole sensors-detect aufrufen, um nach entsprechenden Sensorchips suchen zu lassen und einige Fragen durchgehen. Die Antworten sind vorbelegt, sodass man ausschließlich per Return bestätigen muss.

Ganz wichtig ist die letzte Frage! Wenn nämlich ein Sensorchip gefunden wird, ist es notwendig, das entsprechende Modul zu laden. lm-sensors schlägt das richtige Modul vor und  fragt, ob das Modul in die /etc/modules eingetragen werden soll. Hier muss man dann mit yes antworten!

Leider gibt es bei mir ein Problem mit einem false positive (es wird fälschlicherweise ein Sensorchip angesprochen, der eigentlich keiner ist) und auch ein fehlendes Modul k10temp, welches bei Squeeze nicht mit dabei ist. An der Lösung arbeite ich noch.

Update: Conkywizard auf 64 Bit Systemen

Wie Lars im Kommentar bereits erwähnte, gibt es offenbar mit der 64Bit Version ein Problem (Danke Lars!). Hier kann man den Umweg gehen, sich Conky selbst zu kompilieren. Folgende Installationsanleitung habe ich auf der spanische Seite: http://entrellaves.blogspot.com/2010/06/miniguia-compilando-conkywizard.html gefunden:

  • svn checkout http://conkywizard.googlecode.com/svn/trunk/ conkywizard-read-only
  • cd conkywizard-read-only/ConkyWizard/sudo apt-get install tmake libqt4-dev
  • tmake ConkyWizard.pro -o Makefile
  • cd resources/
  • rm translations
  • ln -s ../translations
  • cd ..
  • qmake-qt4
  • make
  • cd ../Application/
  • ./ConkyWizard

Leider habe ich kein 64 Bit System laufen, weshalb ich das nur bedingt nachvollziehen kann.

Installation Postfix Debian Lenny

Wie die Überschrift schon sagt, beschäftige ich mich hier mit der Installation von Postfix in Verbindung mit Dovecot + Verschlüsselung inklusive SMTP Virusscan per ClamAV. Nachdem dies meine erste Postfixkonfiguration für eine Produktivumgebung sein soll, versuche ich, mein Bestes zu geben bzw. die im Internet zu findenden Informationen hier in etwas komprimierterer Form -hoffentlich verständlich- wieder zu geben. Wichtig ist jedoch auch, dass ich keine Garantie betreffend die Sytemsicherheit dieser Konfiguration geben kann!

Quellen

Postfix Konfiguration:
http://holl.co.at/howto-email/#a1

ClamAV Einbindung:
http://www.debian-administration.org/articles/259

Wie immer tolle Unterstützung durch:
www.debianforum.de

Postfix, Dovecot, ClamAV installieren

Postfix wird unser SMTP Server. Dovecot verwenden wir als POP-Server, um den Anwendern den Mailabruf per POP3 zu ermöglichen und ClamAV soll Viren abwürgen:

Wie zumeist auf einem Server befinden wir uns in einer Konsole und haben für die Installation natürlich root-Rechte bzw. sind wir als root eingeloggt:

  • apt-get install postfix dovecot-pop3d
  • gefolgt von RETURN

Für ClamAV müssen wir nun einen Blick in die sources.list werfen (diese liegt im Verzeichnis /etc/apt) und nachschauen, ob folgende Zeile enthalten und auch NICHT auskommentiert ist:

  • deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

Wenn nicht vorhanden, bitte ergänzen. Wenn auskommentiert, bitte # davor entfernen. Der Grund für diese Aktion ist, dass wir nur so zu einer aktuellen Version von ClamAV kommen!

Wieder als root in einer Konsole:

  • apt-get update
  • apt-get install clamsmtp clamav-freshclam
  • und wieder Return
  • freshclam
  • Return

ClamAV Konfiguration

Wir öffnen /etc/clamsmtpd.conf um folgende Änderungen an der Datei vorzunehmen:

  • OutAddress von 10025 auf 10026
  • Listen von 127.0.0.1:10026 auf Listen: 127.0.0.1:10025

Openssl installieren

Um ein entsprechendes Zertifikat für die verschlüsselte Verbindung zu erstellen, benötigen wir openssl. Falls es noch nicht installiert ist müssen wir es mit:

  • apt-get install openssl
  • +Return

installieren.

Danach erstellen wir mit Hilfe folgender Befehle die nötigen Zertifikate. Optimalerweise befinden wir uns im Verzeichnis /etc/postfix, damit die Zertifikate auch gleich dort abgelegt werden und wir unten stehender Konfiguration (TLS Parameters) entsprechen:

  • openssl genrsa -out mail.key 2048
  • openssl req -new -key mail.key -out mail.csr (WICHTIG: Die Frage nach dem CN (Common Name) der FQDN unseres Mailserver eingetragen wird mail.meinedomain.at sonst meckert Thunderbird, Outlook etc. bei jeder Kontaktaufnahme mit dem Mailserver, dass es Probleme mit dem Zertifikat gibt
  • openssl x509 -req -days 4312 -in mail.csr -out mail.cert -signkey mail.key
  • danach kann man die mail.csr löschen und es sollten mail.cert und mail.key im Verzeichnis /etc/postfix liegen

Postfix Konfiguration (main.cf)

Die Datei main.cf ist die Postfixkonfigurationsdatei. Diese findet man im Verzeichnis /etc/postfix. Da ich immer vim verwende, um Konfigurationsdateien zu bearbeiten greife ich auch diesmal darauf zurück.

Die main.cf sieht in meinem Fall so aus, wobei einige Einträge (FETT geschrieben) euren Gegebenheiten angepasst werden müssen:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP
smtp_helo_required = yes

smtpd_recipient_restrictions = reject_unknown_recipient_domain, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
#smtpd_sender_restrictions = reject_unknown_address
#strict_rfc821_envelopes = yes

biff = no

# appending .domain is the MUA’s job.
append_dot_mydomain = no

# Uncomment the next line to generate „delayed mail“ warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
#die ersten 2 Parameter setzen voraus, dass unter /etc/postfix ein Zertifikat mail.cert mail.key abgelegt / erstellt worden ist!
smtpd_tls_cert_file=/etc/postfix/mail.cert
smtpd_tls_key_file=/etc/postfix/mail.key
smtpd_use_tls=yes
smtpd_enforce_tls = no
smtpd_tls_auth_only = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail.meinedomain.at
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = meinedomain.at
mydestination = mail.meinedomain.at, meinedomain.at
relayhost =

#mynetworks gibt an, welche Rechner über unseren Mailserver Mails senden düften. Es ist sehr wichtig, diesen Parameter korrekt zu konfigurieren.

#Es kann auch nur das interne Netz hier stehen bleiben und 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mynetworks = 192.168.1.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
10.0.0.1,
10.0.0.2,
10.0.0.3

#Die nächste Zeile ist auskommentiert, da wir nicht procmail zur Mailboxzustellung verwenden, sondern dovecot
#mailbox_command = procmail -a „$EXTENSION“

mailbox_size_limit = 50000000
message_size_limit = 10240000
#Emails werden im jeweiligen Homeverzeichnis abgelegt. Der Unterordner wird mit folgendem Parameter angegeben
home_mailbox = mails/

recipient_delimiter = +
inet_interfaces = all

#Die folgenden 2 Zeilen betreffen clamav und den Smtpscan und beziehen sich auf die Änderung, bei ClamAV (oben)
content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings

master.cf

Die master.cf, die unter /etc/postfix/master.cf liegt, muss normalerweise bei einer Standardkonfiguration ohne Scan oder sonstige Filter nicht geändert werden. Da wir aber ClamAV als SMTP Scanner einsetzen, müssen wir am Ende der master.cf folgenden Block einfügen:
# AV scan filter
scan      unix  –        –       n      –       16     smtp
-o smtpd_send_xforward_command=yes

# Mail zurueck an Postfix
127.0.0.1:10026 inet  n –     n    –             16    smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o smtpd_authorized_xforward_hosts=127.0.0.0/8

Dovecot Konfiguration

Auch Dovecot muss noch konfiguriert werden. Die hierfür nötige Datei finden wir unter /etc/dovecot/dovecot.conf. Die Datei ist aufgrund der vielen Kommentare sehr umfangreich. Beim teilweisen ergänzen der Parameter muss man genau darauf achten, dass die geschwungenen Klammern richtig geöffnet und geschlossen werden, da es sonst zu Fehlern kommt!

Folgende Anpassungen müssten noch gemacht werden. (Achtung! Vieles steht schon in der Datei, ist aber auskommentiert – genau schauen / Suchfunktion des Editor nutzen):

#Wir haben hier nur pop3 und pop3s da ich imap nicht nutze
protocols = pop3 pop3s

ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
disable_plaintext_auth = yes
mail_location = maildir:%h/mails

Bei den folgenden Anpassungen habe ich ewig lange nach einem Fehler gesucht, da ich eine  } – Klammer zuviel hatte. Vorsicht!

auth default {

mechanisms = plain

userdb passwd {

}

passdb shadow {

}

user = root

socket listen {

client {

path = /var/spool/postfix/private/auth

mode = 0660

user = postfix

group = postfix

}

}

}

Postfächer anlegen

Postfix soll in dieser Konfiguration lokale Benutzerkonten verwenden. Als Ablage für eingehende Emails werden die Homeverzeichnisse der jeweiligen Benutzer verwendet. Es liegt also nahe, dass wir nun Benutzer anlegen müssen.

  • useradd -m -s /bin/false mustermann
  • gefolgt von RETURN
  • passwd mustermann
  • Passwörter setzen

Wir sollten jetzt eigentlich eine Usermailbox besitzen, die mit musterman@meinedomain.at angesprochen werden kann. Abseits dessen sollte im Verzeichnis /home nun mustermann vorzufinden sein.

Damit man nun schöner klingende Mailadressen (vorname.nachname@…) erstellen kann bedienen wir uns der Datei /etc/aliases, die wir mit einem Texteditor bearbeiten. Hier können Aliasnamen für bereits angelegte Benutzernamen vergeben werden. In unserem Beispiel erreichen wir mit dem Eintrag:

  • max.mustermann: mustermann
  • dem Speichern der Datei
  • und dem ausführen von newaliases
  • gefolgt von RETURN

dass man nun auch an max.mustermann@meinedomain.at mailen kann und der Benutzer Mustermann die Email bekommt.

Was macht der Befehl newaliases? Er liest quasi die Datei /etc/aliases neu ein und bereitet die Daten für Postfix auf, damit diese dann auch vom Mailserver verwendet werden können.

So kann man zum Beispiel auch Mailinglisten einrichten.

rundmail: user1, user2, user3, …

Schickt man nun, nach speichern und ausführen von newaliases an rundmail@meinedomain.at eine Email, bekommen es alle User, die nach dem Doppelpunkt angeführt worden sind.

So, das wars fürs Erste. Ich hoffe, dass es auch bei euch klappt.

Für die genauere Beschreibung der einzelnen Parameter verweise ich nochmals auf die sehr klare Doku unter:  http://holl.co.at/howto-email/#a1.

Debian Squeeze Browserschriftbild

Immer wieder … immer wieder

Wieso hat  Iceweasel eigentlich nach wie vor das schlechtest Schriftbild bei einer Debian / Gnome Standardinstallation?

Ich habe mir die Mühe gemacht (ok soviel Mühe war es nun auch wieder nicht), Google Chrome, Opera und  Iceweasel gegenüber zu stellen. Die Unterschiede sind für manchen vielleicht kaum vorhanden, dennoch erkennt man, dass Iceweasel die gröbste Schriftdarstellung hat.

Andere Distributionen

Was auch auffällt ist, dass andre Distributionen unter Gnome auch dem Iceweasel (Firefox) ein schönes Schriftbild „mitgeben“. Woran liegt das nun? Fehlen Schriften? Vielleicht die MS Corefonts? Klar, man findets sicher mit Hilfe von Tante Google, aber will man wegen der Schrift wirklich am System schrauben?

Zum Vergleich (Rechtsklick -> Link in neuem Fenster öffnen)