Guide d'installation, configuration et mise-à-jour de Owncloud

Author:Patrick Hetu

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