GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Installer Nextcloud 9 sur Ubuntu 16.04

Dans cet article, nous allons vous montrer comment installer Nextcloud 9 sur un VPS Ubuntu 16.04 avec MariaDB, PHP-FPM 7.0 et Nginx. Nextcloud est une application open source de synchronisation et de partage de fichiers auto-hébergée dérivée d'ownCloud. Ce guide devrait également fonctionner sur d'autres systèmes VPS Linux, mais a été testé et écrit pour un VPS Ubuntu 16.04.

Nous avons une version mise à jour de ce tutoriel sur Comment installer Nextcloud sur Ubuntu 20.04

1. Connectez-vous à votre VPS via SSH avec votre utilisateur sudo

ssh user@vps_IP

2. Mettez à jour le système et installez les packages nécessaires

[user]$ sudo apt-get update && sudo apt-get -y upgrade
[user]$ sudo apt-get install software-properties-common nano wget

3. Installez MariaDB 10.1

Pour ajouter le référentiel MariaDB à votre liste de sources et installer le dernier serveur MariaDB 10.1, exécutez les commandes suivantes :

[user]$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
[user]$ sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.osuosl.org/pub/mariadb/repo/10.1/ubuntu xenial main'
[user]$ sudo apt-get update
[user]$ sudo apt-get install -y mariadb-server

Une fois l'installation terminée, exécutez la commande suivante pour sécuriser votre installation :

[user]$ mysql_secure_installation

Désactivez la journalisation binaire MariaDB en commentant les lignes suivantes

[user]$ sudo nano /etc/mysql/my.cnf
#log_bin                = /var/log/mysql/mariadb-bin
#log_bin_index          = /var/log/mysql/mariadb-bin.index

Redémarrez le service

[user]$ sudo service mysql restart

Ensuite, nous devons créer une base de données pour l'installation de Nextcloud.

[user]$ mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

4. Installez PHP et les modules PHP requis

Pour installer la dernière version stable de PHP version 7.0 et tous les modules nécessaires, exécutez :

[user]$ sudo apt-get -y install php-fpm php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring

Les commandes suivantes définiront la limite de mémoire PHP à 512 Mo, modifieront les valeurs de upload_max_filesize et post_max_size à 200 Mo et définiront le fuseau horaire sur UTC.

[user]$ sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/upload_max_filesize = .*/upload_max_filesize = 200M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/post_max_size = .*/post_max_size = 200M/" /etc/php/7.0/fpm/php.ini

Ajoutez les variables d'environnement suivantes à la fin du fichier pool PHP-FPM :

[user]$ sudo nano /etc/php/7.0/fpm/pool.d/www.conf
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Redémarrez PHP-FPM :

[user]$ sudo service php7.0-fpm restart

5. Téléchargez et extrayez Nextcloud 9

Nous allons installer Nextcloud dans le /var/www/nextcloud annuaire. Téléchargez la dernière version de Nextcloud depuis le site Web de Nextcloud :

[user]$ wget https://download.nextcloud.com/server/releases/nextcloud-9.0.52.zip
[user]$ unzip nextcloud-9.0.52.zip
[user]$ sudo mkdir /var/www/
[user]$ sudo mv nextcloud /var/www/
[user]$ rm -f nextcloud-9.0.52.zip
[user]$ sudo chown -R www-data: /var/www/nextcloud

6. Installer et configurer Nginx

Pour installer la dernière version stable de Nginx disponible sur les dépôts Ubuntu, exécutez :

[user]$ sudo apt-get install nginx-extras nginx

Le paquet nginx-extras fournit une version de nginx avec les modules standard, plus extra fonctionnalités et modules tels que nginx cache purge module.

Générez un certificat SSL auto-signé :

[user]$ sudo mkdir -p /etc/nginx/ssl
[user]$ cd /etc/nginx/ssl
[user]$ sudo openssl genrsa -des3 -passout pass:x -out nextcloud.pass.key 2048
[user]$ sudo openssl rsa -passin pass:x -in nextcloud.pass.key -out nextcloud.key
[user]$ sudo rm nextcloud.pass.key
[user]$ sudo openssl req -new -key nextcloud.key -out nextcloud.csr
[user]$ sudo openssl x509 -req -days 365 -in nextcloud.csr -signkey nextcloud.key -out nextcloud.crt

Si vous ne souhaitez pas recevoir d'avertissements associés aux certificats SSL auto-signés, vous pouvez acheter un certificat SSL de confiance ici.

Ensuite, créez un nouveau bloc serveur Nginx :

[user]$ sudo nano /etc/nginx/sites-available/nextcloud
server {
    listen 80;
    server_name my.nextcloud.com;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl http2;
    server_name my.nextcloud.com;
    root /var/www/nextcloud;

    ssl on;
    ssl_certificate     /etc/nginx/ssl/nextcloud.crt;
    ssl_certificate_key /etc/nginx/ssl/nextcloud.key;
    ssl_session_timeout 5m;
    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    access_log  /var/log/nginx/nextcloud.access.log;
    error_log   /var/log/nginx/nextcloud.error.log;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /.well-known/carddav { 
        return 301 $scheme://$host/remote.php/dav; 
    }
    location = /.well-known/caldav { 
        return 301 $scheme://$host/remote.php/dav; 
    }

    client_max_body_size 512M;
    fastcgi_buffers 64 4K;
    gzip off;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }

    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }

    location ~* \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }

    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }

    location ~ /\.ht {
        deny all;
    }

}

Activez le bloc serveur en créant un lien symbolique :

[user]$ sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud

Testez la configuration de Nginx et redémarrez nginx :

[user]$ sudo nginx -t
[user]$ sudo service nginx restart

7. Installez Nextcloud 9

Ouvrez https://my.nextcloud.com/install.php dans votre navigateur Web préféré et vous devriez voir l'écran d'installation de Nextcloud 9. Sur cette page, vous devrez entrer les détails de la base de données que vous avez créée précédemment, les détails de l'administrateur Nextcloud 9 et enfin cliquer sur le bouton Installer.

C'est ça. Vous avez installé avec succès Nextcloud 9 sur votre VPS Ubuntu 16.04. Pour plus d'informations sur la gestion de votre installation Nextcloud 9, veuillez consulter la documentation officielle de Nextcloud 9.

Bien sûr, vous n'êtes pas obligé d'installer Nextcloud 9 sur Ubuntu 16.04, si vous utilisez l'un de nos services d'hébergement Nextcloud, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de le configurer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande. Pour plus de mises à jour, vous pouvez également lire notre article sur Comment installer NextCloud 14 sur Ubuntu 16.04.

PS . Si vous avez aimé cet article sur la façon d'installer Nextcloud 9 sur Ubuntu 16.04, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Panels
  1. Installer Mautic sur Ubuntu 14.04

  2. Comment installer Sonerezh sur Ubuntu 14.04

  3. Installer Magento 2 sur un VPS Ubuntu 14.04

  4. Installer CandyCane sur un VPS Ubuntu 14.04

  5. Comment installer Pixie sur Ubuntu 14.04

Comment installer Pimcore sur Ubuntu

Installer Miniflux sur Ubuntu 14.04

Comment installer ImpressCMS sur Ubuntu 14.04

Installer Microweber sur Ubuntu 14.04

Installer Grav CMS sur Ubuntu

COMMENT INSTALLER NEXTCLOUD SUR UBUNTU ?