Tag-Archive: php

MAMP – Webserver unter Mac OS X

So ein WordPress-Theme ist ja ständig im Umbruch, zumindest wenn man sich nicht zu einem teuren Profi-Theme hat hinreissen lassen. Mein Theme ist zwar derzeit recht nett, aber irgendwie… naja, was neues muss her. Das möchte ich aber ausgiebig anpassen und testen. Das kann man zwar mit einem Zweitblog machen, ist aber lästig: Dateien lokal ändern, per FTP hochladen usw…

Deswegen kam mir dieser Beitrag von Cywhale auch gerade recht. Er beschreibt da, wie man sich eine lokale Webumgebung (LAMP) unter Linux aufbaut und ein  WordPress dort reinkopiert.
LAMP? Linux, Apache, MySQL, PHP – kann ich auch, dachte ich. Am Mac habe ich die Werkzeuge um am Theme zu arbeiten, inklusive Parallels für eine virtuelle Linuxmaschine als Basis. Ein neues Ubuntu war schnell installiert, der Rest ging auch zügig von der Hand, schliesslich mache ich ja immer tapfer Backups vom Blog und der Datenbank.

STOP!

Ist sicher eine gute Sache, so eine virtuelle Maschine, das muss man nicht weiter erörtern. Aber einen wirklichen Vorteil bringt es nicht im Vergleich zu einem Zweitblog und Overhead erzeugt sie zudem. Besser gehts mit MAMP: die notwendige Systemumgebung
(Mac, Apache, MySQL, PHP) für den Mac und das mac-typisch “non-invasiv”, also ohne Spuren bei der Beseitigung zu hinterlassen. Kostenlos ist die free-Version obendrein.

Warum MAMP? Nun, LAMP ist Linux, da lag es nahe, Mutter Google nach “M” statt “L” zu fragen, also nach MAMP. Es gibt auch ein XAMPP-Projekt, das für fast alle Plattformen verfügbar ist. Aber irgendwie las sich die Beschreibung von MAMP Mac-spezifischer und simpler. Der besondere Charme: wenn man keine besonderen Anforderungen hat, rennt MAMP out of the box, ohne dass man sich um Anpassungen von Apache oder MySQL kümmern muss. Konzentration auf den Kern der Sache. Anspruchsvollere Anwender sind bei XAMP besser aufgehoben.

Die Installation:

MAMP installiert sich in einen Ordner unter /Applications, wo sich auch der Standardplatz für die htdocs befindet (kann aber geändert werden). Habe ich nicht geändert und mir damit auch irgendwelche Scherereien mit Apache-Modulen oder weissderhenkerwas erspart. Es geht ja um eine lokale Testumgebung, nicht mehr und nicht weniger.

Standardmässig werden die Ports 8888 für den Webserver und 8889 für PHPMyAdmin verwendet. Im Einstellungsdialog kann man auch die Standardports 80 und 3306 einstellen, muss aber beim Start von MAMP dann das Systemkennwort eingeben, weil das unter Mc OS X bei Ports < 1024 nunmal so ist.

Auch schön: man kann MAMP genau dann laufen lassen, wenn man es benötigt. Einfach die App starten und fertig. Dem einen sein Feature ist dem anderen sein Bug… ;-)

Die App bietet unter dem Button “Startseite öffnen” einen Link zu einer Infoseite und dort Verlinkungen zu u.a. PHPMyAdmin u.a. – siehe Screenshot.

So macht dann das themepimping Spass: lokal arbeiten und testen.

Kleine Ergänzung noch zu Cywhales Anleitung für den den Datenbankimport bzw. die Anpassung danach: bei meinen Installationen musste der Datenbankname ohne einfache Anführungszeichen gesetzt werden. Die SQL-Syntax sieht dann so aus:

UPDATE wp_options
SET wp_options.option_value=’http://localhost’
WHERE wp_options.option_value
LIKE ‘http://die-online-url%’

Screenshots:

(weiterlesen…)

WeiterlesenKommentare {2}

Webspace sichern, heute: Datenbanken

db-dump

Ein recht häufig gelesener Artikel hier (nicht zuletzt dank Caschy) ist eine Anleitung, wie man seinen Webspace per FTP automatisiert herunterlädt und in ein Zip-Archiv schiebt.

Tom hat seine Domain umgezogen und dabei stellte sich folgende Frage:

Was passiert mit den Datenbanken?

Klar, für WordPress gibts z.B. den WP-DBManager, die meisten Provider bringen PHPmyAdmin mit, mit dem man Datenbanken dumpen kann oder man nimmt den MySQLDumper, der das gleiche komfortabler kann.

Aber wenn man mehrere Datenbanken hat (z.B. in meinem Fall für Sitebar, Fever und eine Foto-Galerie, ggfs. noch einen Webmailer und ein Zweitblog), dann stossen PHPmyAdmin und MySQLDumper schnell an ihre Grenzen, weil man dort immer nur eine Datenbank verarbeiten kann.

Freundlicherweise bietet der Support bei meinem Provider all-inkl für fast alles eine Lösung: auf den Supportseiten findet sich folgendes nette PHP-Script:

<?php

######## einstellungen #############################################

$db_name = “LOGINNAME”;
$db_passwd = “PASSWORT”;

$sql_file = “dump_” . $db_name . “_” . date(‘Ymd_Hi’) . “.sql”;

####################################################################

exec(“mysqldump -u $db_name -p’$db_passwd’ –allow-keywords –add-drop-table –complete-insert –quote-names $db_name > $sql_file”);
exec(“gzip $sql_file”);

$datei = $sql_file . “.gz”;
$link = ‘http://’.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$link = str_replace(basename(__FILE__),$datei,$link);
echo “Downloadlink: <a href=’” . $link . “‘>” . $datei . “</a>”;

?>

Das Ding habe ich mir locker flockig sechs mal nacheinander in eine Datei kopiert und die Zugangsdaten jeder von mir verwendeten Datenbank dort eingetragen. Vor den Dateinamen habe ich ein “dumps” gesetzt” und das entsprechende Verzeichnis per FTP angelegt. So läuft das Skript einfach als bessere Batch-Datei (ja, ich hab keinen blassen Schimmer von PHP!). Bei neuen Datenbanken muss man das natürlich anpassen.

Das PHP-Skript selbst habe ich als “backup.phpx” gespeichert und lasse es über einen Cron-Job von all-inkl einmal die Woche laufen (meine WP-Datenbank sichere ich natürlich intern täglich). Wer noch mehr Cron-Jobs benötigt: http://www.cron-job.org

Natürlich würde jetzt irgendwann der Webspace vollaufen, weil ja die Dumps mit jedem Lauf einen anderen Dateinamen (das Datum, “. date(‘Ymd_Hi’) .”) bekommen.

Da ich wöchentlich mit meinem FTP-Backup den Server abziehe, kann ich hervorragend damit leben, wenn einmal im Monat alle Dumps rausgeworfen werden. Ich habe ja noch die Historie auf meinen lokalen Platten. Das Löschen habe ich mit folgenden PHP-Skrip erledigt:

<?php

foreach (glob(“dumps/*.*”) as $filename) {
echo “$filename size ” . filesize($filename) . “\n”;
unlink($filename);
}

?>

Auch das abgespeichert (del.phpx), als Cron-Job eingetragen und man muss sich keine Sorgen mehr machen ;-)

WeiterlesenKommentare {4}

Ich kam, sah und linkte: 5.04. – 9.04.

Meine Linksammlung bei del.icio.us: delicious42px.gif

WeiterlesenKommentare (0)

Ich kam, sah und linkte: 2.02. – 13.02.

Meine Linksammlung bei del.icio.us: delicious42px.gif

WeiterlesenKommentare (0)

Ich kam, sah und linkte: 21.07. – 29.07.

Meine Linksammlung bei del.icio.us: delicious42px.gif

WeiterlesenKommentare {3}