===================== Owncloud Server HOWTO (c) Nicolas Kovacs ===================== Dernière révision : 15 avril 2016 Ce HOWTO décrit la mise en place d'un serveur OwnCloud sous Slackware Linux. * Introduction * Prérequis * Téléchargement * Installation * Mise à jour Introduction ------------ OwnCloud est une plateforme de stockage et de partage de fichiers et d'applications en ligne. C'est une alternative à Dropbox, lequel est basé sur un Cloud public. Dans OwnCloud, le stockage de données se fait au sein de l'infrastructure de l'entreprise, et les accès sont soumis à la politique de sécurité informatique de celle-ci. OwnCloud vous permet de partager certains fichiers et répertoires de votre ordinateur en les synchronisant avec le serveur OwnCloud. Il suffit de définir le ou les répertoires partagés. Leur contenu est immédiatement synchronisé avec le serveur ainsi qu'avec tous les postes clients que vous définissez, que ceux-ci tournent sous Microsoft Windows, sous Mac OS X ou sous Linux. OwnCloud fonctionne également avec les smartphones et les tablettes. OwnCloud est un logiciel libre sous licence AGPLv3. Prérequis --------- OwnCloud s'installe sur un serveur LAMP sécurisé. On aura donc besoin de plusieurs composants. 1. un certificat SSL (SSL-TLS-Certificate-HOWTO) 2. un hébergement sécurisé (Apache-SSL-HOWTO) 3. une base de données MySQL (MySQL-HOWTO) Téléchargement -------------- Sur le serveur, on rangera OwnCloud dans un endroit approprié : # cd # mkdir -p webapps/owncloud # cd webapps/owncloud/ # wget -c http://download.owncloud.org/community/owncloud-8.2.2.tar.bz2 Installation ------------ OwnCloud sera installé dans un hôte virtuel : # cd /srv/httpd/vhosts # mkdir microlinux-owncloud # cd microlinux-owncloud # tar xvjf /root/webapps/owncloud/owncloud-8.2.2.tar.bz2 # mv owncloud htdocs # cd .. La définition des permissions est quelque peu fastidieuse. Pour nous faciliter la tâche, OwnCloud a publié un petit script shell sur son site, qu'il suffit d'adapter à nos besoins. --8<---------- set-owncloud-permissions.sh ----------------------------------- #!/bin/bash # # set-owncloud-permissions.sh ocpath='/var/www/vhosts/owncloud/htdocs' htuser='apache' htgroup='apache' rootuser='root' printf "Creating possible missing Directories\n" mkdir -p $ocpath/data mkdir -p $ocpath/assets printf "chmod Files and Directories\n" find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640 find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750 printf "chown Directories\n" chown -R ${rootuser}:${htgroup} ${ocpath}/ chown -R ${htuser}:${htgroup} ${ocpath}/apps/ chown -R ${htuser}:${htgroup} ${ocpath}/config/ chown -R ${htuser}:${htgroup} ${ocpath}/data/ chown -R ${htuser}:${htgroup} ${ocpath}/themes/ chown -R ${htuser}:${htgroup} ${ocpath}/assets/ chmod +x ${ocpath}/occ printf "chmod/chown .htaccess\n" if [ -f ${ocpath}/.htaccess ] then chmod 0644 ${ocpath}/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/.htaccess fi if [ -f ${ocpath}/data/.htaccess ] then chmod 0644 ${ocpath}/data/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess fi --8<-------------------------------------------------------------------------- Ranger ce script dans un endroit approprié avant de l'éditer et l'exécuter : # cd /root/bin # ./set-owncloud-permissions.sh Creating possible missing Directories chmod Files and Directories chown Directories chmod/chown .htaccess À présent, ouvrir l'assistant d'installation dans l'interface Web d'OwnCloud. Mise à jour ----------- Mettre OwnCloud en mode maintenance : # cd /srv/httpd/vhosts/microlinux-owncloud/htdocs # sudo -u apache php occ maintenance:mode --on Maintenance mode enabled Faire pointer l'hôte virtuel vers une page de maintenance. Si c'est une page statique index.html, il faudra créer un lien symbolique index.php qui pointe vers cette page. Une fois que c'est fait, redémarrer le serveur. Renommer l'installation existante : Sauvegarder l'installation existante avec les données : # cd /srv/httpd/vhosts/ # mv microlinux-owncloud microlinux-owncloud.old Installer la nouvelle version de OwnCloud : # mkdir microlinux-owncloud # cd microlinux-owncloud # tar xvjf /root/webapps/owncloud/owncloud-8.2.3.tar.bz2 # mv owncloud htdocs Restaurer la configuration : # cd htdocs/config # rm config.sample.php # mv /srv/httpd/vhosts/microlinux-owncloud.old/htdocs/config/config.php . # cd .. Restaurer les données : # mv /srv/httpd/vhosts/microlinux-owncloud.old/htdocs/data . Identifier et restaurer les applications tierces : # cd apps/ # ls activity encryption external files files_external files_pdfviewer ... # ls /srv/httpd/vhosts/microlinux-owncloud.old/htdocs/apps/ activity contacts encryption external files files_external ... # mv /srv/httpd/vhosts/microlinux-owncloud.old/htdocs/apps/contacts/ . # cd .. Définir les permissions à l'aide du script. # cd /root/bin # ./set-owncloud-permissions.sh Creating possible missing Directories chmod Files and Directories chown Directories chmod/chown .htaccess À présent, on peut faire pointer l'hôte virtuel vers la nouvelle installation d'OwnCloud. Le mode maintenance est toujours activé. Lancer la mise à jour interne : # cd /srv/httpd/vhosts/microlinux-owncloud/htdocs # sudo -u apache php occ upgrade ownCloud or one of the apps require upgrade Only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Set log level to debug - current level: 'Warning' Checking whether the database schema can be updated (this can take a long time depending on the database size) Checked database schema update Checking updates of apps Checked database schema update for apps Updating database schema Updated database Update successful Maintenance mode is kept active Reset log level to 'Warning' Revenir en mode normal : # sudo -u apache php occ maintenance:mode --off Maintenance mode disabled Rescanner les fichiers : # sudo -u apache php console.php files:scan --all Scanning file /administrateur/ Scanning folder /administrateur/ Scanning file /administrateur/thumbnails Scanning file /administrateur/files ... Il ne reste plus qu'à réactiver les applications tierces. ------------------------------------------------------------------------------ # vim: syntax=txt