OwnCloud: Unterschied zwischen den Versionen

Aus Raspberry Pi Workshop
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 8: Zeile 8:


=== Installation mit Bash-Skript ===
=== Installation mit Bash-Skript ===
[[Datei:scribtowncloud.png|links|thumb|400px|Linux Terminal beim Ausführen des Script]]
<br clear="all" />


Die Installation erfolgte automatisiert mit folgendem Bash-Skript, das von ChatGPT mitentwickelt wurde:
Die Installation erfolgte automatisiert mit folgendem Bash-Skript, das von ChatGPT mitentwickelt wurde:
Zeile 15: Zeile 18:
set -e
set -e


### === KONFIGURATION ===
# === KONFIGURATION ===
DB_NAME="owncloud"
DB_NAME="owncloud"
DB_USER="ownclouduser"
DB_USER="ownclouduser"
Zeile 22: Zeile 25:
IP_ADDR="$(hostname -I | awk '{print $1}')"
IP_ADDR="$(hostname -I | awk '{print $1}')"


echo "[1/7] System aktualisieren..."
echo "[1/10] PHP 8.x entfernen (falls vorhanden)..."
apt update && apt upgrade -y
sudo apt remove -y 'php*' || true
sudo apt autoremove -y || true
 
echo "[2/10] Repository & GPG-Key für PHP 7.4 hinzufügen..."
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 wget curl
sudo mkdir -p /etc/apt/keyrings
wget -qO - https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/php.gpg
echo "deb [signed-by=/etc/apt/keyrings/php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
 
echo "[3/10] PHP 7.4 + Apache + Module installieren..."
sudo apt install -y apache2 mariadb-server unzip \
php7.4 php7.4-cli php7.4-common php7.4-mysql php7.4-xml php7.4-mbstring \
php7.4-curl php7.4-zip php7.4-gd php7.4-intl php7.4-bcmath php7.4-imagick libapache2-mod-php7.4


echo "[2/7] Benötigte Pakete installieren..."
echo "[4/10] Apache auf PHP 7.4 umstellen..."
apt install -y apache2 mariadb-server unzip wget curl \
sudo a2dismod php8.2 || true
    php libapache2-mod-php php-mysql php-xml php-mbstring php-curl \
sudo a2enmod php7.4
    php-zip php-gd php-intl php-bcmath php-imagick
sudo update-alternatives --set php /usr/bin/php7.4
sudo systemctl restart apache2


echo "[3/7] MariaDB konfigurieren..."
echo "[5/10] MariaDB konfigurieren..."
mysql -u root <<EOF
sudo mysql -u root <<EOF
CREATE DATABASE ${DB_NAME};
CREATE DATABASE IF NOT EXISTS ${DB_NAME};
CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASSWORD}';
CREATE USER IF NOT EXISTS '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASSWORD}';
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
EOF
EOF


echo "[4/7] OwnCloud herunterladen..."
echo "[6/10] OwnCloud herunterladen..."
cd /tmp
cd /tmp
wget https://download.owncloud.org/community/owncloud-complete-latest.tar.bz2
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2 -O owncloud.tar.bz2
tar -xjf owncloud-complete-latest.tar.bz2
tar -xjf owncloud.tar.bz2
rm -rf ${OWNCLOUD_DIR}
sudo rm -rf ${OWNCLOUD_DIR}
mv owncloud ${OWNCLOUD_DIR}
sudo mv owncloud ${OWNCLOUD_DIR}


echo "[5/7] Berechtigungen setzen..."
echo "[7/10] Dateirechte setzen..."
chown -R www-data:www-data ${OWNCLOUD_DIR}
sudo chown -R www-data:www-data ${OWNCLOUD_DIR}
chmod -R 755 ${OWNCLOUD_DIR}
sudo chmod -R 755 ${OWNCLOUD_DIR}


echo "[6/7] Apache konfigurieren..."
echo "[8/10] Apache VirtualHost konfigurieren..."
cat <<APACHECONF > /etc/apache2/sites-available/owncloud.conf
sudo tee /etc/apache2/sites-available/owncloud.conf > /dev/null <<EOF
<VirtualHost *:80>
<VirtualHost *:80>
     DocumentRoot ${OWNCLOUD_DIR}
     DocumentRoot ${OWNCLOUD_DIR}
Zeile 58: Zeile 75:
         Options +FollowSymlinks
         Options +FollowSymlinks
         AllowOverride All
         AllowOverride All
 
        Require all granted
         <IfModule mod_dav.c>
         <IfModule mod_dav.c>
             Dav off
             Dav off
         </IfModule>
         </IfModule>
         SetEnv HOME ${OWNCLOUD_DIR}
         SetEnv HOME ${OWNCLOUD_DIR}
         SetEnv HTTP_HOME ${OWNCLOUD_DIR}
         SetEnv HTTP_HOME ${OWNCLOUD_DIR}
Zeile 70: Zeile 86:
     CustomLog \${APACHE_LOG_DIR}/owncloud_access.log combined
     CustomLog \${APACHE_LOG_DIR}/owncloud_access.log combined
</VirtualHost>
</VirtualHost>
APACHECONF
EOF


a2ensite owncloud.conf
echo "[9/10] Apache aktivieren & neu starten..."
a2dissite 000-default.conf
sudo a2ensite owncloud.conf
a2enmod rewrite headers env dir mime setenvif
sudo a2dissite 000-default.conf
systemctl restart apache2
sudo a2enmod rewrite headers env dir mime setenvif
sudo systemctl reload apache2


echo "[7/7] Installation abgeschlossen."
echo "[10/10] Installation abgeschlossen"
echo ""
echo ""
echo "---------------------------------------------------------"
echo "-----------------------------------------------------------"
echo "OwnCloud-Webinstaller erreichbar unter:"
echo "OwnCloud ist jetzt erreichbar unter:"
echo "   http://${IP_ADDR}/owncloud"
echo "➡  http://${IP_ADDR}/owncloud"
echo ""
echo ""
echo "Datenbank-Zugangsdaten:"
echo " Datenbank-Zugang:"
echo "  DB-Name    : ${DB_NAME}"
echo "  DB-Name    : ${DB_NAME}"
echo "  DB-Benutzer: ${DB_USER}"
echo "  Benutzer   : ${DB_USER}"
echo "  DB-Passwort: ${DB_PASSWORD}"
echo "  Passwort   : ${DB_PASSWORD}"
echo "---------------------------------------------------------"
echo "-----------------------------------------------------------"
 
</pre>
</pre>


Dieses Skript automatisiert die komplette Installation und Konfiguration von ownCloud auf einem Debian-basierten System.
Dieses Skript automatisiert die komplette Installation und Konfiguration von ownCloud auf einem Debian-basierten System.
== Einloggen bei OwnCloud ==
Nach erfolgreicher Installation und Konfiguration von OwnCloud kann die Anmeldung über einen Webbrowser erfolgen.
=== Aufruf der Weboberfläche ===
Öffne auf einem Gerät im gleichen Netzwerk einen Browser und rufe folgende Adresse auf:
<pre>
http://&lt;IP-Adresse-des-Servers&gt;/owncloud
</pre>
Beispiel:
<pre>
http://192.168.48.222/owncloud
</pre>
[[Datei:zugriffaufowncloud.png|links|thumb|400px|Link zu OwnCloud]]
<br clear="all" />
[[Datei:owncloudfertig.png|links|thumb|400px|OwnCloud Seite wurde erfolgreich geöffnet]]
<br clear="all" />
=== Erstanmeldung ===
Beim ersten Aufruf erscheint die Einrichtungsseite für den Administrationszugang.
Folgende Felder müssen ausgefüllt werden:
* '''Benutzername''': Frei wählbarer Name des Administrators (z. B. <code>admin</code>)
* '''Passwort''': Sicheres Passwort für den Administratorzugang
* '''Datenbankbenutzer''': <code>ownclouduser</code>
* '''Datenbankpasswort''': <code>raspberry</code>
* '''Datenbankname''': <code>owncloud</code>
* '''Datenbank-Host''': <code>localhost</code>
[[Datei:kontoerstellen.png|links|thumb|400px|Admin Konto wird konfiguriert]]
<br clear="all" />
Klicke anschliessend auf '''Installation abschliessen'''.
=== Anmeldung nach der Einrichtung ===
Nach erfolgreichem Setup wirst du automatisch in das OwnCloud-Webinterface eingeloggt. 
Für spätere Anmeldungen verwende dieselbe URL und melde dich mit den zuvor gewählten Administrator-Zugangsdaten an.
[[Datei:anmedlungowncloud.png|links|thumb|400px|Hier kann man sich einloggen]]
<br clear="all" />
[[Datei:angemeldt.png|links|thumb|400px|Jetzt ist man auf seiner eigenen Cloud]]
<br clear="all" />
[[Datei:Owncloud Windows.png|links|thumb|400px|Auf unserem Client konnten wir via IP auf den Cloud Dienst zugreifen]]
<br clear="all" />

Aktuelle Version vom 26. Mai 2025, 14:45 Uhr

ownCloud ist eine Open-Source-Software zur sicheren Speicherung, Synchronisation und Freigabe von Dateien. Sie erlaubt es, eine eigene Cloud auf dem eigenen Server zu betreiben, unabhängig von externen Diensten wie Dropbox oder Google Drive. Wichtige Funktionen:

  • Dateiverwaltung und -freigabe
  • Benutzer- und Rechteverwaltung
  • Kalender- und Kontakt-Synchronisation (CalDAV, CardDAV)
  • Erweiterbar durch Plugins
  • Datenschutz und volle Datenhoheit

Installation mit Bash-Skript

Linux Terminal beim Ausführen des Script


Die Installation erfolgte automatisiert mit folgendem Bash-Skript, das von ChatGPT mitentwickelt wurde:

#!/bin/bash
set -e

# === KONFIGURATION ===
DB_NAME="owncloud"
DB_USER="ownclouduser"
DB_PASSWORD="raspberry"
OWNCLOUD_DIR="/var/www/html/owncloud"
IP_ADDR="$(hostname -I | awk '{print $1}')"

echo "[1/10] PHP 8.x entfernen (falls vorhanden)..."
sudo apt remove -y 'php*' || true
sudo apt autoremove -y || true

echo "[2/10] Repository & GPG-Key für PHP 7.4 hinzufügen..."
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 wget curl
sudo mkdir -p /etc/apt/keyrings
wget -qO - https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/php.gpg
echo "deb [signed-by=/etc/apt/keyrings/php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

echo "[3/10] PHP 7.4 + Apache + Module installieren..."
sudo apt install -y apache2 mariadb-server unzip \
php7.4 php7.4-cli php7.4-common php7.4-mysql php7.4-xml php7.4-mbstring \
php7.4-curl php7.4-zip php7.4-gd php7.4-intl php7.4-bcmath php7.4-imagick libapache2-mod-php7.4

echo "[4/10] Apache auf PHP 7.4 umstellen..."
sudo a2dismod php8.2 || true
sudo a2enmod php7.4
sudo update-alternatives --set php /usr/bin/php7.4
sudo systemctl restart apache2

echo "[5/10] MariaDB konfigurieren..."
sudo mysql -u root <<EOF
CREATE DATABASE IF NOT EXISTS ${DB_NAME};
CREATE USER IF NOT EXISTS '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASSWORD}';
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
FLUSH PRIVILEGES;
EOF

echo "[6/10] OwnCloud herunterladen..."
cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2 -O owncloud.tar.bz2
tar -xjf owncloud.tar.bz2
sudo rm -rf ${OWNCLOUD_DIR}
sudo mv owncloud ${OWNCLOUD_DIR}

echo "[7/10] Dateirechte setzen..."
sudo chown -R www-data:www-data ${OWNCLOUD_DIR}
sudo chmod -R 755 ${OWNCLOUD_DIR}

echo "[8/10] Apache VirtualHost konfigurieren..."
sudo tee /etc/apache2/sites-available/owncloud.conf > /dev/null <<EOF
<VirtualHost *:80>
    DocumentRoot ${OWNCLOUD_DIR}
    ServerName ${IP_ADDR}

    <Directory ${OWNCLOUD_DIR}>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME ${OWNCLOUD_DIR}
        SetEnv HTTP_HOME ${OWNCLOUD_DIR}
    </Directory>

    ErrorLog \${APACHE_LOG_DIR}/owncloud_error.log
    CustomLog \${APACHE_LOG_DIR}/owncloud_access.log combined
</VirtualHost>
EOF

echo "[9/10] Apache aktivieren & neu starten..."
sudo a2ensite owncloud.conf
sudo a2dissite 000-default.conf
sudo a2enmod rewrite headers env dir mime setenvif
sudo systemctl reload apache2

echo "[10/10] Installation abgeschlossen"
echo ""
echo "-----------------------------------------------------------"
echo "OwnCloud ist jetzt erreichbar unter:"
echo "➡  http://${IP_ADDR}/owncloud"
echo ""
echo " Datenbank-Zugang:"
echo "   DB-Name    : ${DB_NAME}"
echo "   Benutzer   : ${DB_USER}"
echo "   Passwort   : ${DB_PASSWORD}"
echo "-----------------------------------------------------------"

Dieses Skript automatisiert die komplette Installation und Konfiguration von ownCloud auf einem Debian-basierten System.

Einloggen bei OwnCloud

Nach erfolgreicher Installation und Konfiguration von OwnCloud kann die Anmeldung über einen Webbrowser erfolgen.


Aufruf der Weboberfläche

Öffne auf einem Gerät im gleichen Netzwerk einen Browser und rufe folgende Adresse auf:

http://<IP-Adresse-des-Servers>/owncloud

Beispiel:

http://192.168.48.222/owncloud


Link zu OwnCloud


OwnCloud Seite wurde erfolgreich geöffnet


Erstanmeldung

Beim ersten Aufruf erscheint die Einrichtungsseite für den Administrationszugang.

Folgende Felder müssen ausgefüllt werden:

  • Benutzername: Frei wählbarer Name des Administrators (z. B. admin)
  • Passwort: Sicheres Passwort für den Administratorzugang
  • Datenbankbenutzer: ownclouduser
  • Datenbankpasswort: raspberry
  • Datenbankname: owncloud
  • Datenbank-Host: localhost
Admin Konto wird konfiguriert



Klicke anschliessend auf Installation abschliessen.

Anmeldung nach der Einrichtung

Nach erfolgreichem Setup wirst du automatisch in das OwnCloud-Webinterface eingeloggt. Für spätere Anmeldungen verwende dieselbe URL und melde dich mit den zuvor gewählten Administrator-Zugangsdaten an.

Hier kann man sich einloggen


Jetzt ist man auf seiner eigenen Cloud


Auf unserem Client konnten wir via IP auf den Cloud Dienst zugreifen