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 :

  • Un serveur web : Apache2 et de php5.
  • Un serveur de base de données : MariaDB.

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, OneDrive par exemple.
*Il existe également un fork de OwnCloud nommé NextCloud.

Installation des pré-requis :

Nous commencerons 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 mariab-server, nous avons dû créer un mot de passe root pour nous authentifier.
Nous l'utilisons pour se connecter à la base de donnée :

mysql -uroot -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ée 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ée créée 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 ligne rouges apparaissent 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/dataowoncloud
    N'oublions pas de remettre les droits d'accès et d'écriture au serveur web :
    chmod -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 modifiée la comme ceci :
    'datadirectory' => '/home/notre_utilisateur/datacloud',
  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' => '\OC\Memcache\APC'
    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 addons 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.

 

Commentaires