Manuel d’installation pour Linux

L’installation d’ownCloud sous Linux à partir des paquets Open Build Service est la méthode préférée (voir Méthode d’installation préférée pour Linux). Ces paquets sont maintenus par les ingénieurs ownCloud et vous pouvez utiliser votre gestionnaire de paquets pour garder votre serveur ownCloud à jour.

Note

Les clients de l’Édition Entreprise doivent se référer à Installation et mise à jour de l’Édition Entreprise

S’il n’existe pas de paquet pour votre distribution Linux, ou si vous préférez l’installer à partir des sources, vous pouvez configurer ownCloud à partir de zéro en utilisant un ensemble LAMP classique (Linux, Apache, MySQL/MariaDB, PHP). Ce document décrit les étapes complètes pour l’installation d’ownCloud sur Ubuntu 14.04 LTS Server avec Apache et MariaDB, en utilisant l’archive .tar d’ownCloud.

Note

Les administrateurs de distributions ayant SELinux comme CentOS, Fedora et Red Hat Enterprise Linux peuvent avoir besoin de définir de nouvelles règles pour installer ownCloud. Consulter Conseils de configuration SELinux pour une suggestion de configuration.

Prérequis

L’archive .tar d’ownCloud contient tous les modules PHP requis. Cette section liste tous les modules obligatoires et facultatifs. Consulter le manuel PHP pour plus d’informations sur ces modules. Votre distribution Linux devreit contenir tous les modules obligatoires. Vous pouvez vérifier la présence d’un module en saisissant la commande php -m | grep -i <nom_module>. Si vous obtenez un résultat, le module est présent.

Obligatoires :

  • php5 (>= 5.4) ;
  • module PHP ctype ;
  • module PHP dom ;
  • module PHP GD ;
  • module PHP iconv ;
  • module PHP JSON ;
  • module PHP libxml (>=2.7.0) ;
  • module PHP mb multibyte ;
  • module PHP posix ;
  • module PHP SimpleXML ;
  • module PHP XMLWriter ;
  • module PHP zip ;
  • module PHP zlib.

Connecteurs de base de données (choisissez celui de votre base de données) :

  • module PHP sqlite (>= 3, non recommandé pour des raisons de performances) ;
  • module PHP pdo_mysql (MySQL/MariaDB) ;
  • module PHP pgsql (nécessite PostgreSQL >= 9.0).

Paquets recommandés :

  • module PHP curl (vivement recommandé, certaines fonctionnalités, comme l’authentification utilisateur HTTP, dépendent de celui-ci) ;
  • module PHP fileinfo (vivement recommandé, active les performances d’analyse de fichiers) ;
  • module PHP bz2 (recommandé, nécessaire pour l’extraction des applications) ;
  • module PHP intl (améliore les performances de traduction des langues et corrige le tri des caractères non ASCII) ;
  • module PHP mcrypt (améliore les performances pour le chiffrement des fichiers) ;
  • module PHP openssl (nécessaire pour accéder aux ressources HTTPS).

Obligatoires pour des appllications spécifiques :

  • module PHP ldap (pour l’intégration LDAP) ;
  • module PHP ftp (pour le stockage FTP / l’authentification utilisateur externe) ;
  • module PHP imap (l’authentification utilisateur externe).
  • module PHP smbclient (pour l’intégration SMB/CIFS)

Note

Les montages de lecteurs réseau SMB/Windows nécessitent le module PHP smbclient. Consulter SMB/CIFS).

Recommandés pour des applications spécifiques (facultatif) :

  • module PHP exif (pour la rotation d’image dans les applications images) ;
  • module PHP gmp (pourle stockage SFTP).

Pour améliorer les performances du serveur (facultatif) sélectionner un des systèmes de gestion de mémoire cache suivants :

  • module PHP apc ;
  • module PHP apcu ;
  • module PHP memcached ;
  • module PHP redis (>= 2.2.6+, nécessaire pour le verrouillage de fichier transactionnel).

Consulter Configuration de la mémoire cache pour savoir comment sélectionner et configurer un système de gestion de mémoire cache.

Génération des aperçus (facultatif) :

  • module PHP imagick ;
  • avconv ou ffmpeg ;
  • OpenOffice ou LibreOffice.

Traitement en ligne de commande (facultatif) :

  • module PHP pcntl (active l’interruption de commande en utilisant ctrl-c).

Vous n’avez pas besoin du module WebDAV pour votre serveur Web (c’est-à-dire le module mod_webdav d’Apache), car ownCloud contient un serveur WebDAV intégré, SabreDAV. Si mod_webdav est activé, vous devez le désactiver pour ownCloud (consulter Configuration du serveur Web Apache pour un exemple de configuration).

Exemple d’installation pour Ubuntu 14.04 LTS Server

Note

Voir Détails d’installation manuelle pour plusieurs distributions, ownCloud 9.0 et 9.1 pour des astuces d’installation pour Ubuntu 16.04 LTS, RHEL 7.2 et SLES 12.

Sur une machine exécutant un serveur Ubuntu 14.04 LTS fraîchement installé, installer les modules obligatoires et recommandés pour une installation classique d’ownCloud, utilisant Apache et MariaDB, à l’aide des commandes suivantes

apt-get install apache2 mariadb-server libapache2-mod-php5
apt-get install php5-gd php5-json php5-mysql php5-curl
apt-get install php5-intl php5-mcrypt php5-imagick
  • Ceci installe les paquets pour le cœur du système d’ownCloud. libapache2-mod-php5 fournit les extensions PHP suivantes : bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring mhash openssl pcre Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib. Si vous projetez d’utiliser des applications supplémetaires, gardez à l’esprit qu’elles peuvent nécessiter des paquets supplémentaires. Consulter Prérequis pour des détails.
  • Lors de l’installation du serveur MySQL/MariaDB, vous serez invité à créer un mot de passe root. Retenez-le car il sera nécessaire lors de la configuration de la base de données d’ownCloud.

Téléchargez maintenant la dernière version de l’archive d’ownCloud :

  • rendez-vous sur la page de téléchargements d’ownCloud ;

  • puis dans Download ownCloud Server > Download > Archive file for server owners et téléchargez l’archive tar.bz2 ou .zip ;

  • ceci télécharge un fichier nommé owncloud-x.y.z.tar.bz2 ou owncloud-x.y.z.zip (où x.y.z est le numéro de version) ;

  • téléchargez son fichier de somme de contrôle correspondant : owncloud-x.y.z.tar.bz2.md5 ou owncloud-x.y.z.tar.bz2.sha256 ;

  • vérifiez la somme MD5 ou SHA256:

    md5sum -c owncloud-x.y.z.tar.bz2.md5 < owncloud-x.y.z.tar.bz2
    sha256sum -c owncloud-x.y.z.tar.bz2.sha256 < owncloud-x.y.z.tar.bz2
    md5sum  -c owncloud-x.y.z.zip.md5 < owncloud-x.y.z.zip
    sha256sum  -c owncloud-x.y.z.zip.sha256 < owncloud-x.y.z.zip
    
  • vous pouvez aussi vérifier la signature PGP:

    wget https://download.owncloud.org/community/owncloud-x.y.z.tar.bz2.asc
    wget https://owncloud.org/owncloud.asc
    gpg --import owncloud.asc
    gpg --verify owncloud-x.y.z.tar.bz2.asc owncloud-x.y.z.tar.bz2
    
  • vous pouvez maintenant extraire le contenu de l’archive en utilisant la commande appropriée en fonction du type de l’archive:

    tar -xjf owncloud-x.y.z.tar.bz2
    unzip owncloud-x.y.z.zip
    
  • le contenu sera décompressé dans un unique répertoire owncloud. Copiez le répertoire ownCloud vers sa destination finale. si vous utilisez le serveur HTTP Apache, vous pouvez installer sans risque ownCloud dans le répertoire document racine d’Apache:

    cp -r owncloud /chemin/vers/serveurweb/racine-document
    

    /chemin/vers/serveurweb/racine-document doit être remplacé par la racine document de votre serveur Web:

    cp -r owncloud /var/www
    

Sur les autres serveurs HTTP, il est recommandé d’installer ownCloud en dehors de la racine document.

BINLOG_FORMAT = STATEMENT

Si votre installation d’ownCloud échoue et que vous voyez ceci dans le fichier journal d’ownCloud:

An unhandled exception has been thrown: exception ‘PDOException’ with message
'SQLSTATE[HY000]: General error: 1665 Cannot execute statement: impossible to
write to binary log since BINLOG_FORMAT = STATEMENT and at least one table
uses a storage engine limited to row-based logging. InnoDB is limited to
row-logging when transaction isolation level is READ COMMITTED or READ
UNCOMMITTED.'

veuillez consulter MySQL / MariaDB avec activation des journaux binaires.

Configuration du serveur Web Apache

Sur Debian, Ubuntu et leurs dérivés, Apache est installé avec une configuration opérationnelle, tout ce que vous avez à faire est de créer le fichier /etc/apache2/sites-available/owncloud.conf contenant ces lignes, en remplaçant l’argument de Directory et les autres chemins de fichiers par ceux correspondant à votre configuration:

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

Créez ensuit un lien symbolique dans /etc/apache2/sites-enabled:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

Configurations additionnelles d’Apache

  • Pour qu’ownCloud fonctionne correctement, le module mod_rewrite est nécessaire. Activez-le avec la commande suivante:

    a2enmod rewrite
    

    Les modules complémentaires suivants sont recommandés : mod_headers, mod_env, mod_dir et mod_mime:

    a2enmod headers
    a2enmod env
    a2enmod dir
    a2enmod mime
    

    Si vous utilisez mod_fcgi plutôt que mod_php, activez aussi:

    a2enmod setenvif
    
  • Vous devez sésactiver toute authentification serveur pour ownCloud, car il utilise une authentification basique en interne pour les services DAV. Si vous activé l’authentification sur un dossier parent (avec la directive AuthType Basic par exemple), vous pouvez désactiver l’authentification spécifiquement pour l’entrée ownCloud. En suivant l’exemple de fichier de configuration ci-dessus, ajoutez la ligne suivante dans la section <Directory:

    Satisfy Any
    
  • Lors de l’utilisation de SSL, faites attention à la directive ServerName. Voius devez l’indiquer dans la configuration du serveur, à l’identique du champ CommonName du certificat.

  • Redémarrez maintenant Apache:

    service apache2 restart
    
  • Si vous exécutez ownCloud dans un sous-répertoire et que vous voulez utiliser des clients CalDAV ou CardDAV, assurez-vous d’avoir configuré correctement les URL Service de découverte.

Module Multi-Processing (MPM)

Apache prefork doit être utilisé. N’utilisez pas un module MPM w threadé » comme event ou worker avec mod_php, car PHP n’est pas encore thread safe.

Activation de SSL

Note

Vous pouvez utiliser ownCloud avec HTTP, mais nous recommandons vivement d’utiliser SSL/TLS pour chiffrer tout le trafic de votre serveur, et pour protéger les identifiants de connexion de vos utilisateurs et les données en transit.

Apache sous Ubuntu est installé avec un certificat auto-signé. Vous avez juste à activer le module SSL et le site SSL par défaut. Dans un terminal, saisissez les commandes suivantes:

a2enmod ssl
a2ensite default-ssl
service apache2 reload

Note

Les certificats auto-signés ont leurs revers - particulièrement si vous comptez rendre votre serveur accessible publiquement. Vous devriez envisager d’acquérir un certificat signé par une autorité de certificationYou. Vérifiez auprès de votre fournisseur d’accès à Internet ou auprès de votre registrar.

Assistant d’installation

Après avoir rdémarré Apache, vos devez terminer votre installation en lançant l’assistant d’installation graphique, ou en ligne de commande en utilisant la commande occ . Pour cela, changez temporairement le propriétaire de vos répertoires ownCloud par votre utilisateur HTTP (consulter Renforcement des permissions de répertoires pour savoir comment trouver votre utilisateur HTTP):

chown -R www-data:www-data /var/www/owncloud/

Note

Les administrateurs des distributions ayant SELinux peuvent avoir besoin d’écrire de nouvells règles pour terminer leur installation d’ownCloud. Voir Conseils de configuration SELinux.

Pour utiliser la commande occ, consulter Installation d’ownCloud en ligne de commande.

Pour utiliser l’assistant d’installation graphique, consulter Assistant d’installation.

Renforcement des permissions des répertoires

Après avoir terminé l’installation, vous devez immédiatement définir les permissions de répertoire de votre installation d’ownCloud aussi strictement que possible pour une sécurité renforcéd. Veuillez consulter à cette fin Renforcement des permissions de répertoires.

Votre serveur ownCloud est maintenant prêt à être utilisé.

Conseils de configuration SELinux

Consulter Configuration SELinux pour des suggestions de configuration pour les distributions ayant SELinux, comme Fedora et CentOS.

Notes de configuration pour php.ini

Gardez à l’esprit que les modifications du fichier php.ini peuvent devoir être faites à plusieurs endroits. Ce peut être le cas pour le paramètre date.timezone par exemple.

php.ini - utilisé par le serveur Web :

  /etc/php5/apache2/php.ini
ou
  /etc/php5/fpm/php.ini
ou …

php.ini - utilisé par le client PHP ou par les tâches CRON d’ownCloud :

/etc/php5/cli/php.ini

Notes de configuration pour php-fpm

Sécurité : Utilisez au moins PHP => 5.5.22 ou >= 5.6.6

En raison d’un bogue ayant des implications de sécurité dans les anciennes versions de PHP dans la gestion des données XML, vous être vivement encouragé à utiliser au moins PHP 5.5.22 ou 5.6.6 dans un environnement threadé.

Variables d’environnement système

Lors de l’utilisation de php-fpm, les variables d’environnement système comme PATH, TMP ou d’autres ne sont pas automatiquement renseignées de la même manière qu’en utilisant php-cli. Un appel PHP comme getenv('PATH'); peut par conséquent renvoyer une valeur vide. Vous devez alors configurer manuellement les variables d’environnement dans le fichier ini/config approprié de php-fpm.

Voici quelques exemples d’amplacement de ces fichiers :

Ubuntu/Mint CentOS/Red Hat/Fedora
/etc/php5/fpm/ /etc/php-fpm.d/

Dans les deux exemples, le fichier ini/config est appelé www.conf, et dépend de la version de votre distribution et des personnalisations que vous avez faites. Le fichier peut se trouver dans un sous-répertoire.

Généralement, vous trouverez tout ou partie des variables d’environnement dans ce fichier, commentées comme ceci:

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

Supprimer les commentaires pour les entrées appropriées. Exécuter ensuite la commande printenv PATH pour confirmer vos chemins, par exemple:

$ printenv PATH
/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/

Si une des variables d’environnements système n’est pas présente dans le fichier, vous devrez alors l’ajouter.

Si vous utilisez un hébergement partagé ou un panneau de contrôle pour gérer votre VM ownCloud ou votre serveur, les fichiers de configuration se trouveront très probablement ailleurs, pour des raisons de sécurité et de flexibilité. Consultez alors votre documentation pour trouver les emplacements corrects.

Gardez à l’esprit qu’il est possible de créer des paramètres différents pour php-cli et php-fpm, et pour des domaines et des sites Web différents. Le meilleur moyen de vérifier ces paramètres est d’utiliser Informations et version de PHP.

Taille maximale de téléversement

Si vous voulez augmenter la taille des fichiers téléversés, vous devez aussi modifier votre configuration php-fpm et augmenter les valeurs upload_max_filesize et post_max_size. Vous devrez redémarrer php5-fpm et votre serveur HTTP pour que les changements soient pris en compte.

Notes .htaccess pour Apache

ownCloud fournit son propre fichier owncloud/.htaccess. Parce que php-fpm ne sait pas lire les paramètres PHP dans .htaccess, ces paramètres et permissions doivent être définis dans le fichier owncloud/.user.ini.

Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.