OwnCloud
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">
- !/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.