Mails aus WordPress mit einem Kontaktformular verschicken

Ich nutze für das Kontaktformular in einer anderen WordPress-Installation das Plugin Contact Form 7, habe es aber nie hingekriegt, dass ich von den Eingaben von Nutzern dort tatsächlich per Mail benachrichtigt werde.

Es gibt eine Menge von Ansätzen dafür, dass WordPress Mails verschickt. Mit SMTP-Plugins habe ich experimentiert, bin aber nicht zu einem befriedigenden Ergebnis gekommen.

Mein Ansatz sieht so aus. Damit WordPress über die php-Funktion mail () Mails verschicken kann, muss in der Datei php.ini (etc/php5/apache2/php.ini – Debian) der Pfad zum verwendeten MTA angegeben werden. Da ich auf dem Webserver keinen Mailserver aufsetzen wollte, habe ich mich für die Installation von ssmtp entschieden. Die entsprechende Zeile in der php.ini lautet: sendmail_path = /usr/sbin/ssmtp -t

Danach sind die beiden Konfigurationsdateien von ssmt (/etc/ssmtp/ssmtp.conf und /etc/ssmtp/revaliases anzupassen. Eine gute Beschreibung findet sich hier.

Und danach muss man nur noch das Kontaktformular anpassen. Die Eingaben werden über die Mail-Adressen, die man in den Konfigurationsdateien von ssmtp angegeben hat, an die Mail-Adresse, die im Kontaktformular angegeben ist, geschickt.

Und jetzt klappts bei mir auch mit dem Kontaktformular.

WordPress-Permalinks mit Apache auf Debian Server

Ich hatte beim Einrichten einer WordPress-Installation große Probleme mit den Permalinks. Die im Internet gängigen Anleitungen für dieses Problem beschreiben folgende Vorgehen:

  • Das Modul Rewrite für den Apache aktivieren,
  • in der Konfigurationsdatei /etc//sites-available/default die Direktive AllowOverride All einfügen
  • Im Worpress-Verzeichnis eine für den Benutzer www-data les- und schreibbare .httaccess anlegen.

All das hat bei mir nicht zu WordPress-Permalinks geführt. Am Ende hat es dann aber doch geklappt, indem die Direktive AllowOverride All auch noch in der Konfigurationsdatei für den konkreten Vhost eingefügt wurde.

bestehendes WordPress-Blog lokal installieren

Eigentlich hatte ich nur ausprobieren wollen, ob die Datenbank-Backups funktionieren. Dann ist das Ganze eine größere Aktion geworden, die ich hier protokolliere.

Damit WordPress lokal läuft, muss man einen LAMP-Server aufsetzen. Da ich aus Sicherheitgründen im laufenden System keinen LAMP-Server installieren wollte, habe ich dies in einer virtuellen Maschine getan.  Sehr gefallen hat mir die von Ubuntu 10.10 über tasksel angebotene Option, einen LAMP-Server zu installieren. Ist das erledigt, empfiehlt es sich, noch phpmyadmin zu installieren, um komfortabel Datenbanken anlegen und bearbeiten zu können.

  1. Wie soll das Blog lokal aufgerufen werden? Will man noch mit anderen Webanwendungen/Seiten herumspielen, empfiehlt es sich, für jede Anwendung einen virtuellen Host zu konfigurieren. Das Vorgehen bei Ubuntu ist hier sehr schön beschrieben. Damit die Namensauflösung auch klappt, ist der Name des virtuellen Hosts in der Datei /etc/hosts als Eintrag für die lokale Maschine anzugeben.
  2. Jetzt alle Dateien des bestehenden Blogs vom Web-Server herunterladen und in das gewünschte Verzeichnis, von dem der lokale Web-Server darauf zugreifen kann, kopieren. Entscheidet man sich unter Ubuntu für einen virtuellen Host, wäre das /var/www/<Name des virtuellen Hosts>
  3. Danach über phpmyadmin eine lokale Datenbank anlegen, in die die bestehende WordPress-Datenbank importiert werden soll. Ggfs. einen passenden Datenbankbenutzer anlegen. Jetzt die Datenbank des bestehenden Blogs sichern (die Vorgehensweise mit phpmyadmin ist hier beschrieben) und die gesicherten Daten aus der Datenbank des Blogs in die lokale Datenbank importieren (Vorgehensweise mit phpmyadmin ist hier beschrieben)..
  4. WordPress benötigt Informationen über den Ort, an dem es abgespeichert ist. Diese sind in der Datenbank hinterlegt und müssen geändert werden (grundsätzliche Beschreibung hier). Dabei hatte ich Probleme, korrekte Werte für die Datenbankeinträge siteurl und home zu erstellen, da ich keinen vollständigen URI für die lokale Installation angeben konnte. Hat man einen virtuellen Host mit dem Namen „wordpress_test“ eingerichtet, so ist den beiden Optionen der Wert „https://wordpress_test“ zuzuweisen, damit das lokale WordPress seine Daten auch lokal sucht.
  5. Jetzt ist noch die Datei wp-config anzupassen. Der Name und der Benutzer der lokalen Datenbank sind mit Passwort einzutragen, danach kann die lokale WordPress-Installation im Browser aufgerufen werden, Passwörter und Benutzernamen sind die gleichen wie bei der ursprünglichen Installation auf dem Webserver geblieben.