Comment installer ownCLoud sur Ubuntu 20.04

Comment installer ownCLoud sur Ubuntu 20.04

Introduction

Cette page explique comment installer ownCLoud sur Ubuntu 20.04. Le guide suivant a été testé avec les versions suivantes :

Première étape, vérifer que le système est à jour :

sudo apt update
sudo apt upgrade

Après avoir mis el système à jour, redémarer si nécessaire.

Installer la stack LAMP

OwnCLoud a besoin d'un serveur web pour la première configuration et pour l'interface web. L'option la plus simple est d'installer LAMP pour obtenir Apache, MySQL et PHP. Installer le paquage LAMP :

sudo apt install lamp-server^ -y

Lorsque l'installation est terminée, démarer et activer le service Apache :

sudo systemctl start apache2
sudo systemctl enable apache2

À cette étape, votre serveur Apache devrait être fonctionnel. Vérifier cela dans un navigateur en saisissant http://localhost dans la barre d'URL. Vous devriez obtenir la page suivante :

Le serveur Apache fonctionnel avant l'installation d'ownCloud

Installation de PHP

Installer PHP et les paquets associés avec la commande suivante :

sudo apt-get install php php-opcache php-gd php-curl php-mysqlnd php-intl php-json php-ldap php-mbstring php-mysqlnd php-xml php-zip -y

Redémarrer Apache pour que les changements soient pris en compte.

sudo systemctl restart apache2

MySQL

Démarrer et activer le service MySQL :

sudo systemctl start mysql
sudo systemctl enable mysql

Il est fortement recommandé de renforcer la sécurité de la base de données MySQL avec la commande mysql_secure_installation:

sudo mysql_secure_installation

Voici les réponse par défaut recommandé pour chacun des paramètres :

Nous avons maintenant besoin de créer une base de données ownCLoud depuis la console MySQL:

sudo mysql --user=root -p

Créer la base de données MySQL pour ownCLoud

CREATE DATABASE ownclouddb;

Créer un nouvel utilisateur. Remplacer password par la valeur appropriée :

CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'password';

Donner à ce nouvel utilisateur les droits nécessaires :

GRANT ALL ON ownclouddb.* TO 'ownclouduser'@'localhost' WITH GRANT OPTION;

Activer les changement en purgeant les privilèges :

FLUSH PRIVILEGES;

Enfin, quitter la console MySQL :

exit

Télécharger ownCloud

Télécharger la dernière version d'ownCLoud, 10.7.0 à l'heure où j'écris ces lignes :

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

Décompresser le fichier téléchargé :

unzip owncloud-latest.zip

Un nouveau dossier owncloud a normalement été créé après avoir décompressé le fichier. Déplacer le dossier dans le répertoire d'Apache :

sudo mv owncloud /var/www/

Changer le propriétaire du dossier pour l'utilisateur www-data :

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

Créer le certificat SSL

Activer mod_ssl avec la commande suivante :

sudo a2enmod ssl

Redémarrer Apache pour activer les changements :

sudo systemctl restart apache2

Pour obtenir la sécurité HTTPS, créons le certificat SSL :

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/owncloud.key -out /etc/ssl/certs/owncloud.crt

Répondez aux questions. Cette commande devrait générer deux fichiers :

Configurer Apache

Créer et éditer un nouveau fichier de configuration Apache :

sudo gedit /etc/apache2/sites-available/owncloud.conf

ou utiliser nano si vous êtes en ligne de commande :

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

Compléter le fichier texte avec le script suivant et adapter le selon vos besoins :

<VirtualHost *:443>
    ServerName localhost
    DocumentRoot /var/www/owncloud

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/owncloud.crt
    SSLCertificateKeyFile /etc/ssl/private/owncloud.key
</VirtualHost>

Activer le nouveau fichier de configuration:

sudo a2ensite owncloud.conf

Activer les modules rewrite, mime, et unique_id :

sudo a2enmod rewrite mime unique_id

Redémarrer le serveur Apache pour activer les changements :

sudo systemctl restart apache2

Dans un navigateur, entrez l'URL https://localhost, vous devriez voir apparaitre cette page :

Certificat SSL activé

Sélectinnez advanced et proceed (vous pouvez faire confiance au certificat, puisque c'est le votre).

Si vous voulez une redirection automatique des pages HTTP en HTTPS, éditez le fichier suivant :

sudo gedit /etc/apache2/sites-available/000-default.conf

Ajoutez cette ligne dans le fichier :

Redirect / localhost/

Configurer ownCLoud

Une fois qu'Apache, PHP, MySQl et ownCloud sont installés, la dernière étape consiste à configurer ownCLoud. Cette configuration se fait par l'interface web d'owncloud. Si tout est correctement configuré, vous devriez pouvoir accéder à l'interface web par l'une des adresses suivantes :

La première fois que vous accédez à l'interface web d'ownCLoud, vous obtenez la page de première configuration. Détaillons chacun des paramètres :

Choisisser un nom d'utilisateur et un mot de passe pour l'administrateur principal.

Première configuration d'ownCLoud: création du compte administrateur

Spécifier le dossier qui va contenir les données dans lequel les données des utilisateurs vont être sauvegardées.

Première configuration d'ownCLoud: spécifier le dossier de données

La valeur par défaut est /var/www/owncloud/data, mais vous pouvez changer ce dossier en fonction de vos besoins. Si vous sélectionnez un autre dossier, ajouter l'utilisateur www-data comme propriétaire du dossier :

sudo chown -R www-data: /path/to/my/folder/

![Première configuration d'ownCLoud: configuration de la base de données

Connecer ownCLoud à al base de données MySQL que nous avons configuré précédemment :

Cliquer sur Finish setup. Vous devriez maintenant être capable de vous logger dans votre nouvelle instance d'ownCLoud.

L'interface ownCLoud installée et fonctionnelle

Supprimer le serveur web par default.

Si vous n'utiliez pas le serveur web et que vous n'avez pas fait de redirection HTTP vers HTTPS, il est recommandé de supprimer la page HTML par défaut. Éditer la page par default :

sudo gedit /var/www/html/index.html

Remplacer le contenu par la page de votre choix, par exemple :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Access denied</title>
  </head>
  <body>
    <h1>HTTP Status 403 - Access is denied</h1>  </body>
</html>

Lorsque vous vous connectez au dossier racine du serveur, vous devriez maintenant obtenir une page qui ressemble à celle-ci :

Accès refusé au dossier racine du serveur ownCloud


Dernière mise à jour : 07/05/2021