Donnerstag, 4. März 2010

Neue Themes zum phpMyAdmin von MAMP hinzufügen

Die lokale Serverumgebung MAMP bzw. MAMP PRO wird mit dem webbasierten Administrations-Tool phpMyAdmin zur Administration der MySQL-Datenbanken ausgeliefert. Dabei sind bereits zwei Themes (Oberflächendesigns) vorinstalliert.

Auf der phpMyAdmin-Website werden allerdings noch eine ganze Reihe weiterer Themes zum Download angeboten. Möchte man also nun die lokale phpMyAdmin-Installation von MAMP bzw. MAMP PRO dem persönlichen Geschmack etwas anpassen, kann man sich hier eines der Themes aussuchen, herunterladen und phpMyAdmin hinzufügen. Die folgenden beiden Anleitungen zeigen, wie man dazu beim MAMP bzw. MAMP PRO vorgeht.

  1. Rufen Sie die phpMyAdmin-Website (http://www.phpmyadmin.net/) im Browser auf.
  2. Im oberen Teil der Website befindet sich das Menü. Klicken Sie auf den Menüeintrag "Themes".
  3. Bei jedem Theme finden Sie eine Angabe "Compatible with phpMyAdmin...". Achten Sie darauf, dass Sie nur ein Theme auswählen, welches auch zur phpMyAdmin-Version von MAMP bzw. MAMP PRO passt. Welche phpMyAdmin-Version Sie momentan verwenden, sehen Sie auf der Startseite von phpMyAdmin.





  4. Wählen Sie ein Theme aus und laden es herunter.
  5. Entpacken Sie das ZIP-Archiv.
  6. Kopieren Sie das entpackte Verzeichnis in den Themes-Ordner von phpMyAdmin.
    • MAMP
      • phpMyAdmin für PHP4:
        /Applications/MAMP/bin/phpMyAdminForPHP4/themes
      • phpMyAdmin für PHP5:
        /Applications/MAMP/bin/phpMyAdminForPHP5/themes
    • MAMP PRO
      • phpMyAdmin für PHP4:
        /Library/Application Support/appsolute/MAMP PRO/phpMyAdminForPHP4/themes
      • phpMyAdmin für PHP5:
        /Library/Application Support/appsolute/MAMP PRO/phpMyAdminForPHP5/themes
  7. Rufen Sie phpMyAdmin über die Startseite auf.
  8. Wählen Sie das neu hinzugefügte Theme aus der Select-Box "Oberflächendesign" aus.



Geschafft. Ihre lokale phpMyAdmin-Installation wird nun mit dem neuen Theme angezeigt.



Sie können übrigens beliebig viele Themes hinzufügen. Beachten Sie bitte, dass bei jedem Update von MAMP bzw. MAMP PRO die bisherige phpMyAdmin-Version durch eine neue ersetzt wird und Sie die oben genannten Schritte wiederholen müssen.

Share/Save/Bookmark

Mittwoch, 3. März 2010

Eigene MySQL-Konfigurationsdatei für den MAMP

Der MySQL-Server von MAMP (nicht PRO) wird standardmäßig ohne Konfigurationsdatei gestartet. Möchte man selbst Startparameter für den MySQL-Server definieren, kann man eine eigene Konfigurationsdatei mit den entsprechenden Werten anlegen. Dazu geht man wie folgt vor:
  1. Server vom MAMP stoppen (falls sie gestartet wurden).
  2. Erstellen Sie mit einem Texteditor eine Datei mit dem Dateinamen "my.cnf" im Verzeichnis "/Programme/MAMP/conf/".
  3. Fügen Sie die gewünschten Angaben der Konfigurationsdatei "my.cnf" hinzu.
  4. Speichern Sie die Datei "my.cnf" und schließen Sie den Texteditor.
  5. Starten Sie die Server von MAMP.
Dabei müssen Sie nicht alle möglichen Angaben machen, sondern können gezielt auswählen, welche Werte Sie verändern möchten. Es werden nur die Angaben der Standardkonfiguration des MySQL-Servers überschrieben, die Sie auch in der Datei "my.cnf" angegeben haben.

So kann man zum Beispiel die Default Storage Engine von MyISAM auf InnoDB wechseln. Eine ausführliche Beschreibung dazu finden Sie in unserem Blog-Post "Default Storage Engine von MySQL beim MAMP setzen" .

Ein anderes Anwendungsbeispiel ist das Verändern der maximalen Größe des Kommunikationspuffers. Fügen Sie dazu in die Datei "my.cnf" folgende Zeilen ein:

[mysqld]
max_allowed_packet = 32M

Der Wert "32M" besagt dabei, dass die maximale Größe des Kommunikationspuffers 32 MB betragen darf.

Weiterführende Informationen:

Share/Save/Bookmark

Dienstag, 2. März 2010

Provider-Test mit Postfix und MAMP

Möchte man über die lokale Entwicklungsumgebung MAMP PRO auch E-Mail verschicken, muss man zunächst Postfix konfigurieren. Dies kann man beim MAMP über Server -> Postfix erledigen. Auch wenn es nur weniger Angaben bedarf, um den E-Mail-Versand zum Laufen zu bekommen, liegt die Tücke meist im Detail. Manche Provider lassen den Versand über Smart-Hosts nicht zu, oder beschränken ihn auf die eigene E-Mail-Adresse....

Aus diesem Grund möchten wir eine Übersicht möglichst vieler Provider mit den passenden Postfix-Einstellungen zusammentragen. Dabei sind wir aber auf die Mithilfe der MAMP PRO User angewiesen .... wir haben ja nicht bei allen Providern einen Account zum Testen. Nutzen Sie MAMP PRO und haben einen Account bei einem noch nicht in der folgenden Tabelle gelisteten Provider, dann probieren Sie einfach mal die Postfix-Konfiguration aus. Die Werte aus der Tabelle können Ihnen dabei helfen, die richtigen Werte für Ihren Provider zu finden.

Hinweis:
  • Werte, die in Großbuchstaben angegeben sind, zeigen Ihnen, dass Sie hier etwas anpassen müssen.
Domainfactory

ProviderDomainfactory
PaketManagedServer XL3
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden PostDOMAIN.TLD
Smart Hostaktiviert
HostSMPT.DOMAIN.TLD
BenutzerE-MAIL-ADRESSE
PasswortPASSWORT
AuthentifikationText unverschlüsselt
AnmerkungE-Mails können an alle E-Mail-Adressen versendet werden.
TesterMAMP Team (D. E.)
Testdatum02.03.2010

GMX

ProviderGMX
PaketFreeMail
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden Postgmx.de
Smart Hostdeaktiviert
Host
Benutzer
Passwort
Authentifikation
AnmerkungE-Mails können nicht an GMX-Adressen versendet werden.
TesterMAMP Team (D. E.)
Testdatum02.03.2010

Google

ProviderGoogle Mail
Paket
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden Postgmail.com
Smart Hostdeaktiviert
Host
Benutzer
Passwort
Authentifikation
AnmerkungE-Mails können nur an Google Mail und Google Apps E-Mail-Adressen versendet werden.
TesterMAMP Team (D. E.)
Testdatum02.03.2010

ProviderGoogle Apps
PaketStandard Edition
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden Postgmail.com
Smart Hostdeaktiviert
Host
Benutzer
Passwort
Authentifikation
AnmerkungE-Mails können nur an Google Mail und Google Apps E-Mail-Adressen versendet werden.
TesterMAMP Team (D. E.)
Testdatum02.03.2010

1blu

Provider1blu
Paket1blu-vServer L
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden PostDOMAIN.TLD
Smart Hostaktiviert
Hostsmtp.1blu.de
BenutzerE-MAIL-ADRESSE
PasswortPASSWORT
AuthentifikationText unverschlüsselt
AnmerkungE-Mails können an alle E-Mail-Adressen versendet werden.
TesterMAMP Team (A. L.)
Testdatum02.03.2010

freenet.de

Providerfreenet.de
PaketfreenetMail Basic
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden Postfreenet.de
Smart Hostaktiviert
Hostmx.freenet.de
BenutzerE-MAIL-ADRESSE
PasswortPASSWORT
AuthentifikationText unverschlüsselt
AnmerkungE-Mails können an alle E-Mail-Adressen versendet werden.
TesterMAMP Team (A. L.)
Testdatum02.03.2010

regfish

Providerregfish
PaketMailDomain FLEX
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden PostDOMAIN.TLD
Smart Hostaktiviert
Hostmailserv.regfish.com
BenutzerE-MAIL-ADRESSE
PasswortPASSWORT
AuthentifikationText unverschlüsselt
AnmerkungE-Mails können an alle E-Mail-Adressen versendet werden.
TesterMAMP Team (A. L.)
Testdatum02.03.2010

ALL-INKL.COM

ProviderALL-INKL.COM
PaketALL-INKL PRIVAT
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden PostDOMAIN.TLD
Smart Hostdeaktiviert
Host
Benutzer
Passwort
Authentifikation
AnmerkungE-Mails können an alle E-Mail-Adressen versendet werden.
TesterMAMP Team (S. S.)
Testdatum02.03.2010

ProviderALL-INKL.COM
PaketALL-INKL PRIVAT
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden PostDOMAIN.TLD
Smart Hostaktiviert
HostSMPT.DOMAIN.TLD
BenutzerE-MAIL-ADRESSE
PasswortPASSWORT
AuthentifikationText unverschlüsselt
AnmerkungE-Mails können an alle E-Mail-Adressen versendet werden.
TesterMAMP Team (S. S.)
Testdatum02.03.2010

Apple

ProviderApple
PaketMobileMe
FunktioniertJa
MAMP PRO Postfix-Konfiguration
Domain der ausgehenden Postme.com
Smart Hostaktiviert
Hostsmtp.me.com
BenutzerERSTER TEIL IHRER E-MAIL-ADRESSE
(VOR DEM @-ZEICHEN)
PasswortPASSWORT
AuthentifikationText unverschlüsselt
AnmerkungE-Mails können an alle E-Mail-Adressen versendet werden. Beim Versenden müssen Sie Ihre MobileMe-E-Mail-Adresse als Absender angeben. Beispiel:

<?php
$to = 'info@appsolute.de';
$subject = 'Betreff';
$message = 'Text';
$headers = 'From: ACCONTNAME@me.com';

mail($to, $subject, $message, $headers);
?>
TesterMAMP Team (D. E.)
Testdatum03.03.2010

Helfen Sie bitte mit, die Übersicht zu vervollständigen. Schreiben Sie Ihre Erfahrungen und Werte für die Postfix-Konfiguration einfach als Kommentar unter diesen Blog-Eintrag oder nutzen Sie unser Kontaktformular auf der MAMP-Website. Wir ergänzen dann die Übersicht umgehend mit Ihren Daten.

Share/Save/Bookmark

Postfix Log-Datei von MAMP PRO anzeigen

Im schon etwas zurückliegenden Post "Mailversand mit MAMP PRO" haben wir beschrieben, wie man Postfix über MAMP PRO konfiguriert. Hat man nun alle Werte eingetragen, dann kann es trotzdem passieren, dass etwas beim Versand nicht so recht funktioniert wie es soll. Dies kann mehrere Gründe haben. Die wohl häufigsten sind:
  • fehlerhafte Konfiguration
  • Absender-Provider verweigert das Versenden der E-Mail
  • Empfänger-Provider verweigert das Empfangen der E-Mail
Aber wie soll man nun herausfinden, an was es genau liegt? Die Lösung dazu ist so einfach wie aufschlussreich: Alles, was Postfix macht, wird in die Log-Datei "/private/var/log/mail.log" geschrieben. Der Ordner "private" ist dabei ein unsichtbarer Ordner direkt im Root der lokalen Festplatte.

Anzeige über die Konsole

Die komfortabelste Art, um die Log-Datei von Postfix anzuzeigen ist der Programm Konsole.app.
  1. Öffnen Sie das Programm "Konsole.app" (/Programme/Dienstprogramme/Konsole.app).
  2. Wählen Sie über das Menü "Darstellung" den Eintrag "Protokollliste einblenden".
  3. Öffnen Sie in der Protokollliste den Ordner "DATEIEN".
  4. Öffnen Sie in der Protokollliste den Ordner "/private/var/log".
  5. Klicken Sie auf den Eintrag "mail.log".
  6. Auf der rechten Seite des Programmfensters wird nun der Inhalt der Postfix-Log-Datei angezeigt.


Anzeige über den Terminal

Sind Sie eher ein Purist und macht Ihnen die Arbeit mit dem Terminal von Mac OS X nichts aus, dann können Sie sich die Log-Datei von Postfix wie folgt ansehen:
  1. Öffnen Sie das Programm "Terminal.app" (/Programme/Dienstprogramme/Terminal.app)
  2. Geben Sie folgenden Befehl ein und drücken Sie die Enter-Taste:

    
tail -f /private/var/log/mail.log

  3. Dadurch wird der Inhalt der Log-Datei von Postfix im Terminal angezeigt. Sobald sich die Dateiverändert (neue Einträge hinzukommen), wird auch die Anzeige im Terminal-Fenster aktualisiert.
  4. Wenn Sie die Anzeige nicht mehr benötigen, Drücken Sie zum Beenden die Tastenkombination "ctrl + c".


Anzeige über einen Texteditor

Möchte man nun die Log-Datei von Postfix über einen Texteditor (zum Beispiel TextWrangler) ansehen, muss man zunächst den Finder dazu bringen, alle unsichtbaren Ordner und Dateien anzuzeigen. Erst danach kann man die Log-Datei über einen Texteditor öffnen. Dazu geht man wie folgt vor:
  1. Öffnen Sie das Programm "Terminal.app" (/Programme/Dienstprogramme/Terminal.app)
  2. Geben Sie folgenden Befehl ein und drücken Sie die Enter-Taste:


    defaults write com.apple.finder AppleShowAllFiles -boolean true

  3. Starten Sie den Finder neu, indem Sie folgenden Befehl eingaben und mit der Enter-Taste bestätigen:


    killall Finder

  4. Öffnen Sie die Datei "/private/var/log/mail.log" über Ihren Texteditor.


Egal welches Vorgehen Sie für die Anzeige der Log-Datei von Postfix wählen, Sie erhalten so wertvolle Informationen über die Vorgänge von Postfix. Im optimalen Fall finden Sie in den Einträgen die Zeichenkette "status=sent". Dies bedeutet, dass die E-Mail erfolgreich versendet wurde. Aber auch Zeichenketten wie "status=deferred" können vorkommen. Hier konnte die E-Mail nicht versendet werden. Die Gründe dafür können sehr vielfältig sein und eine genaue Beschreibung dazu würde das Thema dieses Artikels eindeutig sprengen.


Share/Save/Bookmark

Sonntag, 28. Februar 2010

PHP von MAMP in AppleScript nutzen

Viele Entwickler am Mac nutzen AppleScript für kleine wie größere Aufgaben. Manche Vorgänge können allerdings mit AppleScript aufwendiger sein als in anderen Programmiersprachen - wie zum Beispiel PHP. Ein gutes Beispiel dafür ist das Suchen und Ersetzen einer Zeichenkette in einer anderen Zeichenkette. Mit AppleScript etwas kompliziert, mit PHP ein Einzeiler.

Wollen wir uns nun also mal ansehen, wie man die beiden Programmiersprachen AppleScript und PHP zusammenbringen kann. Fangen wir dazu mit einem einfachen Beispiel an: Die PHP-Version über AppleScript ausgeben.

Hinweise:
  • Für alle, die noch nie etwas mit AppleScript zu tun hatten: AppleScripts schreibt man im AppleScript Editor. Dieses Programm wird standardmäßig bei jedem Mac OS X mitgeliefert und befindet sich hier: /Programme/Dienstprogramme/AppleScript Editor.app
  • Je nachdem, ob man PHP4 oder PHP 5 von MAMP nutzen möchte, muss man einen anderen Pfad angeben.
  • Die MAMP-Server müssen zum Ausführen von PHP über AppleScript nicht gestartet werden.
Mit PHP4
set myCmd to "/Applications/MAMP/bin/php4/bin/php -r \"echo PHP_VERSION;\""
set myResult to do shell script myCmd
-- Ergebnis: "4.4.9"

Mit PHP5
set myCmd to "/Applications/MAMP/bin/php5/bin/php -r \"echo PHP_VERSION;\""
set myResult to do shell script myCmd
-- Ergebnis: "5.2.11"

Kommen wir nun zu dem bereits am Anfang genannten Beispiel für das Suchen und Ersetzen. Mit PHP kann man diese Aufgabe über die Funktion str_replace() erledigen. Um es etwas übersichtlicher zu gestalten, speichern wir beim nächsten Beispiel den PHP-Code in eine separate Variable.

Suchen und Ersetzen (mit PHP5):
set myPHP to "echo str_replace('ist', 'war', 'Das ist ein Test.');"
set myCmd to "/Applications/MAMP/bin/php5/bin/php -r \"" & myPHP & "\""
set myResult to do shell script myCmd
-- Ergebnis: "Das war ein Test."

Ein weiteres nützliches Anwendungsbeispiel ist die URL-Kodierung einer Zeichenkette nach RFC 1738:

Variante A:
set myPHP to "echo rawurlencode('Das ist ein Test.');"
set myCmd to "/Applications/MAMP/bin/php5/bin/php -r \"" & myPHP & "\""
set myResult to do shell script myCmd
-- Ergebnis: "Das%20ist%20ein%20Test."

Variante B:
set myQuotedString to quoted form of "Das ist ein Test."
set myCmd to "/Applications/MAMP/bin/php5/bin/php -r \"echo rawurlencode(" & myQuotedString & ");\""
set myResult to do shell script myCmd
-- Ergebnis: "Das%20ist%20ein%20Test."

Share/Save/Bookmark