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 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 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
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
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
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.
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
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
Alexandre
12 avril 2021 — 18 h 49 min
Bonjour,
Merci pour ce super tuto ! j’ai réussi à l’installer sans probleme grace aux très bons conseils ;).
J’ai tout de même une question :
J’ai fait l’install mais sans mettre un DD car je voulais tester avant de l’acheter.
J’ai vu maintenant que cela fonctionnait très bien sur ma carte SD dans mon Raspberry Pi4 et je voudrai donc y rajouter un DD en USB3.
Je l’ai branché, j’ai fait toutes les premières étapes, mais je bloque à l’acces à owncloud car j’ai déja créer mon mot de passe et mon compte admin avec les infos pointant sur la carte SD…
Comment puis je les modifier comme tu le décris si bien sur ton tuto ?
Dois je forcément tout réinstaller ou y a t il une manip que je peux faire maintenant ?
Je précise que je débute sous Linux ;)…
Merci d’avance pour tes conseils…
cloriou
14 avril 2021 — 16 h 05 min
Bonjour,
Merci pour ce retour positif concernant l’article.
Concernant ta question, si tu as ajouté ton disque, et que tu l’a monté dans un dossier via le fstab, et ajouté les droits, tu dois pouvoir changer l’emplacement de stockage, en modifiant le fichier config.php se trouvant sous /var/www/owncloud/config ! Tu a plus qu’a modifier la valeur de « data directory » en spécifiant le dossier que tu as créé précédemment.
Pense à bien tout redémarrer ensuite et faire une sauvegarde au cas ou avant afin de pouvoir revenir en arrière 😉
Bonne journée
Arnaud
28 mars 2023 — 5 h 45 min
Super merci pour le tuto !
Du coup je participe à l’amélioration en te précisant là où j’ai bloqué 🙂
1) Lors de l’installation de Php car on est en 7.4 (du coup il faut modifier le 3 en 4)
2) Lors de la configuration de la BDD (il y avait une ou 2 questions en plus par rapport à tes screenshots)
3) Lors de la création de la BDD: il faut rentrer chaque commande ligne par ligne et pas tout en même temps (à la différence de l’install de Php où là ça marche)
4) Lors du téléchargement de Owncloud. Le bon lien au moment où j’écris ces lignes est:
https://download.owncloud.com/server/owncloud-complete-20220919.tar.bz2
5) L’extraction du fichier devient de fait: tar -xjf owncloud-complete-20220919.tar.bz2
6) Une fois que l’on est dans l’éditeur de texte nano pour modifier le fichier owncloud.conf il serait judicieux de préciser qu’il faut faire ^X pour en sortir et enregistrer les modifications 🙂
7) Préciser que les modules apache doivent être installés ligne par ligne (again :p )
Voilà
Je n’ai pas encore fait la partie avec le disque supplémentaire car il est déjà tard (ou tôt) et je vais me coucher.
Mais je ne manquerais pas de te faire un retour également ainsi que pour la partie de l’ouverture vers l’extérieur (c’est quand même le but final)
cloriou
13 juin 2023 — 22 h 14 min
Merci pour tes remarques.
Une mise à jour ne ferais pas de mal si je trouve le temps un de ces quatre 🙂