Installation et configuration de Owncloud

OwnCloud

OwnCloud est un service de stockage, de partage de fichiers et se décline en deux versions. Dans notre article nous utiliserons la version community. Pour que ce service Cloud fonctionne il a besoin de :

OwnCloud permet de garder sous contrôle ses données et l’ensemble peut être relié à un serveur LDAP. Le partage de lien, la réplication inter-OwnCloud et d’autres fonctionnalités présentent OwnCloud comme l’une des meilleures alternative* face à des mastodontes que sont Google Drive, DropBox ou OneDrive par exemple.
*Il existe également un fork de OwnCloud nommé NextCloud.

Installation des pré-requis :

Nous commençons par installer paire par paire nos paquets :

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

MariaDB

A l’installation de maria-server, nous avons dû créer un mot de passe root pour nous authentifier.
Nous l’utilisons pour nous connecter à la base de données :

mysql -u root -p

Créons la base OwnCloud avec le compte « owncloud » et le mot de passe : « monpassword » :

CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'monpassword';

Nous quittons désormais MariaDB :

quit

Nous avons configuré notre base de données MariaDB pour OwnCloud (autre serveur de base de donnée compatible).

Apache2

Le serveur web a besoin d’être modifié :

nano /etc/apache2/sites-available/000-default.conf

Nous allons modifier une ligne qui se nomme DocumentRoot en :

<VirtualHost *:80>
        DocumentRoot /var/www/owncloud
</VirtualHost>

Le chemin par défaut sur lequel pointera notre serveur web sera dans le dossier owncloud.

Installation de OwnCloud

L’installation de OwnCloud est très simple et ne requiert aucune connaissance particulière.
Téléchargeons OwnCloud au format .zip :

wget https://download.owncloud.org/community/owncloud-9.1.4.zip

Unzip est un programme à rajouter sur notre distribution Debian :

apt-get install unzip

Dézippons OwnCloud :

unzip owncloud-9.1.4.zip

Nous renommons le répertoire :

mv owncloud-9.1.4 owncloud

Copions-le ensuite vers l’emplacement /var/www/ :

cp -r owncloud /var/www/

Nous allons donner les droits à l’utilisateur et au groupe www-data au répertoire owncloud :

chown -R www-data:www-data owncloud

A partir de maintenant notre installation de OwnCloud est terminée et nous allons passer à la configuration.

Configuration de OwnCloud

Pour configurer notre OwnCloud, rendons nous sur l’adresse IP du serveur (ex:http://votre_ip).
Nous allons fournir les informations nécessaires à la configuration de OwnCloud :

Nous retrouvons en bas les paramètres d’identification de la base de données créés précédemment.
Une fois les champs remplis, terminons l’installation et cliquons sur finish setup pour se connecter à OwnCloud :

Renforcer la sécurité de OwnCloud :

Rendons nous dès la première connexion dans l’onglet admin en haut à gauche de notre nom d’utilisateur. Des lignes rouges apparaîssent ce qui indique certains problèmes :

  1. Le dossier de donnée de OwnCloud est par défaut dans /var/www/owncloud/data, il nous faut le déplacer.
  2. L’accès en HTTPS est fortement conseillé pour renforcer la sécurité et chiffrer les échanges.
  3. Éventuellement nous ajouterons du cache pour avoir des meilleures performances.

Nous allons résoudre une à une ces lignes rouges :

  1. Déplaçons le dossier data de OwnCloud, par exemple dans :  /home/notre_utilisateur/dataowncloud/ :
    mv /var/www/owncloud/data/ /home/notre_utilisateur/dataowncloud

    N’oublions pas de remettre les droits d’accès et d’écriture au serveur web :

    chown -R www-data:www-data /home/notre_utilisateur/dataowncloud

    Modifions ensuite la configuration de OwnCloud :

    nano /var/www/owncloud/config/config.php

    A la ligne de datadirectory, modifiez-la comme ceci :

    'datadirectory' => '/home/notre_utilisateur/dataowncloud',
  2. Pour le support du SSL par le serveur web, activons le mode a2enmod headers  :
    a2enmod headers

      Éditons le fichier ssl de Apache2 :

    nano /etc/apache2/sites-available/default-ssl.conf

    Ajoutons entre <virtualhost :443> et </virtualhost> ceci :

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
    

    Editons aussi le fichier non ssl (defaut) :

    nano /etc/apache2/sites-available/000-default.conf

    Ajoutons une redirection entre <virtualhost :80> et </virtualhost> ceci :

    Redirect permanent / https://nom_dns_externe/

    Modifions ensuite le fichier suivant :

    nano /var/www/owncloud/config/config.php

    Ajoutons lui la ligne suivante :

    'forcessl' => true,
    
  3. Pour activer le cache, installons un module PHP spécifique :
    apt-get install php-apc

    Modifions une fois de plus la configuration de owncloud :

    nano /var/www/owncloud/config/config.php

    Ajoutons la ligne suivante :

    'memcache.local' => 'OCMemcacheAPC'

    Redémarrons le serveur Apache2 :

    service apache2 restart

Le résultat apparaît dans admin « All checks passed » :

Owncloud et la connexion LDAP

Les comptes externes qui sont sur un serveur ldap peuvent être connectés à OwnCloud.
Dans l’exemple suivant, j’utilise le serveur ldap de Zimbra qui contient des comptes mails.
Pour commencer, rendons-nous dans le second menu en haut à gauche dans Apps :

Puis dans l’onglet productivity où nous trouvons l’addon : LDAP user and group backend 0.9.0
Mais pour que celui-ci fonctionne, nous allons devoir installer le paquet php5-ldap :

 apt-get install php5-ldap

L’ajout de la fonctionnalité au serveur Apache2 :

a2enmod ldap

Un redémarrage du serveur web est nécessaire :

/etc/init.d/apache2 restart

Séléctionnons enable sur notre addon OwnCloud, puis la configuration est relativement simple :

  Server:         votre ip serveur
  Port:           389
  Bind DN:        uid=zimbra,cn=admins,cn=zimbra
  Bind Password:  votre_mdp_ldap
  Users DN:       ou=people,dc=kassianoff,dc=fr

Le résultat devrait être similaire à une connexion établie :

Je vous invite à lire l’article pour plus d’informations sur ldap et la hiérarchisation avec Zimbra.
Rendons-nous désormais dans l’onglet Users de notre serveur OwnCloud où tous nos utilisateurs sont importés.
Nous avons terminé l’installation et la configuration de OwnCloud.