Aller au contenu principal

Installer Nextcloud

Installation de Nextcloud sur VPS Linux RedHeberg

Nextcloud est une solution complète de cloud privé open-source permettant de stocker, synchroniser et partager fichiers, calendriers, contacts et bien plus depuis votre propre serveur. Ce guide présente deux méthodes d'installation sur votre VPS Linux RedHeberg.

Méthode 1 : Pré-installation 1-clic (Recommandée)

Commande depuis l'espace client

La méthode la plus simple consiste à utiliser la pré-installation Nextcloud disponible dans votre espace client RedHeberg.

  1. Connexion à l'espace client

  2. Sélection du VPS

    • Accédez à la section "Mes services"
    • Cliquez sur votre VPS Linux
  3. Installation Nextcloud

    • Dans l'onglet "Actions", sélectionnez "Réinstaller le système"
    • Choisissez "Nextcloud" dans la liste des pré-installations
    • Confirmez l'installation
info

L'installation automatique configure Nginx, PHP 8.2, MariaDB et Nextcloud avec SSL Let's Encrypt pré-configuré. Le processus prend environ 5 minutes.

  1. Récupération des identifiants
    • Les identifiants d'accès sont envoyés par email
    • Connexion via https://YOUR_SERVER_IP

Méthode 2 : Installation manuelle

Prérequis et préparation du système

Mise à jour complète du système avant installation :

# Mise à jour des paquets
sudo apt update && sudo apt upgrade -y

# Installation des dépendances essentielles
sudo apt install -y curl wget unzip software-properties-common gnupg2

Installation de Nginx et PHP 8.2

# Installation de Nginx
sudo apt install -y nginx

# Ajout du dépôt PHP 8.2
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update

# Installation de PHP 8.2 et modules requis
sudo apt install -y php8.2 php8.2-fpm php8.2-mysql php8.2-xml \
php8.2-gd php8.2-curl php8.2-zip php8.2-intl php8.2-mbstring \
php8.2-bcmath php8.2-bz2 php8.2-imagick php8.2-redis

# Démarrage et activation des services
sudo systemctl enable nginx php8.2-fpm
sudo systemctl start nginx php8.2-fpm

Installation et configuration de MariaDB

# Installation de MariaDB
sudo apt install -y mariadb-server mariadb-client

# Sécurisation de MariaDB
sudo mysql_secure_installation

# Création de la base de données Nextcloud
sudo mysql -u root -p << EOF
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'VotreMotDePasseSecurise';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
EOF

Téléchargement et installation de Nextcloud

# Téléchargement de la dernière version
cd /tmp
wget https://download.nextcloud.com/server/releases/latest.zip

# Extraction dans le répertoire web
sudo unzip latest.zip -d /var/www/
sudo mv /var/www/nextcloud /var/www/nextcloud

# Configuration des permissions
sudo chown -R www-data:www-data /var/www/nextcloud/
sudo chmod -R 755 /var/www/nextcloud/

Configuration Nginx

Création du virtual host Nextcloud :

# Création du fichier de configuration Nginx
sudo tee /etc/nginx/sites-available/nextcloud << 'EOF'
server {
listen 80;
server_name YOUR_SERVER_IP;
root /var/www/nextcloud;
index index.php index.html;

client_max_body_size 512M;
fastcgi_buffers 64 4K;

location / {
try_files $uri $uri/ /index.php$request_uri;
}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}

location ~* \.(?:css|js|svg|gif|png|jpg|jpeg)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}

location ~ /\.ht {
deny all;
}
}
EOF

# Activation du site et redémarrage Nginx
sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Configuration SSL avec Let's Encrypt

# Installation de Certbot
sudo apt install -y certbot python3-certbot-nginx

# Génération du certificat SSL (remplacer votre-domaine.com)
sudo certbot --nginx -d YOUR_SERVER_IP

# Configuration du renouvellement automatique
sudo crontab -e
# Ajouter cette ligne :
# 0 12 * * * /usr/bin/certbot renew --quiet

Premier lancement et configuration

Accès depuis navigateur

  1. Connexion initiale

    • Ouvrez https://YOUR_SERVER_IP dans votre navigateur
    • Acceptez temporairement le certificat auto-signé si applicable
  2. Configuration administrateur

    • Nom d'utilisateur : admin
    • Mot de passe : choisissez un mot de passe sécurisé
  3. Configuration base de données

    • Type : MySQL/MariaDB
    • Serveur : localhost
    • Utilisateur : nextcloud
    • Mot de passe : celui configuré précédemment
    • Base : nextcloud

Applications mobiles et desktop

Applications officielles

Configuration de synchronisation :

  • Adresse serveur : https://YOUR_SERVER_IP
  • Identifiants : ceux créés lors de l'installation

Sécurisation et optimisation

Configuration PHP recommandée

# Optimisation PHP pour Nextcloud
sudo tee -a /etc/php/8.2/fpm/php.ini << 'EOF'
memory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M
max_execution_time = 300
opcache.enable = 1
opcache.memory_consumption = 128
EOF

# Redémarrage PHP-FPM
sudo systemctl restart php8.2-fpm

Sauvegarde automatisée

# Script de sauvegarde quotidienne
sudo tee /usr/local/bin/backup-nextcloud.sh << 'EOF'
#!/bin/bash
BACKUP_DIR="/backup/nextcloud"
DATE=$(date +%Y%m%d)

mkdir -p $BACKUP_DIR
mysqldump -u root -p nextcloud > $BACKUP_DIR/nextcloud-db-$DATE.sql
tar -czf $BACKUP_DIR/nextcloud-files-$DATE.