Lokale Entwicklungsumgebung am Mac einrichten (HowTo): Unterschied zwischen den Versionen
| (11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 16: | Zeile 16: | ||
TBD via Link zu anderem HowTo | TBD via Link zu anderem HowTo | ||
== Homebrew installieren (Prozess auslagern) == | |||
* zunächst checken, ob Homebrew ggf. schon installiert ist | |||
brew -v | |||
* Homebrew updaten, wenn installiert | |||
brew update | |||
* Homebrew installieren --> https://brew.sh/ | |||
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/sebastian.kalms/.zprofile | |||
eval "$(/opt/homebrew/bin/brew shellenv)" | |||
= Arbeitsschritte (Prozess) = | = Arbeitsschritte (Prozess) = | ||
| Zeile 31: | Zeile 44: | ||
== Schritt 2: Apache konfigurieren == | == Schritt 2: Apache konfigurieren == | ||
=== Apache installieren (ggf.) === | |||
brew install httpd | |||
=== Apache starten und testen === | === Apache starten und testen === | ||
| Zeile 148: | Zeile 165: | ||
sudo apachectl restart | sudo apachectl restart | ||
== | === PHP testen === | ||
PHP-Infodatei anlegen | PHP-Infodatei anlegen | ||
| Zeile 158: | Zeile 175: | ||
* http://localhost/projektordner/ --> Projektordner muss vorher angelegt werden, z. B. "sehanka_de" | * http://localhost/projektordner/ --> Projektordner muss vorher angelegt werden, z. B. "sehanka_de" | ||
== Schritt | === PHP-Versionen switchen === | ||
auf Version 8.2 umstellen | |||
<pre> | |||
brew unlink php && brew link --overwrite --force php@8.2 | |||
</pre> | |||
Version prüfen | |||
<pre> | |||
php -v | |||
</pre> | |||
== Schritt 4: MYSQL oder MariaDB installieren == | |||
=== MariaDB installieren === | |||
... | |||
=== MYSQL installieren === | |||
==== Installieren ==== | |||
* MySQL ist standardmäßig kein Bestandteil von macOS | * MySQL ist standardmäßig kein Bestandteil von macOS | ||
| Zeile 174: | Zeile 211: | ||
* das GUI von MySQL ist dann über die Mac-Systemeinstellungen erreichbar | * das GUI von MySQL ist dann über die Mac-Systemeinstellungen erreichbar | ||
== | ==== root-Passwort ändern ==== | ||
* sicher stellen, dass MySQL-Server läuft (siehe: Mac-Systemeinstellungen) | * sicher stellen, dass MySQL-Server läuft (siehe: Mac-Systemeinstellungen) | ||
| Zeile 188: | Zeile 225: | ||
sudo /usr/local/mysql/support-files/mysql.server start | sudo /usr/local/mysql/support-files/mysql.server start | ||
== Schritt | == Schritt 5: PhpMyAdmin installieren == | ||
=== via Homebrew === | |||
https://formulae.brew.sh/formula/phpmyadmin | |||
'''Installieren via Terminal''' | |||
<pre> | |||
brew install phpmyadmin | |||
</pre> | |||
'''Apache Configuration aufrufen''' | |||
<pre> | |||
code /opt/homebrew/etc/httpd/httpd.conf | |||
</pre> | |||
'''httpd.conf ergänzen''' | |||
<pre> | |||
Alias /phpmyadmin /opt/homebrew/share/phpmyadmin | |||
<Directory /opt/homebrew/share/phpmyadmin/> | |||
Options Indexes FollowSymLinks MultiViews | |||
AllowOverride All | |||
<IfModule mod_authz_core.c> | |||
Require all granted | |||
</IfModule> | |||
<IfModule !mod_authz_core.c> | |||
Order allow,deny | |||
Allow from all | |||
</IfModule> | |||
</Directory> | |||
</pre> | |||
'''Zugriff testen''' --> http://localhost/phpmyadmin | |||
'''PhpMyAdmin Configuration ggf. anpassen''' | |||
https://docs.phpmyadmin.net/en/latest/config.html | |||
<pre> | |||
code /opt/homebrew/etc/phpmyadmin.config.inc.php | |||
</pre> | |||
'''Apache via homebrew neu starten''' | |||
<pre> | |||
brew services stop httpd | |||
brew services start httpd | |||
</pre> | |||
=== via Download === | |||
* phpMyAdmin unter http://www.phpmyadmin.net/home_page/downloads.php downloaden (ZIP Datei in der derzeit aktuellen Version) | * phpMyAdmin unter http://www.phpmyadmin.net/home_page/downloads.php downloaden (ZIP Datei in der derzeit aktuellen Version) | ||
| Zeile 205: | Zeile 288: | ||
* die heruntergeladene config.inc.php Datei im Verzeichnis "phpMyAdmin" speichern | * die heruntergeladene config.inc.php Datei im Verzeichnis "phpMyAdmin" speichern | ||
* phpMyAdmin kann nun über http://localhost/phpmyadmin/ erreichen und MySQL Datenbanken verwaltet werden | * phpMyAdmin kann nun über http://localhost/phpmyadmin/ erreichen und MySQL Datenbanken verwaltet werden | ||
== Schritt y: Node.js mit NPM installieren == | == Schritt y: Node.js mit NPM installieren == | ||
| Zeile 268: | Zeile 338: | ||
= Quellen = | = Quellen = | ||
Apache, PHP, mySQL und PhpMyAdmin | |||
* | * iOSX Mojave: https://coolestguidesontheplanet.com/install-apache-mysql-php-on-macos-mojave-10-14/* | ||
* | * iOSX Sonoma: https://getgrav.org/blog/macos-sonoma-apache-multiple-php-versions | ||
lokalen Webserver einrichten | lokalen Webserver einrichten | ||
* https://www.paass.net/lokalen-webserver-mit-php-unter-macos-x-einrichten | * https://www.paass.net/lokalen-webserver-mit-php-unter-macos-x-einrichten | ||
Aktuelle Version vom 26. November 2023, 10:57 Uhr
Allgemeines[Bearbeiten]
Folgende einzelnen Bestandteile werden für die lokale Entwicklungsumgebung (u. a. bei WordPress) benötigt:
- Apache (Webserver)
- PHP (Programmiersprache)
- MySQL (Datenbank)
- phpMyAdmin (Datenbankverwaltungssystem)
Jede Mac Version hat einen vorinstallierten Apache-Server (unter macOS Sierra Version 2.4.27) und PHP (unter macOS Sierra High Version 7.1.8). MySQL und phpMyAdmin müssen separat installiert werden.
Zusätzlich kann es notwendig sein ruby, rails und node.js intsalliert zu haben, damit der bestimmte Teilprozesse der Entwicklung funktionieren:
- node.js, um einen Sass Compiler in phpStorm zu nutzen
- ruby und rvm (Ruby Version Manager), um Bundler für automatisierte Prozesse zu nutzen (Z.B.: File Watcher, Complier, ...)
Vorangegangene(r) Prozess(e)[Bearbeiten]
TBD via Link zu anderem HowTo
Homebrew installieren (Prozess auslagern)[Bearbeiten]
- zunächst checken, ob Homebrew ggf. schon installiert ist
brew -v
- Homebrew updaten, wenn installiert
brew update
- Homebrew installieren --> https://brew.sh/
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/sebastian.kalms/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
Arbeitsschritte (Prozess)[Bearbeiten]
Schritt 1: Systeme bzgl. Kompatibilität checken[Bearbeiten]
- Betriebssystem: z.B. macOS Mojave Version 10.14.6
- Apache Webserver: z.B. Apache/2.4.34 (Unix) --> im Terminal Version abfragen
httpd -v
- Benutzername des Benutzerkontos herausfinden: z. B. sebastian.kalms
dscl . list /Users | grep -v '_'
Schritt 2: Apache konfigurieren[Bearbeiten]
Apache installieren (ggf.)[Bearbeiten]
brew install httpd
Apache starten und testen[Bearbeiten]
- im Terminal Apache starten
sudo apachectl start
- Testen ob Webserver funktioniert: http://localhost im Browser eintragen und es sollte “It Works!”-Text angezeigt werden.
System-Ordner anlegen[Bearbeiten]
- im Benutzerordern, z.B. sebastian.kalms, den Ordner "Sites" anlegen
- Funktion ist das gleiche wie "public_html" und "htdocs"
Konfigurationsdatei für Benutzer anlegen und anpassen[Bearbeiten]
- (“username.conf”) unter /etc/apache2/users/ anlegen
- im Terminal zum Ordner navigieren
cd /etc/apache2/users
- im Terminal Konfigurationsdatei (username.conf) anlegen
nano sebastian.kalms.conf
- Benutzer-Rechte mit einem der beiden Befehle anpassen
sudo chmod 644 sebastian.kalms.conf sudo chmod 777 sebastian.kalms.conf
- Code in Datei eintragen
<Directory "/Users/sebastian.kalms/Sites/"> AllowOverride All Options Indexes MultiViews FollowSymLinks Require all granted </Directory>
Konfigurationsdatei für Apache anpassen[Bearbeiten]
Konfigurationsdatei-Datei aufrufen
sudo nano /etc/apache2/httpd.conf
notwendige Module aktivieren (Raute vor folgenden Einträgen entfernen)
- LoadModule authz_core_module libexec/apache2/mod_authz_core.so
- LoadModule authz_host_module libexec/apache2/mod_authz_host.so
- LoadModule userdir_module libexec/apache2/mod_userdir.so
- LoadModule include_module libexec/apache2/mod_include.so
- LoadModule rewrite_module libexec/apache2/mod_rewrite.so
- LoadModule php7_module libexec/apache2/libphp7.so
- Include /private/etc/apache2/extra/httpd-userdir.conf
DocumentRoot anpassen
- damit Ordner automatisch verwendet wird
- nach DocumentRoot suchen und
DocumentRoot "/Library/WebServer/Documents" <Directory "/Library/WebServer/Documents">
- wie folgt anpassen
DocumentRoot "/Users/sebastian.kalms/Sites" <Directory "/Users/sebastian.kalms/Sites">
Apache Benutzer ändern
- damit es keine Probleme mit Berechtigungen gibt, kann man den Apache Webserver unter der eigenen User-Kennung laufen lassen
- damit laufen auch die PHP Skripte mit der eigenen Kennung
- auf einer lokalen Maschine, die von einer Person verwendet wird, ist das kein großes Problem
- nach _www suchen
User _www Group _www
- wie folgt anpassen
User sebastian.kalms Group staff
Konfigurationsdatei für Benutzerverzeichnis anpassen[Bearbeiten]
Konfigurationsdatei-Datei aufrufen
sudo nano /etc/apache2/extra/httpd-userdir.conf
notwendige Funktion aktivieren (Raute vor folgenden Einträgen entfernen)
- Include /private/etc/apache2/users/*.conf
Apache neu starten und Benutzerverzeichnis testen[Bearbeiten]
im Terminal neu starten
sudo apachectl restart
im Browser Benutzerverzeichnis testen
- http://localhost/~sebastian.kalms/ aufrufen
URL Rewrites zulassen[Bearbeiten]
- good idea to allow any .htaccess files
im Terminal aufrufen
sudo nano /etc/apache2/httpd.conf
in nano
- "AllowOverride controls what directives may be placed in .htaccess files." suchen und darunter "AllowOverride none" zu "AllowOverride All" ändern
- folgendes Modul aktivieren
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Schritt 3: PHP installieren, aktivieren und einrichten[Bearbeiten]
ggf. erst installieren[Bearbeiten]
- PHP via Homebrew installieren
brew install php
aktivieren[Bearbeiten]
im Terminal httpd.conf aufrufen
sudo nano /etc/apache2/httpd.conf
PHP-Modul hinzufügen
LoadModule php7_module /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so
oder PHP-Modul aktivieren (wenn schon im Mac-Lieferumfang installiert)
LoadModule php7_module libexec/apache2/libphp7.so
Apache neu starten
sudo apachectl restart
PHP testen[Bearbeiten]
PHP-Infodatei anlegen
- Name "phpinfo.php"
- Inhalt "<?php phpinfo(); ?>"
Testen
- http://localhost/~sebastian.kalms/phpinfo.php --> php-Info erscheint
- http://localhost/projektordner/ --> Projektordner muss vorher angelegt werden, z. B. "sehanka_de"
PHP-Versionen switchen[Bearbeiten]
auf Version 8.2 umstellen
brew unlink php && brew link --overwrite --force php@8.2
Version prüfen
php -v
Schritt 4: MYSQL oder MariaDB installieren[Bearbeiten]
MariaDB installieren[Bearbeiten]
...
MYSQL installieren[Bearbeiten]
Installieren[Bearbeiten]
- MySQL ist standardmäßig kein Bestandteil von macOS
- unter https://dev.mysql.com/downloads/mysql/ heruntergeladen
- Pakete
- mein MacBook: Mac OS X 10.12 (x86, 64-bit), DMG Archive
- mein iMac (Mojave): macOS 10.13 (x86, 64-bit), DMG Archive
- anmelden nicht nötig --> "No thanks, just start my download" klicken
- Alte Version:
- nach erfolgreicher Installation erscheint ein Dialog mit einem temporären MySQL root Passwort
- am besten einmal kopieren, da wir es im nächsten Schritt direkt benötigt wird
- Neue Version
- bei Konfiguration "Use Legacy Password Encryption" auswählen
- Passwort für root User vergeben
- das GUI von MySQL ist dann über die Mac-Systemeinstellungen erreichbar
root-Passwort ändern[Bearbeiten]
- sicher stellen, dass MySQL-Server läuft (siehe: Mac-Systemeinstellungen)
- Terminal folgenden Befehl eingeben:
sudo /usr/local/mysql/bin/mysql -u root -p
- zuerst Passwort vom Mac (Login) eingeben
- anschließend (bei “Enter Password”) das temporäre Passwort aus der MySQL Installation eingeben
- Eingabeaufforderung im Terminal ändert sich in
mysql>
- folgenden Befehl eingeben und ‚MeinNeuesPasswort‘ ersetzen
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MeinNeuesPasswort';
- danach den MySQL Server wieder neu starten
sudo /usr/local/mysql/support-files/mysql.server start
Schritt 5: PhpMyAdmin installieren[Bearbeiten]
via Homebrew[Bearbeiten]
https://formulae.brew.sh/formula/phpmyadmin
Installieren via Terminal
brew install phpmyadmin
Apache Configuration aufrufen
code /opt/homebrew/etc/httpd/httpd.conf
httpd.conf ergänzen
Alias /phpmyadmin /opt/homebrew/share/phpmyadmin
<Directory /opt/homebrew/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
Zugriff testen --> http://localhost/phpmyadmin
PhpMyAdmin Configuration ggf. anpassen https://docs.phpmyadmin.net/en/latest/config.html
code /opt/homebrew/etc/phpmyadmin.config.inc.php
Apache via homebrew neu starten
brew services stop httpd brew services start httpd
via Download[Bearbeiten]
- phpMyAdmin unter http://www.phpmyadmin.net/home_page/downloads.php downloaden (ZIP Datei in der derzeit aktuellen Version)
- Datei entpacken, den Verzeichnisnamen auf phpMyAdmin kürzen und in das website Verzeichnis kopieren
- via Terminal Befehle ausführen
sudo mkdir /var/mysql sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
- via Terminal in den Ordner phpmyadmin wechseln und config Verzeichnis erstellen
mkdir config
- die Berechtigungen ändern
chmod o+w config
- folgende Seite im Browser öffnen: http://localhost/phpmyadmin/setup/
- auf "Neuer Server" klicken
- auf Tab "Authentifizierung" klicken und gib das root Passwort eingeben und "Übernehmen"
- automatische Weiterleitung zum vorherigen Bildschirm und dort Download-Button klicken
- die heruntergeladene config.inc.php Datei im Verzeichnis "phpMyAdmin" speichern
- phpMyAdmin kann nun über http://localhost/phpmyadmin/ erreichen und MySQL Datenbanken verwaltet werden
Schritt y: Node.js mit NPM installieren[Bearbeiten]
- zunächst checken, ob Node.js ggf. schon installiert ist
node -v
- wenn nötig, installieren (NPM wird mit Node installiert)
brew install node
- Node testen (Versionsnummer müsste ausgegeben werden)
node -v
- NPM testen (Versionsnummer müsste ausgegeben werden)
npm -v
- ab und zu mal aktualisieren
brew update brew upgrade node
Schritt y: RVM installieren[Bearbeiten]
https://nrogap.medium.com/install-rvm-in-macos-step-by-step-d3b3c236953b
Schritt y: Ruby installieren[Bearbeiten]
https://nrogap.medium.com/install-rvm-in-macos-step-by-step-d3b3c236953b
Schritt y: ruby mit Homebrew installieren[Bearbeiten]
brew install ruby
FAQ[Bearbeiten]
Frage 1[Bearbeiten]
TBD
Troubleshooting[Bearbeiten]
Php installieren[Bearbeiten]
- https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions
- ACHTUNG: Homebrew-Pfade teilweise anpassen!
Nachfolgende(r) Prozess(e)[Bearbeiten]
TBD via Verlinkung zu anderem(n) HowTo(s)
Quellen[Bearbeiten]
Apache, PHP, mySQL und PhpMyAdmin
- iOSX Mojave: https://coolestguidesontheplanet.com/install-apache-mysql-php-on-macos-mojave-10-14/*
- iOSX Sonoma: https://getgrav.org/blog/macos-sonoma-apache-multiple-php-versions
lokalen Webserver einrichten
- https://www.paass.net/lokalen-webserver-mit-php-unter-macos-x-einrichten
- https://die25stestunde.de/wordpress-lokale-entwicklungsumgebung-auf-macos-sierra-high-einrichten/
phpmyadmin
Homebrew
Node.js