XAMPP auf MacOS installieren
Siehe auch[Bearbeiten]
Mac - Apache MySql PHP Server mit Homebrew Super flexible Möglichkeit.
Installation[Bearbeiten]
Als praktisch hat es sich erwiesen die eigenen Projekte nicht in htdocs abzulegen. Dann muss man beim Update nicht alles kopieren. Das geht auch ohne virtuelle Server o.ä. Einfach einen Symlink www in htdocs anlegen, der dann auf das eigentliche Webverzeichnis, das man nach Wahl anlegen kann, zeigt.
Ablauf:
DMG Archiv normal installieren[Bearbeiten]
PHP konfigurieren
- etc/php.ini anpassen (mehr execution time und memory)
Webverzeichnes www außerhalb von htdocs.
- Ordner www z.B. in User Verzeichnis erstellen
- Symlink auf diesen im htdocs Ordner auf dieses Verzeichnis.
- Evtl. Dateirechte anpassen
Datenbank[Bearbeiten]
- User und Passwort vergeben (Mit -p Parameter aber Passwort leerlassen. Sonst nimmt er evtl. automatisch das Admin Passwort. Hinweis MariaDB ist der Nachfolger von mySQL. Das Ganze sieht etwa so aus:
cd /Applications/XAMPP/xampfiles/bin
sudo su
./mysql -u root -p
MariaDB [(none)]> use mysql
Database changed
MariaDB [mysql]> update user set Password=password('meinRootPasswort') where user='root';
Query OK, 3 rows affected (0,01 sec)
Rows matched: 3 Changed: 3 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0,01 sec)
MariaDB [mysql]> quit
Bye
mySql Server neu starten.
Besseren User für XAMPP setzen[Bearbeiten]
- Standardmäßig ist das
deamon:deamon (Gruppe:Owner)
Die gibt es eigentlich nicht. Sinnvoll wäre vielleicht den eigenen User zu nehmen (meinuser:staff). Dann muss man im Entwicklungsprozess wenig Dateirechte anpassen, wenn php Dateien anlegt (natürlich nur auf dem lokalen Entwicklungsserver). Oder man richtet einen eigenen User dafür ein. Vorgehe siehe unten bei User
phpmyadmin[Bearbeiten]
- /Applications/XAMPP/phpMyAdmin für neues mySQL Passwort einrichten (xamppfiles/phpmyadmin/config.inc.php)
$cfg['Servers'][$i]['password'] = 'meinRootPasswort';
- Evtl. Template Fehler in phpmyadmin beseitigen
Auf das $cfg['TempDir'] (./tmp/) kann nicht zugegriffen werden. PhpMyAdmin kann keine Templates zwischenspeichern und ist daher langsam.
Dazu in
/xamppfiles/phpmyadmin
den Ordner tmp anlegen und die Rechte auf den Apache User legen (siehe oben). Oder zur Not für alle auf lesen und schreiben setzen.
Rechte im Webverzeichnis[Bearbeiten]
Wenn du die Gruppe und den Owner des Apache auf deinen User gesetzt hast, kann man einfach:
sudo chown -R meinUserName:staff /Applications/XAMPP/htdocs/
ausführen. Pfad muss natürlich zu deinem Webverzeichnis führen.
Update[Bearbeiten]
- Datenbanken sichern (phpmyadmin oder mysqldump)
- Neues XAMPP installieren
- Datenbanken zurückspielen (nur die Projekte, nicht mysql und phpmyadmin etc.)
- Einrichten wie oben
Welchen User und welche Gruppe nutzt XAMPP[Bearbeiten]
Dies kann man erfahren oder auch ändern in:
In /Applications/XAMPP/xamppfiles/etc/httpd.conf change
und ist in meinem Fall (7.1 und 7.2)
User daemon Group daemon
Ich hatte allerdings danach Probleme mit den Rechten von mysql. Da müsste man mal noch genau checken welche weiteren Anpassungen notwendig sind.
Welchen User und welche Gruppe nutzt der vorinstallierte Apache auf MacOs ?[Bearbeiten]
BE CAREFUL IF CHANGING THIS
The _www user/group is the default for OS X. If you want to run the server as root you'll need to change this to the appropriate user. For root:
User root Group wheel
oder
User [meinUserName] Group staff
Deinen Usernamen bekommst du im Terminal mit
whoami
staff ist die User Standardgruppe auf dem Mac
The plist that describes the Apache service to launchd is at /System/Library/LaunchDaemons/org.apache.httpd.plist -- OS X runs any launchd runs daemons described in this location as root so the server starts with sufficient privledges to change context to another user.
Once you've made the changes, restart Apache with:
sudo /usr/sbin/apachectl restart