Files
SWE/README.md
2025-01-08 09:52:33 +01:00

129 lines
5.0 KiB
Markdown

# Projektbeschreibung
Dieses Projekt ist eine PHP-Webseite, die Schülerinnen und Schülern ermöglicht, Hausaufgaben und Übungsblätter herunterzuladen. Die Webseite ist unabhängig von einem bestimmten Webserver und kann mit jedem Server konfiguriert werden, der PHP unterstützt.
## Anforderungen
Um die Webseite auszuführen, benötigen Sie:
- **Webserver**: Jeder Webserver, der PHP unterstützt (z. B. Apache, Nginx, IIS).
- **PHP**: Version 7.4 oder höher.
- **Dateisystem**: Schreibzugriff auf das Verzeichnis, in dem die Webseite gehostet wird.
## Einrichtung
### 1. Projektdateien bereitstellen
- Extrahieren Sie die Projektdateien aus dem Ordner `webseite` aus dem bereitgestellten Archiv.
- Platzieren Sie die Dateien in einem Verzeichnis, das der Webserver bedienen kann.
### 2. PHP aktivieren
- Aktivieren Sie die PHP-Extension "mbstring" (extension=mbstring) in Ihrer verwendeten php.ini Konfigurationsdatei
#### a) Apache
- Stellen Sie sicher, dass das Modul `mod_php` aktiviert ist.
- Überprüfen Sie die Apache-Konfigurationsdatei (z. B. `httpd.conf`), und stellen Sie sicher, dass PHP korrekt eingebunden ist:
```apache
LoadModule php_module modules/libphp.so
AddType application/x-httpd-php .php
```
#### b) Nginx
- Stellen Sie sicher, dass PHP-FPM installiert und aktiviert ist.
- Fügen Sie in der Nginx-Konfigurationsdatei (`nginx.conf`) einen Block für PHP-Dateien hinzu:
```nginx
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
```
#### c) IIS (Windows)
- Installieren Sie PHP mit dem Microsoft Web Platform Installer.
- Stellen Sie sicher, dass die Handlerzuordnung für `.php`-Dateien auf den PHP-Interpreter verweist.
### 3. Webseite konfigurieren
#### Projektdateien ins Webserver-Verzeichnis kopieren:
- Platzieren Sie den gesamten Inhalt des Ordners `webseite` mit dem Quellcode der Webseite in das Hauptverzeichnis Ihres Webservers:
- **Apache**: Kopieren Sie die Dateien in das `htdocs`-Verzeichnis (z. B. `C:\xampp\htdocs\mein-projekt`).
- **Nginx**: Platzieren Sie die Dateien im Root-Verzeichnis, das in Ihrer Konfiguration definiert ist (z. B. `/usr/share/nginx/html`).
- **IIS**: Legen Sie die Dateien in das Verzeichnis der zugehörigen IIS-Site (z. B. `C:\inetpub\wwwroot`).
#### Caching aktivieren (empfohlen):
- **Apache**: Aktivieren Sie das Modul `mod_expires` und fügen Sie folgende Regeln zur `.htaccess`-Datei im Projektordner hinzu:
```apache
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 1 hour"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
</IfModule>
```
- **Nginx**: Fügen Sie der Nginx-Konfigurationsdatei folgendes hinzu:
```nginx
location ~* \.(jpg|jpeg|png|gif|css|js|ico|html)$ {
expires 7d;
add_header Cache-Control "public, max-age=604800";
}
```
### 4. Berechtigungen setzen
- Stellen Sie sicher, dass der Webserver die erforderlichen Berechtigungen für das Verzeichnis hat, in dem die Webseite liegt:
**Linux**:
```bash
chmod -R 755 /pfad/zum/webverzeichnis
chown -R www-data:www-data /pfad/zum/webverzeichnis
```
**Windows**:
- Überprüfen Sie die Sicherheitseinstellungen des Ordners und geben Sie dem Benutzerkonto des Webservers (z. B. `IUSR`) Lese- und Ausführungsrechte.
### 5. Webseite aufrufen
- **Domain oder IP-Adresse öffnen**:
- Rufen Sie die Webseite mit dem zugewiesenen Domainnamen oder der IP-Adresse auf. Beispiel:
- `http://localhost`
- `http://ihre-domain.de`
- **Indexseite testen**:
- Die Startseite der Webseite sollte automatisch geladen werden (z. B. `index.php`).
## Fehlerbehebung
- **500 Internal Server Error**:
- Überprüfen Sie die PHP-Fehlerprotokolle, um die genaue Ursache zu finden.
- **404 Not Found**:
- Stellen Sie sicher, dass die Dateien im richtigen Verzeichnis liegen und die Datei `index.php` vorhanden ist.
- **PHP-Funktionalität überprüfen**:
- Erstellen Sie eine Datei namens `info.php` mit folgendem Inhalt:
```php
<?php
phpinfo();
?>
```
- Rufen Sie die Datei im Browser auf, um zu überprüfen, ob PHP korrekt funktioniert.
## Zusätzliche Hinweise
- Diese Anleitung ist bewusst allgemein gehalten, um mit verschiedenen Serverumgebungen kompatibel zu sein.
- Für die Bereitstellung in einer Produktionsumgebung sollten zusätzliche Sicherheitsmaßnahmen getroffen werden (z. B. HTTPS, Rechteverwaltung, Zugriffsbeschränkungen).
- Wir empfehlen, relativ aggressives Caching zu aktivieren, um unnötige Last durch ausgeführtes PHP zu verhindern.
## Kontakt
Falls Sie Fragen oder Probleme haben, wenden Sie sich bitte an das Entwicklerteam.