Cela fait un petit moment que j’ai en tête de me créer mon propre espace de stockage en ligne, a la manière de Dropbox, OneDrive, etc. afin de partager des documents (photos/vidéos majoritairement) de façon simple, sans avoir a créer un compte sur de nombreuses plateformes, avec des restrictions plus ou moins importantes. Je suis donc parti sur la solution Owncloud ! Voyons cela ensemble !

Matériel choisi

Dans mon cas, je me suis créé une machine virtuelle, sur mon second serveur Proxmox, qui est très peu utilisé. Il s’agit donc d’une machine très modeste :

  • 2 vCPU
  • 1Go de RAM
  • 10 Go de disque dur pour l’installation
  • 50 Go pour les données.

Dessus j’y installe la version 10 de Debian. Je vous passe toutes les premières étapes d’installation, et de personnalisation (j’ai déjà fait un article sur la partie MOTD que je personnalise).

Avant de passer à l’installation du nécessaire à OwnCloud, je vérifie que mon système est bien à jour via les commandes suivantes :

apt-get update && apt-get upgrade

Installation d’Apache

Owncloud nécessite plusieurs éléments à installer avant de pouvoir le configurer, et entre autres un serveur web, qui sera ici Apache. Pour l’installation, rien de compliqué pour le moment, il suffit de saisir la commande ci-dessous. La configuration Apache, elle, sera vue un peu plus bas dans l’article.

apt-get install apache2

Installation Apache

Installation de MariaDB pour la base de données

Ensuite, nous avons besoin d’une base de données, et pour cela je vais utiliser MariaDB. Même chose que précédemment, la configuration sera détaillée un peu plus bas. Pour l’installation, je saisis la commande suivante :

apt-get install mariadb-server mariadb-client

Installation MariaDB

Installation de PHP

Pour finir avec les prérequis, il faut maintenant installer PHP, qui est un langage de programmation libre, et utilisé sur beaucoup de sites Web.

Ici, beaucoup de modules liés à PHP sont nécessaires, alors attention à ne pas en oublier, sous peine de ne pas voir fonctionner OwnCloud.

apt-get install php7.3 libapache2-mod-php7.3 php7.3-curl php7.3-intl php7.3-json php7.3-gd php7.3-mbstring php7.3-mysql php7.3-xml php7.3-zip

Installation de PHP

Configuration de MariaDB

On va maintenant configurer MariaDB de façon sécurisée à l’aide de la commande suivante :

mysql_secure_installation

Il faut alors répondre à quelques petites questions de configuration :

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

On se connecte ensuite à MariaDB

mysql -u root -p

Puis on va créer une base de données pour OwnCloud ainsi qu’un utilisateur.

MariaDB [(none)]> CREATE DATABASE ownclouddb;
MariaDB [(none)]> GRANT ALL ON ownclouddb.* to 'owncloud'@'localhost' IDENTIFIED BY ‘motdepasse';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Téléchargement OwnCloud

La partie MariaDB est maintenant terminée, nous allons pouvoir télécharger OwnCloud.

wget https://download.owncloud.org/community/owncloud-complete-20200731.tar.bz2

Téléchargement OwnCloud

Je vais ensuite extraire le contenu du fichier téléchargé.

tar -xjf owncloud-complete-20200731.tar.bz2

Et je déplace le contenu vers l’emplacement du serveur Web Apache.

cp -r owncloud /var/www

Pour finir, je donne les droits a l’utilisateur www-data, utilisé par le serveur Apache, sur le dossier owncloud.

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

Configuration Apache

Afin de configurer Apache, pour que le site OwnCloud soit disponible, il faut tout d’abord créer un fichier de configuration via la commande suivante :

nano /etc/apache2/sites-available/owncloud.conf

Dans ce fichier, il faut ajouter les lignes suivantes.

Alias /owncloud "/var/www/owncloud/"
<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All
  <IfModule mod_dav.c>
    Dav off
  </IfModule>
</Directory>

Afin de rendre le site actif, il faut créer un lien vers ce fichier de configuration via la commande :

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

Maintenant, il faut activer tous les modules Apache nécessaires au bon fonctionnement de OwnCloud :

a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
a2enmod unique_id

Enfin, il faut redémarrer le service Apache.

service apache2 restart

Redémarrage Apache

C’est terminé pour la partie Apache.

Montage du disque supplémentaire

Comme je le disais au début de l’article, j’ai souhaité ajouter un disque de 50Go, afin d’y stocker les données. Pour cela, il faut que je le rende visible par le système.

Je commence par utiliser la commande fdisk -l afin de connaitre le chemin de mon second disque.

Ajout du 2nd disque

On peut voir qu’il s’agit du /dev/sdb. On va donc le formater afin qu’il soit utilisable.

mkfs.ext3 /dev/sdb1

Je vais ensuite créer un dossier que je vais nommer « data » à l’aide de mkdir /data et qui servira pour stocker les données sur le second disque.

On va donc éditer le fichier fstab à l’aide de nano /etc/fstab et y ajouter la ligne suivante :

/dev/sdb1       /data   ext3    defaults, 0        0

On peut maintenant « monter » notre second disque dans le dossier /data via la commande mount -a.

Pour finir, je donne les droits à l’utilisateur www-data sur ce dossier.

chown -R www-data:www-data /data
Ajout du 2nd disque

Configuration de OwnCloud

Le plus gros de la configuration est maintenant fait, et tous les prérequis sont installés. On va maintenant terminer le configuration de OwnCloud. Et pour cela, il faut se rendre dans un navigateur, et saisir l’adresse IP de votre serveur. Dans mon cas, je me rend sur http://192.168.1.111/owncloud

Il faut alors créer un compte Administrateur, en y renseignant le nom d’utilisateur ainsi que le mot de passe.

Concernant l’emplacement des données, et dans mon cas, je veux stocker les données sur un autre emplacement. Je remplace donc /var/www/owncloud/data par /data

Enfin, vient la partie base de données, qu’il suffit de remplir avec les identifiants et le nom de la base créés lors de la configuration de MariaDB, puis de cliquer sur Terminer l’installation.

Après avoir patienté quelques minutes, une page d’authentification apparaît, et il ne reste plus qu’à saisir les identifiants renseignés précédemment pour accéder à son espace Owncloud.

L’installation de OwnCloud est terminée, mais vous devez vous demander comment je vais pouvoir partager des données avec d’autres personnes ? Et vous avez raison, car pour l’instant ce n’est pas possible, car mon serveur est hébergé chez moi. Mais cela fera l’objet d’un prochain article ou je vous expliquerais la méthode utilisée :). Cet article est déjà bien assez long ainsi.

Dans tous les cas, j’espère qu’il vous aura plu, et qu’il aidera certains d’entre vous !

À bientôt sur cloriou.fr