====== Nextcloud Dependencies installieren ====== Nextcloud benötigt einige Softwarepakete, die auf dem Server installiert sein müssen, damit Nextcloud dort ausgeführt werden kann. Diese installieren wir jetzt. ==== PHP & Apache ==== Eine wesentliche Abhängigkeit ist die serverseitige Programmiersprache PHP sowie ein Webserver - wir verwenden apache2. PHP Pakete kommen zwar bei debian mit, aber nicht die aktuellsten, darum aktivieren wir eine weitere Softwarequelle, um das aktuelle PHP installieren zu können. Melde dich per SSH am NUC an und führe die folgenden Befehle aus: sudo apt update sudo apt full-upgrade sudo apt install -y apt-transport-https lsb-release ca-certificates wget sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list sudo apt update sudo apt install -y php8.3 sudo apt install -y php8.3-mysql php8.3-zip php8.3-dom php8.3-mbstring php8.3-gd php8.3-curl sudo apt install apache2 Rufe an deinem Laptop jetzt in einem Browser die Adresse ''http://172.21.21.x'' deines NUC auf - das sollte ungefähr so aussehen: {{ :faecher:informatik:pt2024:dependencies:apache.png |}} Um zu testen, ob php funktioniert, kannst du eine Datei ''test.php'' im Verzeichnis ''/var/www/html/'' anlegen nano /var/www/html/test.php mit dem Inhalt Öffne dann die Seite ''http://172.21.21.x/test.php'', das Ergebnis sollte ungefähr so aussehen: {{ :faecher:informatik:pt2024:dependencies:php.png |}} Glückwunsch, du hast einen Webserver mit PHP! ==== Datenbankserver mariadb installieren und absichern ==== Zunächst installieren wir die nötigen Software-Pakete: sudo apt install mariadb-server MariaDB absichern: Führe den Befehl ''sudo mysql_secure_installation'' aus uns antworte auf die Fragen wie folgt (das Passwort ist zunächst leer, bei der ersten Frage einfach Enter drücken): Enter current password for root (enter for none): OK, successfully used password, moving on... Switch to unix_socket authentication [Y/n] y Change the root password? [Y/n] y New password: Re-enter new password: Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y ==== Datenbank & Datenbankbenutzer für Nextcloud anlegen ==== Führe den Befehl ''sudo mysql -u root -h localhost'' aus. Du gelangst zu einer mariadb-Kommandozeile: {{ :faecher:informatik:pt2024:dependencies:mariadb.png |}} Führe auf der mariadb Kommandozeile die folgenden Befehle aus, ersetze dabei GEHEIMESPASSWORT durch ein langes Passwort, dass du dir notierst, wir benötigen das später wieder: create database nextcloud; CREATE USER 'ncdbuser'@'localhost' IDENTIFIED BY 'GEHEIMESPASSWORT'; grant usage on *.* to ncdbuser@localhost identified by 'GEHEIMESPASSWORT'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncdbuser'@'localhost' IDENTIFIED BY 'GEHEIMESPASSWORT'; flush privileges; exit;