===== Voraussetzungen ===== - Debian-Server mit Root-Zugriff oder einem Benutzer mit `sudo`-Rechten. - Internetverbindung für das Herunterladen der Pakete. ==== Schritt-für-Schritt-Anleitung ==== === 1. System aktualisieren === Aktualisiere zunächst die Paketlisten und installiere verfügbare Updates: $> sudo apt update sudo apt upgrade -y === 2. Apache2 Webserver installieren === Installiere den Apache2-Webserver: $> sudo apt install apache2 -y Überprüfung: - Öffne einen Webbrowser und navigiere zu `http://deine_server_ip`. Du solltest die Apache2-Standardseite sehen. === 3. PHP und benötigte Module installieren === Installiere PHP sowie die Module für MariaDB und SQLite3: $> sudo apt install php libapache2-mod-php php-mysql php-sqlite3 -y und das Apache2-Modul aktivieren $> sudo a2enmod php8.2 $> sudo systemctl restart apache2 Überprüfung: - Erstelle eine PHP-Info-Datei: $> echo "" | sudo tee /var/www/html/info.php - Rufe `http://deine_server_ip/info.php` im Browser auf. Die PHP-Informationsseite sollte angezeigt werden. Wichtig: Lösche die `info.php`-Datei nach der Überprüfung aus Sicherheitsgründen: $> sudo rm /var/www/html/info.php === 4. MariaDB installieren === Installiere den MariaDB-Datenbankserver: $> sudo apt install mariadb-server mariadb-client -y Sicherheitseinrichtung: Führe das Sicherheitskonfigurationsskript aus: $> sudo mysql_secure_installation Während der Einrichtung: - Setze ein root-Passwort. - Entferne anonyme Benutzer. - Verbiete den Root-Login über das Netzwerk. - Entferne die Testdatenbank. - Lade die Berechtigungstabellen neu. === 5. SQLite3 installieren === Falls nicht bereits durch PHP installiert, installiere SQLite3: $> sudo apt install sqlite3 -y === 6. Apache2 neu starten === Starte Apache2 neu, um die Änderungen zu übernehmen: $> sudo systemctl restart apache2 === 7. Firewall konfigurieren (optional) === Erlaube HTTP- und HTTPS-Verkehr, wenn eine Firewall aktiv ist: $> sudo ufw allow in „Apache Full“ === 8. Zusätzliche PHP-Module installieren (optional) === Je nach Bedarf können weitere PHP-Module installiert werden: $> sudo apt install php-curl php-gd php-zip php-xml php-mbstring -y Starte Apache2 nach der Installation neu: $> sudo systemctl restart apache2 ==== (Optional) Web-Verzeichnis als Unterverzeichnis eines vorhandenen Nutzers ==== Das gewünschte Verzeichnis anlegen und Rechte zuteilen: sudo mkdir /home/user/www sudo chown -R www-data:www-data /home/user/www sudo chmod -R 755 /home/user/www Apache-Konfiguration überprüfen: sudo nano /etc/apache2/sites-available/000-default.conf und folgenden Inhalt dort einstellen: DocumentRoot /home/user/www Options Indexes FollowSymLinks AllowOverride All Require all granted Danach Apache2 neu laden sudo systemctl restart apache2 Überprüfen der Benutzerberechtigungen im home-Verzeichnis sudo chmod 755 /home/su0359 Jetzt sollte die Seite aufrufbar sein.