OwnCloud

Aus Raspberry Pi Workshop
Zur Navigation springen Zur Suche springen

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

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/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 "---------------------------------------------------------"

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