129 lines
5.0 KiB
Markdown
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. |