ownCloud

OwnCloud est un soft qui permet de mettre à disposition très rapidement un environnement cloud comprenant

  • stockage et partage de fichiers (getion de quotas possible)
  • carnet d’adresses
  • calendrier
  • gestionnaire de tâches
  • synchronisation avec les smartphones
  • synchronisation des préférences de Mozilla Firefox
  • édition de fichiers ODT (OpenDocument Text) en ligne
  • Galerie d’images, qui permet de visualiser ses photos et de les classer en albums.

Il nécessite

  • un serveur web (apache ou ngix)
  • php
  • une base de donnée (sqlite, postgresql, mysql, ...)

Note

si il y a moins de 10 utilisateurs une base sqlite est largement suffisante

Installation

Nous allons procéder à une installation sous debian

apt-get update
apt-get upgrade
apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-json php5-common php5-intl php-pear php-apc php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite

Modification du fichier de configuration du site par défaut d’apache (/etc/apache2/sites-available/default)

AllowOverride All

Note

il est possible de créer une configuration spécifique pour cet application (cf doc Apache)

Afin de pouvoir transférer de gros fichier nous modifions le fichier /etc/php5/apache2/php.ini

upload_max_filesize = 2G
post_max_size = 2G

On active la réécriture d’Apache

a2enmod rewrite
a2enmod headers

et on redémarre le serveur apache

/etc/init.d/apache2 restart

Nous allons maintenant télécharger ownclouf et l’installer sur le serveur apache par défaut

cd
wget http://download.owncloud.org/community/owncloud-7.0.2.tar.bz2
tar xvf owncloud-7.0.2.tar.bz2
mv owncloud /var/www
cd /var/www
chown -R www-data:www-data owncloud

On peut finir l’installation en ce connectant sur http://127.0.0.1/owncloud

Afin d’optimiser owncloud qui fait par défaut à chaque chargement de page des tâches de fond, on peut configurer via crontab que ces tâches soient réalisées toutes les 5 minutes, par exemple, par le système lui même

crontab -e
*/5  *  *  *  * php -f /var/www/owncloud/cron.php

Sécurisation de la connexion à owncloud

Nous créons un nnouvel virtualhost

vi /etc/apache2/sites-available/owncloud.https
NameVirtualHost *:443
# Hôte virtuel qui écoute sur le port HTTPS 443
<VirtualHost *:443>
DocumentRoot /var/www/
# Activation du mode SSL
SSLEngine On
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
# On indique ou est le certificat
SSLCertificateFile /etc/ssl/certs/owncloud.crt
SSLCertificateKeyFile /etc/ssl/private/owncloud.key
</VirtualHost>

Nous allons maintenant activer le module SSL dans Apache2 pour que celui-ci puisse être utilisé dans nos échanges ownCloud

a2enmod ssl

On doit ensuite ajouter notre nouveau site aux sites actifs d’Apache2

a2ensite owncloud.https

Création du certificat auto-signé: maintenant nous pouvons accéder à Owncloud via le HTTPS, seulement on peut encore passer aussi via le HTTP, nous allons donc le forcer à utiliser le HTTPS. Il faut aller modifier un fichier PHP dans Owncloud pour forcer l’accès en HTTPS.

vi /var/www/config/config.php
'force ssl' => true

Nous allons ensuite passer à la génération de nos clés, on crée un répertoire pour les clés :

cd /etc/apache2/
mkdir CertOwncloud
cd CertOwncloud

On génère notre clé sur 1024 bits :

openssl genrsa -out owncloud.key 1024

Création des ”.key” et ”.csr” :

openssl req -new -key owncloud.key -out owncloud.csr

On rempliera ensuite les données du certificat correctement, il est important de noter que l’absence du CommonName pourra générer des erreurs plus tards. On crée ensuite le fichier de certificat :

openssl x509 -req -days 365 -in owncloud.csr -signkey owncloud.key -out owncloud.crt

On copiera ensuite nos certificats là on tous les certificats sont stockés :

cp owncloud.crt /etc/ssl/certs
cp owncloud.key /etc/ssl/private

Procédez au redémarrage d’Apache2 après avoir vérifié sa configuration

apachectl configtest
service apache2 restart

On pourra ensuite vérifier dans notre navigateur que le HTTPS est bien utilisé en nous rendant sur l’interface web de notre ownCloud https://127.0.0.1/owncloud

gestion de libre office dans owncloud

Il faut installer libreoffice

apt-get install libreoffice