Dies ist eine alte Version des Dokuments!
Diese Anleitung beschreibt die Einrichtung einer lokalen Web-Entwicklungsumgebung auf dem eigenen Mac. Sie beinhaltet auch die Installation von Komponenten, die für TYPO3 benötigt werden (z.B. Graphicsmagick).
Am Ende dieser Seite habe ich die verschiedenen Quellen für diese Sammlung notiert.
Das Programm selbst benötigt man möglicherweise nicht, aber es bringt einige nützliche Bibliotheken und Tools mit, z.B. git.
Xcode kann kostenlos im App Store heruntergeladen werden. Nach der Installation muss noch die Lizenz akzeptiert werden, wahlweise bei einem Programmstart oder über die Kommandozeile (xcodebuild -license
).
Homebrew ist eine praktische Paketverwaltung, mit der viele Programme einfach installiert und aktualisiert werden können.
Installation über das Terminal:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Mit diesem Domain Name System (DNS) können unsere localhost-Websites mit praktischen Domains aufgerufen werden, z.B. http://kunde1.dev/.
Die folgenden Befehle installieren das Programm, erstellen benötigte Ordner und verweisen alle Anfragen zur .dev Top Level Domain zu unserem localhost.
Terminal:
brew install dnsmasq cd $(brew --prefix) mkdir etc echo 'address=/.dev/127.0.0.1' > etc/dnsmasq.conf sudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist sudo mkdir /etc/resolver sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/dev'
Wo die Websites lokal gespeichert werden, bleibt jedem selbst überlassen. Ich gehe hier von einem Ordner /www
direkt auf der Macintosh HD aus. Die Ordnerstruktur darin sieht folgendermaßen aus:
www/ sites/ kunde1/ assets/ *für Quelldateien und andere Dokumente* wwwroot/ *beinhaltet die eigentliche Website* kunde2/ assets/ wwwroot/ index.php typo3/ typo3_src/ [etc] phpmyadmin/ *wird weiter unten eingerichtet*
Wer es anders einrichtet muss daran denken, einige Pfade aus dieser Anleitung anzupassen, z.B. in der httpd-vhosts.conf
!
OS X beinhaltet bereits eine PHP-Version. Ich verwende aber lieber eine eigene Version, die ich über Homebrew installiere.
Terminal:
brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/homebrew-php brew install php56 brew install php56-gmagick
Im Anschluss installiere ich direkt GraphicsMagick, was von TYPO3 zur Bildbearbeitung benötigt wird:
brew install php56-gmagick
Speicherort: /usr/local/etc/php/5.6/
Zentrale Konfigurationsdatei für PHP. Folgende Anpassungen sind empfohlen, besonders in Hinblick auf die Verwendung von TYPO3:
max_execution_time = 240 always_populate_raw_post_data = -1 max_input_vars = 1500
OS X bringt auch schon einen Apache mit – dieser muss für unsere Zwecke nur noch etwas angepasst werden.
Apache starten (Terminal):
sudo apachectl start
Speicherort: /private/etc/apache2/httpd.conf
Die Apache-Konfigurationsdatei. Folgende Zeilen müssen mit #
auskommentiert werden:
<Directory /> AllowOverride none Require all denied </Directory>
Diese Zeilen müssen aktiviert bzw. hinzugefügt werden:
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so Include /private/etc/apache2/extra/httpd-vhosts.conf
Zudem wird mit dieser Zeile das eben installierte PHP-Modul geladen:
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Default-User und -Gruppe des Apache ist _www
. Um keine Probleme mit Zugriffsrechten zu bekommen, setzen wir uns stattdessen einfach selbst ein:
# User _www # Group _www User myusername Group staff
Speicherort: /private/etc/apache2/extra/httpd-vhosts.conf
Ergänzende Konfigurationsdatei. Der Inhalt der bereits vorhandenen Datei kann komplett auskommentiert oder gelöscht werden. Hinein gehört dies:
<Directory "/www"> Options Indexes MultiViews FollowSymLinks AllowOverride All Require all granted </Directory> <Virtualhost *:80> VirtualDocumentRoot "/www/sites/%1/wwwroot" ServerName sites.dev ServerAlias *.dev UseCanonicalName Off </Virtualhost>
Im Zusammenspiel mit dem weiter oben installierten dnsmasq sorgt diese Konfiguration dafür, dass jede Website, die im Ordner /www/sites/
liegt und die Struktur /kundenname/wwwroot
besitzt, mit der URL http://kundenname.dev/ aufgerufen werden kann. Ergänzungen für neue Websites sind so unnötig.
Anschließend muss der Apache im Terminal neu gestartet werden:
sudo apachectl restart
Zuerst wird MySQL per Homebrew installiert, danach der „MySQL 2002 (HY000) Socket Error“ behoben.
Terminal:
brew install mysql sudo mkdir /var/mysql sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Nun werden mit diesem Befehl Sicherheitseinstellungen vorgenommen, z.B. indem ein Passwort für den Root-Account von MySQL vergeben wird.
Terminal:
mysql_secure_installation
Danach sorgen wir noch dafür, dass MySQL nach einem Neustart automatisch gestartet wird:
Terminal:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Anschließend wird die Default-Konfiguration von MySQL an neue Stelle kopiert und umbenannt.
Terminal:
sudo mkdir /etc/mysql sudo cp -v $(brew --prefix mysql)/support-files/my-default.cnf /etc/mysql/my.cnf
Speicherort: /etc/mysql/my.cnf
Die folgenden Einstellungen in der my.cnf sind z.B. für TYPO3 wichtig. Es darf kein sql_mode
gesetzt sein!
innodb_buffer_pool_size = 128M sql_mode=
phpMyAdmin kann von der offiziellen Website heruntergeladen werden; das englische ZIP-Archiv ist voll ausreichend. Das ZIP entpacken und die Inhalte in folgenden Ordner verschieben: /www/sites/phpmyadmin/wwwroot/
Anschließend wird ein Ordner für die Konfiguration erstellt und die nötigen Rechte zugewiesen.
Terminal:
mkdir /www/sites/phpmyadmin/wwwroot/config chmod o+w /www/sites/phpmyadmin/wwwroot/config
Im Browser nun http://phpmyadmin.dev/setup/ öffnen.
root
eintragen, falls nicht schon vorhanden
Dies erstellt eine config.inc.php im config
-Ordner von phpMyAdmin. Diese Datei wird direkt in den Ordner wwwroot
von phpMyAdmin verschoben. Danach kann der config
-Ordner gelöscht werden.
Das wars schon. Nun ist phpMyAdmin unter http://phpmyadmin.dev/ erreichbar; mit den hinterlegten Zugangsdaten kann man sich einloggen und seine Datenbanken anlegen und verwalten.
Kontaktformulare versenden E-Mails. TYPO3 auch. Mit Hilfe von Postfix wird dies lokal möglich (eine Internetverbindung ist weiterhin erforderlich!).
Dies basiert zuallererst auf der Anleitung von Chris Mallinson, mit Ergänzungen von coolestguidesontheplanet.com.
Dazu kommt die Postfix-Anleitung von Ander Ustarroz sowie der Cronjob-Beitrag von wakatara.com.
Der Rest entstammt den Manuals der installierten Programme und diversen Stack Overflow-Topics.