# Nextcloud

## Installation des packages nécessaires

```bash
apt-get install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip wget unzip -y
```

## Téléchargement de nextcloud

```bash
wget https://download.nextcloud.com/server/releases/latest.zip
unzip ~/latest.zip 
sudo mv nextcloud /var/www/html/ 
sudo chown -R www-data:www-data /var/www/html/nextcloud 
chown -R www-data:www-data /var/www/html/nextcloud
```

## Création de la base de donnée pour nextcloud

```sql
mysql -u root -p
CREATE DATABASE nextclouddb;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'myPassword';
GRANT ALL ON nextclouddb.* TO 'nextclouduser'@'localhost';
```

## Apache2

```bash
nano /etc/apache2/sites-available/nextcloud.conf
```

### nextcloud.conf (configuration de l'hôte virtuel)

```
<VirtualHost *:80>
     ServerAdmin yann.fanha@eduvaud.ch
     DocumentRoot /var/www/html/nextcloud/
     ServerName srv-lin1-02.lin1.local
     ServerAlias 10.10.10.22

     Alias /nextcloud "/var/www/html/nextcloud/"

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
```

#### Il faut ensuite activer notre site

```bash
a2ensite nextcloud.conf
a2dissite 000-default.conf # Désactiver le site par défaut (page d'information d'apache2)
```

## Configuration de Nextcloud

### Configuration du dossier des données sur le SAN

<pre><code><strong>mkdir /nextcloud-data/data
</strong><strong>chown -R www-data:www-data /nextcloud-data/data/
</strong></code></pre>

#### Installation du module PHP nécessaire pour le connecter au LDAP

```
apt-get install -y php-ldap
```

**Configuration de base de nextcloud avec la base de données, l'administrateur et le lien du répertoire de stockage des données.**

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2F16YIZVS2RfX0YoucFlpV%2Fnextcloud-1.png?alt=media&#x26;token=0c0ebc6c-8ef9-4fb8-9775-df2bab8f56cb" alt=""><figcaption></figcaption></figure>

&#x20;**Paramètre des quotas pour les utilisateurs (Leur dossier personnel).**

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2Fx4NmnTsI5AYMWlwIVv1u%2Fuser-quota.png?alt=media&#x26;token=ff1e6884-bf0c-4f20-bac2-f1d8d7b6a8c6" alt=""><figcaption></figcaption></figure>

### Configuration LDAP

**Activation de l'application pour se connecter au serveur LDAP. Sous "Applications" > "Packs d'applications"**

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2FljKIu7KCPDkKD8BucVfT%2Fnextcloud-ldap.png?alt=media&#x26;token=24c50245-6891-46e0-82d5-b43cfc90c1db" alt=""><figcaption></figcaption></figure>

**Connexion au serveur LDAP sous "Paramètre d'administrations" > "Intégrations LDAP/AD"**

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2F4bzulYy9OWW7Ih1YeHXl%2Fnextcloud-ldap2.png?alt=media&#x26;token=3d65f2cb-889b-4572-83b2-f68cea54e5ba" alt=""><figcaption></figcaption></figure>

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2Fv95015HCiBaYfPtnDaOy%2Fnextcloud-ldap3.png?alt=media&#x26;token=0b844810-c2ba-4c9e-9f58-516d7d1dc706" alt=""><figcaption></figcaption></figure>

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2FZtO98UsiUbAhyg7p8Wfd%2Fnextcloud-ldap4.png?alt=media&#x26;token=bf40e5b7-9d63-4aa7-906a-952b612e549c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2FEsDEkptruKbqYysLV0ay%2Fimage.png?alt=media&#x26;token=769bf8ea-fc5d-44a2-8412-6b8773c7ea8b" alt=""><figcaption></figcaption></figure>

### Création des dossiers communs

Une application "group folders" est disponible dans "Pack d'applications". Il faut l'activer afin de pouvoir gérer des dossiers de groupes.

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2FlOTuxGeN0BAiBwAbxpCz%2Fimage.png?alt=media&#x26;token=6735dace-f0dc-4162-8643-f879b895604c" alt=""><figcaption></figcaption></figure>

Sous "Paramètres d'administration" > "Dossiers de groupes", on peut ensuite créer des dossiers partagés entre groupes.

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2FVX3s1VDnK3OsfzcRo3Fc%2Fimage.png?alt=media&#x26;token=7e5cd049-80d5-43df-80bf-d12ae2a725a6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://69709057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoBLxWyWU8kHXkqebwCz0%2Fuploads%2FKbnO56o7M8zF2rtYeRUr%2Fgroup-folders1.png?alt=media&#x26;token=9a52e58d-46bb-48e2-b0bc-363df2ffc5f1" alt=""><figcaption><p>Création d'un dossier avec les droits nécessaires</p></figcaption></figure>
