Lokale Entwicklungsumgebung am Mac einrichten (HowTo): Unterschied zwischen den Versionen
| Zeile 213: | Zeile 213: | ||
* 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 == | ||
Version vom 26. November 2023, 10:31 Uhr
Allgemeines
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)
TBD via Link zu anderem HowTo
Arbeitsschritte (Prozess)
Schritt 1: Systeme bzgl. Kompatibilität checken
- 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
Apache installieren (ggf.)
brew install httpd
Apache starten und testen
- 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
- 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
- (“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
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
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
im Terminal neu starten
sudo apachectl restart
im Browser Benutzerverzeichnis testen
- http://localhost/~sebastian.kalms/ aufrufen
URL Rewrites zulassen
- 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
ggf. erst installieren
- PHP via Homebrew installieren
brew install php
aktivieren
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
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"
Schritt 4: PhpMyAdmin installieren
via Homebrew
Schritt x: MYSQL installieren
- 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
Schritt x: MYSQL root-Passwort ändern
- 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 x: phpMyAdmin installieren
- 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
- 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
https://nrogap.medium.com/install-rvm-in-macos-step-by-step-d3b3c236953b
Schritt y: Ruby installieren
https://nrogap.medium.com/install-rvm-in-macos-step-by-step-d3b3c236953b
Schritt y: ruby mit Homebrew installieren
brew install ruby
FAQ
Frage 1
TBD
Troubleshooting
Php installieren
- https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions
- ACHTUNG: Homebrew-Pfade teilweise anpassen!
Nachfolgende(r) Prozess(e)
TBD via Verlinkung zu anderem(n) HowTo(s)
Quellen
apache, PHP, mySQL und phpmyadmin
- (mein) MacBook: https://coolestguidesontheplanet.com/install-apache-mysql-php-and-phpmyadmin-on-macos-high-sierra-10-13/
- (mein) iMac: https://coolestguidesontheplanet.com/install-apache-mysql-php-on-macos-mojave-10-14/*
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