OwnCloud: Unterschied zwischen den Versionen

Aus Raspberry Pi Workshop
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „== ownCloud == ownCloud ist eine Open-Source-Software zur sicheren Speicherung, Synchronisation und Freigabe von Dateien. Sie ermöglicht es Unternehmen und Privatpersonen, ihre eigene Cloud-Infrastruktur zu betreiben – unabhängig von kommerziellen Anbietern wie Google Drive oder Dropbox. Mit ownCloud können Benutzer: * Dateien zentral speichern und von verschiedenen Geräten aus darauf zugreifen. * Dateien mit anderen Benutzern oder externen Person…“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== ownCloud ==
=== Was ist ownCloud? ===


ownCloud ist eine Open-Source-Software zur sicheren Speicherung, Synchronisation und Freigabe von Dateien. Sie ermöglicht es Unternehmen und Privatpersonen, ihre eigene Cloud-Infrastruktur zu betreiben – unabhängig von kommerziellen Anbietern wie Google Drive oder Dropbox.
ownCloud ist eine Open-Source-Lösung für Datei-Synchronisation, -Speicherung und -Freigabe auf privaten Servern. Sie wird oft als Alternative zu kommerziellen Cloud-Diensten wie Google Drive oder Dropbox genutzt, insbesondere wenn Datenschutz und Kontrolle über die eigenen Daten im Vordergrund stehen.


Mit ownCloud können Benutzer:
Funktionen von ownCloud:
* Dateien zentral speichern und von verschiedenen Geräten aus darauf zugreifen.
* Zentrale Speicherung und Zugriff auf Dateien von verschiedenen Geräten.
* Dateien mit anderen Benutzern oder externen Personen sicher teilen.
* Teilen von Dateien mit individuellen Zugriffsrechten.
* Benutzerkonten verwalten und differenzierte Zugriffsrechte vergeben.
* Benutzerverwaltung mit fein abgestuften Berechtigungen.
* Kalender, Kontakte und Aufgaben synchronisieren (über CalDAV/CardDAV).
* Erweiterbar durch zahlreiche Apps (z. B. Kalender, Kontakte).
* die Plattform mit zahlreichen Erweiterungen (Apps) individuell anpassen.
* Kompatibilität mit CalDAV und CardDAV.
* die Datenhoheit behalten, da alle Informationen auf dem eigenen Server bleiben.
* Volle Datenhoheit – alles bleibt auf dem eigenen Server.


ownCloud eignet sich besonders für Organisationen, die grossen Wert auf Datenschutz, Kontrolle und individuelle Anpassbarkeit legen. Ich habe mich intensiv mit der Funktionsweise und den Einsatzszenarien von ownCloud auseinandergesetzt und die wichtigsten Erkenntnisse in meinem Portfolio dokumentiert.
=== Installation von ownCloud ===
 
Zur Installation haben wir ein automatisiertes Bash-Skript genutzt, das mit Unterstützung von ChatGPT erstellt wurde. Dieses Skript übernimmt die Systemaktualisierung, die Paketinstallation, das Einrichten der Datenbank sowie die Konfiguration von Apache und ownCloud.
 
'''Verwendetes Installationsskript:'''
 
<syntaxhighlight lang="bash">
#!/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/7] System aktualisieren..."
apt update && apt upgrade -y
 
echo "[2/7] Benötigte Pakete installieren..."
apt install -y apache2 mariadb-server unzip wget curl \
    php libapache2-mod-php php-mysql php-xml php-mbstring php-curl \
    php-zip php-gd php-intl php-bcmath php-imagick
 
echo "[3/7] MariaDB konfigurieren..."
mysql -u root <<EOF
CREATE DATABASE ${DB_NAME};
CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASSWORD}';
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
FLUSH PRIVILEGES;
EOF
 
echo "[4/7] OwnCloud herunterladen..."
cd /tmp
wget https://download.owncloud.org/community/owncloud-complete-latest.tar.bz2
tar -xjf owncloud-complete-latest.tar.bz2
rm -rf ${OWNCLOUD_DIR}
mv owncloud ${OWNCLOUD_DIR}
 
echo "[5/7] Berechtigungen setzen..."
chown -R www-data:www-data ${OWNCLOUD_DIR}
chmod -R 755 ${OWNCLOUD_DIR}
 
echo "[6/7] Apache konfigurieren..."
cat <<APACHECONF > /etc/apache2/sites-available/owncloud.conf
<VirtualHost *:80>
    DocumentRoot ${OWNCLOUD_DIR}
    ServerName ${IP_ADDR}
 
    <Directory ${OWNCLOUD_DIR}>
        Options +FollowSymlinks
        AllowOverride All
 
        <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>
APACHECONF
 
a2ensite owncloud.conf
a2dissite 000-default.conf
a2enmod rewrite headers env dir mime setenvif
systemctl restart apache2
 
echo "[7/7] Installation abgeschlossen."
echo ""
echo "---------------------------------------------------------"
echo "OwnCloud-Webinstaller erreichbar unter:"
echo "  http://${IP_ADDR}/owncloud"
echo ""
echo "Datenbank-Zugangsdaten:"
echo "  DB-Name    : ${DB_NAME}"
echo "  DB-Benutzer: ${DB_USER}"
echo "  DB-Passwort: ${DB_PASSWORD}"
echo "---------------------------------------------------------"
</syntaxhighlight>
 
Mit diesem Skript konnten wir ownCloud erfolgreich auf einem Debian-basierten System installieren und in Betrieb nehmen.

Version vom 26. Mai 2025, 13:53 Uhr

Was ist ownCloud?

ownCloud ist eine Open-Source-Lösung für Datei-Synchronisation, -Speicherung und -Freigabe auf privaten Servern. Sie wird oft als Alternative zu kommerziellen Cloud-Diensten wie Google Drive oder Dropbox genutzt, insbesondere wenn Datenschutz und Kontrolle über die eigenen Daten im Vordergrund stehen.

Funktionen von ownCloud:

  • Zentrale Speicherung und Zugriff auf Dateien von verschiedenen Geräten.
  • Teilen von Dateien mit individuellen Zugriffsrechten.
  • Benutzerverwaltung mit fein abgestuften Berechtigungen.
  • Erweiterbar durch zahlreiche Apps (z. B. Kalender, Kontakte).
  • Kompatibilität mit CalDAV und CardDAV.
  • Volle Datenhoheit – alles bleibt auf dem eigenen Server.

Installation von ownCloud

Zur Installation haben wir ein automatisiertes Bash-Skript genutzt, das mit Unterstützung von ChatGPT erstellt wurde. Dieses Skript übernimmt die Systemaktualisierung, die Paketinstallation, das Einrichten der Datenbank sowie die Konfiguration von Apache und ownCloud.

Verwendetes Installationsskript:

<syntaxhighlight lang="bash">

  1. !/bin/bash

set -e

      1. === 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/7] System aktualisieren..." apt update && apt upgrade -y

echo "[2/7] Benötigte Pakete installieren..." apt install -y apache2 mariadb-server unzip wget curl \

   php libapache2-mod-php php-mysql php-xml php-mbstring php-curl \
   php-zip php-gd php-intl php-bcmath php-imagick

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

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

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

echo "[6/7] Apache konfigurieren..." cat <<APACHECONF > /etc/apache2/sites-available/owncloud.conf <VirtualHost *:80>

   DocumentRoot ${OWNCLOUD_DIR}
   ServerName ${IP_ADDR}
   <Directory ${OWNCLOUD_DIR}>
       Options +FollowSymlinks
       AllowOverride All
       <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> APACHECONF

a2ensite owncloud.conf a2dissite 000-default.conf a2enmod rewrite headers env dir mime setenvif systemctl restart apache2

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

Mit diesem Skript konnten wir ownCloud erfolgreich auf einem Debian-basierten System installieren und in Betrieb nehmen.