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

Aus wiki.sehanka.de
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 175: 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 4: PhpMyAdmin installieren ==
=== PHP-Versionen switchen ===


=== via Homebrew ===
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 ===


== Schritt x: MYSQL installieren ==
==== Installieren ====


* MySQL ist standardmäßig kein Bestandteil von macOS
* MySQL ist standardmäßig kein Bestandteil von macOS
Zeile 195: 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 209: 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 276: 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