2.3 KiB
2.3 KiB
Deployment für klassischen Webspace
Zielbild
- React-Frontend als statisches Build
- PHP-API unter
/api - MySQL-Datenbank beim Hoster
Erwartete Zielstruktur auf dem Webspace
public_html/
├── index.html
├── static/
├── favicon.ico
├── manifest.json
├── robots.txt
├── .htaccess
└── api/
├── .htaccess
├── config.php
├── config.example.php
├── db.php
├── helpers.php
├── events.php
├── login.php
├── logout.php
├── save-event.php
├── update-event.php
├── delete-event.php
└── schema.sql
Build lokal erzeugen
cd /home/nepharius/git.nepharius.at/esv-bludenz-php
npm install
npm run build
Lokaler PHP-Testserver
Für Offline-Debugging ist jetzt ein kleiner Startscript dabei:
cd /home/nepharius/git.nepharius.at/esv-bludenz-php
./start-php-test.sh
Dann läuft lokal ein PHP-Testserver auf:
http://127.0.0.1:8080
API-Beispiele lokal:
http://127.0.0.1:8080/api/events.php?calendar=dittes
Dann hochladen
1. Frontend-Build hochladen
Inhalt aus build/ nach public_html/ kopieren.
2. PHP-API hochladen
Ordner api/ nach public_html/api/ kopieren.
3. MySQL-Datenbank vorbereiten
- MySQL-Datenbank beim Hoster anlegen
- Zugangsdaten in
api/config.phpeintragen - optional
api/config.example.phpals Vorlage verwenden
4. Tabellen anlegen
api/schema.sqlüber phpMyAdmin oder das DB-Tool des Hosters importieren- die Anwendung legt die Tabellen aktuell nicht automatisch an
Voraussetzungen beim Hoster
Es muss vorhanden sein:
- PHP
- PDO_MYSQL
- MySQL-Datenbank
- Sessions aktiviert
.htaccess/ mod_rewrite idealerweise verfügbar
Hinweis
Für den echten Upload ist der Ordner Upload/ im Repo die praktischste Quelle.
Dort liegt bereits die zusammengestellte Upload-Struktur für den Zielhost.
Schnelltest
Nach dem Upload testen:
Kalender laden
https://deine-domain.tld/api/events.php?calendar=dittes
Erwartung
JSON-Antwort mit:
calendareventsisAdmin
Zugangsdaten
In api/config.php müssen diese Werte gesetzt werden:
DB_HOSTDB_PORTDB_NAMEDB_USERDB_PASSWORD
Danach sollte dieselbe React-Oberfläche mit der PHP-MySQL-API laufen.