Table des matières
OpenCloud
Cette page va détailler l'installation d'OpenCloud dans la distribution DietPi.
Pourquoi OpenCloud
OpenCloud est un "cloud" plus léger que NextCloud. Là où NextCloud veut absolument tout faire (fichiers, contacts, agenda, circuit de validation de documents, cartes…), OpenCloud veut se cantonner à l'essentiel : Les fichiers.
Quand NextCloud est une grosse application php avec base de données, OpenCloud est un simple exécutable sans base de données.
Si vous avez besoin d'un cloud juste pour le partage de fichiers et documents, OpenCloud est une solution intéressante, plus légère et plus véloce que NextCloud. OpenCloud fournit également un accès WebDav.
Installation et configuration
Au niveau des répertoires:
- L'application sera installée dans
/opt/opencloud - Les fichiers de config dans
/etc/opencloud - Les données applicatives et données utilisateur dans
/mnt/dietpi_userdata/opencloud(ce qui est le standard pour DietPi).
OpenCloud est distribué sous forme d'un unique exécutable. Vous pouvez le télécharger sur https://github.com/opencloud-eu/opencloud/releases/ pour votre architecture.
On va l'installer dans /opt/opencloud:
sudo mkdir -p /opt/opencloud sudo cp opencloud-6.2.0-linux-amd64 /opt/opencloud/opencloud sudo chmod +x /opt/opencloud/opencloud
Création du fichier de configuration:
sudo mkdir -p /etc/opencloud
puis créez le fichier /etc/opencloud/opencloud.env contenant:
OC_CONFIG_DIR=/etc/opencloud OC_BASE_DATA_PATH=/mnt/dietpi_userdata/opencloud OC_INSECURE=true WEB_HTTP_ADDR=0.0.0.0:9800 STORAGE_USERS_DRIVER=posix STORAGE_USERS_POSIX_ROOT=/mnt/dietpi_userdata/opencloud/storage/users OC_LOG_LEVEL=warn OC_LOG_FILE=/var/log/opencloud/opencloud.log
Ne vous inquiétez pas pour le OC_INSECURE=true : On utilisera Apache comme reverse-proxy pour la partie https.
On va créer un utilisateur sous lequel tournera le service:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin opencloud
Création du répertoire de stockage des données:
sudo mkdir -p /mnt/dietpi_userdata/opencloud sudo chown -R opencloud:opencloud /mnt/dietpi_userdata/opencloud
sudo mkdir -p /var/log/opencloud/ sudo chown -R opencloud:opencloud /var/log/opencloud/
Et
sudo chown -R opencloud:opencloud /etc/opencloud
Création du service
Un lancement initial d'OpenCloud doit etre fait pour qu'il créé ses fichiers de configuration avec les clés.
sudo -u opencloud bash -c 'set -a; source /etc/opencloud/opencloud.env; /opt/opencloud/opencloud init --admin-password admin'
Vous aurez un avertissement:
Do you want to configure OpenCloud with certificate checking disabled? This is not recommended for public instances! [yes | no = default]
Répondez Y et validez.
Cela va créer le fichier /etc/opencloud/opencloud.yaml contenant la configuration de base et les clés de chiffrement.
Création du service (/etc/systemd/system/opencloud.service):
[Unit] Description=OpenCloud server After=network.target Wants=network-online.target [Service] Type=simple User=opencloud Group=opencloud WorkingDirectory=/opt/opencloud EnvironmentFile=/etc/opencloud/opencloud.env ExecStart=/opt/opencloud/opencloud server Restart=on-failure RestartSec=5 LimitNOFILE=65536 PrivateTmp=true ProtectSystem=full ProtectHome=true ReadWritePaths=/mnt/dietpi_userdata/opencloud [Install] WantedBy=multi-user.target
Lancement du service:
sudo systemctl daemon-reload sudo systemctl enable --now opencloud.service
lancement initial à faire avec init du mot de passe admin.
Voir les journaux:
sudo journalctl -u opencloud.service -f
Configuration d'Apache en reverse-proxy
Configurations complémentaires
Configurations complémentaires (dans /etc/opencloud/opencloud.env):
- Autoriser le partage par lien externe sans mot de passe:
OC_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD=false OC_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD=false