Guide d'installation, configuration et mise-à-jour de Owncloud
Author: Patrick Hetu
Contents
1 Serveur
1.1 Installation
Notez que l'ensemble des commandes doivent être exécutées en tant que super utilisateur.
1.1.1 Via le code source
1.1.1.1 Dépendances
apt-get update apt-get install mysql-server apache2 php5 php5-gd php5-imagick php5-ldap php5-mcrypt php5-curl git bzip2
1.1.1.2 Installation
Vérification de la dernière version disponible et sauvegarde dans la variable VERSION:
VERSION=`wget https://owncloud.org/changelog -O - |\ sed -n '/Version [0-9\.]\+/{s/^.*Version \([0-9\.]\+\).*$/\1/p;q}'` echo $VERSION
Télécharger l'archive compressé du code source et sa somme sha256:
wget https://download.owncloud.org/community/owncloud-$VERSION.tar.bz2 wget https://download.owncloud.org/community/owncloud-$VERSION.tar.bz2.sha256
Vérifier la somme:
sha256sum -c owncloud-$VERSION.tar.bz2.sha256 < owncloud-$VERSION.tar.bz2
Si la somme est correcte, extraire l'archive dans le dossier courant:
tar jxvf owncloud-$VERSION.tar.bz2
Rendre l'outil en ligne de commande exécutable.
chmod a+x owncloud/occ
1.1.2 ou via le dépôt Deb
Pour installer owncloud depuis un dépôt Debian/Ubuntu, veuillez suivre les instructions à la page:
Puis installer le paquet:
apt-get update apt-get install owncloud
1.2 Configuration
1.2.1 Mysql
Première étape, création de la base de données et d'un utilisateur avec les commandes:
mysql -e "create database owncloud;" mysql -e "grant usage on *.* to owncloud@localhost identified by 'VOTRE_MOT_DE_PASSE';"
1.2.2 Owncloud
Les données de configuration de owncloud spécifique à l'AUF suivantes doivent être ajouter dans le fichier owncloud/config/config.php:
'datadirectory' => '/srv/data',
'ldapIgnoreNamingRules' => false,
'mail_domain' => 'auf.org',
'trusted_domains' =>
array (
0 => 'nuage.auf.org',
),
1.2.3 Apache
Apache doit être configurer avec les VirtualHost suivant:
<VirtualHost _default_:80> ServerName nuage.auf.org Redirect permanent / https://nuage.auf.org </VirtualHost> <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerName nuage.auf.org DocumentRoot /var/www/owncloud <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/owncloud> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/nuage.auf.org_error.log CustomLog ${APACHE_LOG_DIR}/nuage.auf.org_access.log combined # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule>
Puis les modules ssl et rewrite doivent être activés:
a2enmod ssl a2enmod rewrite service apache2 reload
1.2.4 AUF
1.2.4.1 LDAP
Configurer ldap dans l'interface d'administration: https://nuage.auf.org/index.php/settings/admin
1.2.4.2 Theme
Le fichier owncloud/core/templates/login.php doit être copié vers owncloud/themes/auf/core/templates/ et la ligne suivante doit être ajouter avant le formulaire de connexion:
<a href="/mellon/login?ReturnTo=https%3A%2F%2F<?php p($_SERVER['HTTP_HOST']); ?>%2F%3Fapp%3Duser_servervars" onMouseOver="document.idauf_bouton.src='/themes/auf/core/img/idauf_bouton_survol.png';" onMouseOut="document.idauf_bouton.src='/themes/auf/core/img/idauf_bouton.png';"> <img id="idauf_bouton" width="200" height="32" src="/themes/auf/core/img/idauf_bouton.png" /> </a>
Puis les fichiers images doivent être téléchargés dans leurs répertoires respectifs.
Ensuite, les templates de courriels doivent être traduits.
- Notification d'activité
<?php /** @var OC_L10N $l */ /** @var array $_ */ $l = $_['overwriteL10N']; print_unescaped($l->t('Bonjour %s,', array($_['username']))); p("\n"); p("\n"); if ((int) $_['timeframe'] === \OCA\Activity\UserSettings::EMAIL_SEND_HOURLY) { print_unescaped($l->t('Vous recevez ce courriel car dans la dernière heure les activités suivantes ont eu lieu à %s', array($_['owncloud_installation']))); } else if ((int) $_['timeframe'] === \OCA\Activity\UserSettings::EMAIL_SEND_DAILY) { print_unescaped($l->t('Vous recevez ce courriel car depuis hier les activités suivantes ont eu lieu à %s', array($_['owncloud_installation']))); } else { print_unescaped($l->t('Vous recevez ce courriel car dans la dernière semaine les activités suivantes ont eu lieu à %s', array($_['owncloud_installation']))); } p("\n"); p("\n"); foreach ($_['activities'] as $activityData) { print_unescaped($l->t('* %1$s - %2$s', $activityData)); p("\n"); } if ($_['skippedCount']) { print_unescaped($l->n('* et %n de plus ', '* et %n de plus ', $_['skippedCount'])); p("\n"); } p("\n");
1.2.4.3 SSO
Pour rendre disponible le modmellon depuis owncloud vous devez Installer le plugin suivant:
dans le dossier apps/ et l'activer avec la commande:
owncloud/occ app:enable user_servervars
et finir sa configuration dans l'interface d'administration.
1.2.4.4 Apps
Les applications suivantes doivent aussi être activées:
owncloud/occ app:enable user_ldap owncloud/occ app:enable activity
1.3 Mise-à-jour
Pour vérifier la version courante utilisez la commande:
owncloud/occ status
Pour télécharger la dernière version, suivre les mêmes étapes décrite dans la section 1.1 Installation.
Démarrer le mode "Maintenance":
owncloud/occ maintenance:mode
Puis faire une sauvegarde de la base de données en cas de problème:
NOW=$(date +"%m_%d_%Y") mysqldump owncloud > owncloud_backup_$NOW.sql
Corriger les permissions du répertoire:
chown www-data:www-data owncloud/
Copier les fichiers aux bons endroits:
cp -rf $OLD/config/ owncloud cp -rf $OLD/theme/ owncloud/ cp -r $OLD/apps/user_servervars owncloud/apps/ cp $OLD/data owncloud/
Lancer le script de mise-à-jour de owncloud:
owncloud/occ upgrade
Mettre le dossier en production et fermer le mode "Maintenance":
mv owncloud owncloud-prod/ owncloud-prod/occ maintenance:mode
1.4 Vérification
Des applications activées:
owncloud/occ app:list
Il faut vérifier que les modules suivantes sont bien activés:
- activity
- files_pdfviewer
- user_ldap
- user_servervars
Vérification de la configuration LDAP
mysql owncloud -e "select configkey, configvalue from oc_appconfig where appid='user_ldap';"
Vérification de la configuration de user_servervars
mysql owncloud -e "select * from oc_appconfig where appid='user_servervars;"