Lokale Entwicklungsumgebung am Mac einrichten (HowTo): Unterschied zwischen den Versionen

Aus wiki.sehanka.de
Zur Navigation springen Zur Suche springen
 
(20 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 127: Zeile 144:
  LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  LoadModule rewrite_module libexec/apache2/mod_rewrite.so


== Schritt 3: PHP aktivieren und konfigurieren ==
== Schritt 3: PHP installieren, aktivieren und einrichten ==
 
=== ggf. erst installieren ===
 
* PHP via Homebrew installieren
 
brew install php
 
=== aktivieren ===


im Terminal httpd.conf aufrufen
im Terminal httpd.conf aufrufen
  sudo nano /etc/apache2/httpd.conf
  sudo nano /etc/apache2/httpd.conf


PHP-Modul aktivieren
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
  LoadModule php7_module libexec/apache2/libphp7.so


Apache neu starten
Apache neu starten
  sudo apachectl restart
  sudo apachectl restart
=== PHP testen ===


PHP-Infodatei anlegen
PHP-Infodatei anlegen
Zeile 146: 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 x: MYSQL installieren ==
=== 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 162: Zeile 211:
* das GUI von MySQL ist dann über die Mac-Systemeinstellungen erreichbar
* das GUI von MySQL ist dann über die Mac-Systemeinstellungen erreichbar


== Schritt x: MYSQL root-Passwort ändern ==
==== root-Passwort ändern ====


* sicher stellen, dass MySQL-Server läuft (siehe: Mac-Systemeinstellungen)
* sicher stellen, dass MySQL-Server läuft (siehe: Mac-Systemeinstellungen)
Zeile 176: Zeile 225:
  sudo /usr/local/mysql/support-files/mysql.server start
  sudo /usr/local/mysql/support-files/mysql.server start


== Schritt x: phpMyAdmin installieren ==
== 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 193: 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: Homebrew installieren ==
* zunächst checken, ob Homebrew ggf. schon installiert ist
brew -v
* Homebrew updaten, wenn installiert
brew update
* Homebrew installieren --> https://brew.sh/


== Schritt y: Node.js mit NPM installieren ==
== Schritt y: Node.js mit NPM installieren ==
Zeile 242: Zeile 327:
= Troubleshooting =
= Troubleshooting =


== Lösung 1 ==
== Php installieren ==


TBD
* https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions
* ACHTUNG: Homebrew-Pfade teilweise anpassen!


= Nachfolgende(r) Prozess(e) =
= Nachfolgende(r) Prozess(e) =
Zeile 252: Zeile 338:
= Quellen =
= Quellen =


apache, PHP, mySQL und phpmyadmin
Apache, PHP, mySQL und PhpMyAdmin
* (mein) MacBook: https://coolestguidesontheplanet.com/install-apache-mysql-php-and-phpmyadmin-on-macos-high-sierra-10-13/
* iOSX Mojave: https://coolestguidesontheplanet.com/install-apache-mysql-php-on-macos-mojave-10-14/*
* (mein) iMac: 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
   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

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

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]

Nachfolgende(r) Prozess(e)[Bearbeiten]

TBD via Verlinkung zu anderem(n) HowTo(s)

Quellen[Bearbeiten]

Apache, PHP, mySQL und PhpMyAdmin

lokalen Webserver einrichten

phpmyadmin

Homebrew

Node.js