GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Nextcloud su Debian 11

Nextcloud è un software open source per la creazione di archivi di file pubblici e privati. Ti consente di creare i tuoi servizi self-hosted come Dropbox, Google Drive o Mega.nz. Originariamente, è stato creato dallo sviluppatore originale owncloud Frank Karlitschek. Nel 2016 biforca il progetto Owncloud e crea un nuovo progetto con il nuovo nome "Nextcloud"

A questo punto, il progetto Nextcloud sta crescendo rapidamente e diventando più di un software di file hosting, è più simile a una piattaforma di sincronizzazione di file e collaborazione di contenuti. Supportato da molti plug-in, Nextcloud diventa un potente software di collaborazione. Puoi installare plug-in per la gestione di progetti, videoconferenze, editing collaborativo, prendere appunti, client di posta elettronica, ecc.

In questa guida imparerai come installare Nextcloud sull'ultima Debian 11 Bullseye. Installerai Nextcloud sotto lo stack LAMP (Linux, Apache2/httpd, MySQL/MariaDB e PHP).

Prerequisiti

  • Un server Debian 11. Assicurati che tutti i pacchetti siano aggiornati all'ultima versione.
  • Un utente root o un utente con privilegi di root. Questo utente verrà utilizzato per l'installazione di nuovi pacchetti e la modifica delle configurazioni di sistema.

Ottieni root e aggiorna i repository

Innanzitutto, esegui il comando seguente per ottenere i privilegi di root.

1. Se hai 'sudo ' installato, esegui il comando sudo di seguito.

sudo su

Ora digita la password di accesso per il tuo utente.

2. Se non hai il pacchetto sudo, esegui 'su ' come sotto

su

Ora digita la tua root password e premi 'Invio '.

3. Dopodiché, aggiorna tutti i tuoi repository Debian usando il comando apt di seguito.

apt update

Installazione del server Web Apache

Dopo aver aggiornato i repository Debian, installerai un server Web Apache e abiliterai alcuni moduli Apache per Nextcloud.

1. Esegui il comando apt di seguito per installare il server web apache.

apt install apache2

Digita 'y ' e premi 'Invio ' per continuare l'installazione.

2. Se l'installazione è completa, controlla il servizio apache utilizzando il comando seguente.

systemctl is-enabled apache2
systemctl status apache2

Vedrai l'output 'abilitato ', il che significa che il servizio Apache si avvierà automaticamente all'avvio del sistema. E lo stato attuale del servizio Apache è "attivo (in esecuzione) '.

3. Quindi, abilita i moduli Apache 'ssl, rewrite e headers' eseguendo il comando a2enmod di seguito.

a2enmod ssl rewrite headers

Di seguito è riportato l'output che otterrai.

4. Successivamente, esegui il seguente comando per riavviare il servizio Apache.

systemctl restart apache2

Verranno applicati nuovi moduli apache, verifica quei moduli usando il comando apachectl di seguito.

apachectl -M | egrep "ssl|rewrite|headers"

Vedrai un output simile come di seguito.

Installazione e configurazione di PHP

Per questa guida, implementerai Nextcloud con l'ultima versione stabile di PHP 8.0.

Per impostazione predefinita, il repository Debian fornisce pacchetti per PHP 8.0. Tuttavia, Nextcloud richiede alcuni pacchetti PHP aggiuntivi che possono essere installati da un repository di terze parti. E aggiungerai un nuovo repository al tuo sistema Debian.

1. Eseguire il comando seguente per aggiungere un repository PHP per il sistema Debian.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main"\
| sudo tee /etc/apt/sources.list.d/sury-php.list

Scarica la chiave GPG in '/etc/apt/trusted.gpg.d ' directory.

curl -o /etc/apt/trusted.gpg.d/sury-php8.gpg https://packages.sury.org/php/apt.gpg

Ora esegui di nuovo il comando 'apt update' per aggiornare tutti i repository.

apt update

2. Installa pacchetti PHP e moduli PHP aggiuntivi per Nextcloud utilizzando il comando apt di seguito.

apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu

Dopodiché, esegui di nuovo il comando apt per installare alcuni pacchetti aggiuntivi.

apt install -y libmagickcore-dev

Il 'libmagickcore-dev ' i pacchetti sono necessari a php-imagick per l'elaborazione di immagini SVG su Nextcloud.

3. Se l'installazione di tutti i pacchetti è completa, cambia la directory di lavoro in '/etc/php/8.0/apache2 ' e modifica la configurazione 'php.ini ' usando nano.

cd /etc/php/8.0/apache2/
nano php.ini

Per la distribuzione di base di nextcloud, modifica le opzioni predefinite utilizzando la configurazione seguente.

file_uploads = On
allow_url_fopen = On
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
display_errors = Off
date.timezone = Europe/Amsterdam
output_buffering = Off

Decommenta 'zend_extension=opcache ' opzione per caricare l'estensione opcache.

zend_extension=opcache

Passa alla sezione '[opcache]' e aggiungi la seguente configurazione.

[opcache]
...
....
.....
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1

Salva la configurazione premendo il tasto 'Ctrl+x ' e digita 'y ', quindi premi 'Invio ' per uscire.

4. Ora riavvia il servizio Apache per applicare le nuove modifiche usando il comando seguente.

systemctl restart apache2

Installazione e configurazione di MariaDB

Per questa fase, installerai il server del database mariadb, proteggerai la distribuzione di mariadb e creerai un nuovo database e un nuovo utente per Nextcloud.

1. Per installare il server del database mariadb, eseguire il comando seguente.

apt install mariadb-server mariadb-client

Digita 'y ' per confermare e installare i pacchetti mariadb.

2. Una volta completata l'installazione, controlla il servizio mariadb utilizzando il comando seguente.

systemctl is-enabled mariadb
systemctl status mariadb

Il servizio mariadb è attivo e in esecuzione ed è abilitato per l'avvio automatico all'avvio del sistema.

3. Successivamente, è necessario proteggere la distribuzione di mariadb impostando la password di root per mariadb e rimuovendo alcune configurazioni predefinite. Per farlo, puoi utilizzare lo strumento da riga di comando 'mysql_secure_installation', che è incluso nell'installazione predefinita di mariadb.

Esegui "mysql_secure_installation " comando sotto.

mysql_secure_installation

All'inizio, ti verrà chiesto di inserire la password di root di mariadb. Basta premere 'Invio ' per continuare.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Digita 'Y ' per abilitare 'unix_socket ' autenticazione per l'utente 'root '.

Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
 ... Success!

Digita la tua password root di mariadb forte e ripeti, quindi premi "Invio " per continuare.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Ora digita "Y " e premi "Invio " per rimuovere l'utente anonimo predefinito dal server mariadb.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Successivamente, disabilita l'accesso remoto per l'utente predefinito 'root '. Digita "S " e premi "Invio " per continuare.

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

Digita "S " di nuovo per rimuovere il database predefinito "test " e premi "Invio ".

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

E l'ultimo, digita "Y " di nuovo per ricaricare tutti i privilegi delle tabelle per applicare una nuova configurazione.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Ora il processo è completo e vedrai il seguente output.

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Creazione di database e utenti per Nextcloud

1. accedi alla shell mariadb usando il comando mysql qui sotto.

mysql -u root -p

2. Ora esegui la seguente query MySQL per creare un nuovo database "nextcloud_db ".

CREATE DATABASE nextcloud_db;

3. Eseguire la query seguente per creare un nuovo utente del database "nextclouduser ". Modifica la "password " con la tua password complessa.

CREATE USER [email protected] IDENTIFIED BY 'StrongPassword';

4. Consenti all'utente "nextclouduser " per accedere e scrivere "nextcloud_db " utilizzando la query seguente.

GRANT ALL PRIVILEGES ON nextcloud_db.* TO [email protected];

5. Ora ricarica tutti i privilegi delle tabelle per applicare la nuova configurazione del database.

FLUSH PRIVILEGES;

Quindi puoi digitare "chiudi " e premi "Invio " per uscire dalla shell mariadb.

Scarica il codice sorgente Nextcloud

1. Modificare la directory di lavoro in "/var/www " e scarica l'ultima versione del codice sorgente di Nextcloud usando il comando wget come di seguito.

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-22.1.1.zip

2. Ora installa il pacchetto unzip usando il seguente comando.

apt install unzip

3. Quindi, estrai il codice sorgente di Nextcloud "nextcloud.zip " e otterrai una nuova directory "nextcloud", quindi cambia il proprietario del "nextcloud " directory in "www-data " utente.

unzip nextcloud-22.1.0.zip
chown -R www-data:www-data nextcloud

Ora sei pronto per generare SSL Letsencrypt e configurare l'host virtuale Apache per Nextcloud.

Generazione SSL Letsencrypt

In questa fase, installerai lo strumento certbot e genererai i certificati SSL per l'installazione di Nextcloud. Genererai SSL Letsencrypts con il plugin webroot.

1. Eseguire il comando seguente per installare lo strumento certbot per la generazione di SSL Letsencrypt.

apt install certbot

Digita 'y ' e premi 'Invio ' per continuare l'installazione.

2. Una volta completata l'installazione, creare una nuova directory per l'autorizzazione Letencrypt utilizzando i seguenti comandi.

mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt

3. Quindi, cambia la directory di lavoro in "/etc/apache2/conf-available/ " e crea una nuova configurazione "well-known.conf " usando nano.

cd /etc/apache2/conf-available/
nano well-known.conf

Copia e incolla la seguente configurazione.

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Premi "Ctrl+x " e digita "y " e premi 'Invio ' per salvare la configurazione ed uscire.

Ora attiva la nuova configurazione creando un collegamento simbolico di 'well-known.conf ' nella directory 'conf-enabled' utilizzando 'ln ' comando qui sotto.

ln -s /etc/apache2/conf-available/well-known.conf /etc/apache2/conf-enabled/

4. Ora esegui i seguenti comandi per verificare la configurazione di Apache e riavviare il servizio Apache.

apachectl configtest
systemctl restart apache2

Se non hai errori, sei pronto per generare SSL Letsencrypt con il plugin webroot.

5. Prima di generare SSL Letsencrypt, assicurati che il tuo nome di dominio sia risolto nell'indirizzo IP del server. Successivamente, puoi generare SSL Letsencrypt con il plug-in webroot eseguendo il comando certbot di seguito. Inoltre, cambia l'indirizzo email e il nome di dominio con il tuo.

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain-name.io

Al termine del processo, i tuoi certificati SSL sono disponibili in "/etc/letsencrypt/live/files.domain-name.io/ " directory.

Configurazione dell'host virtuale Apache per Nextcloud

In questo passaggio, aggiungerai una nuova configurazione di host virtuale apache/httpd per Nextcloud.

1. Modificare la directory di lavoro in "/etc/apache2/sites-available/ " e crea una nuova configurazione "nextcloud.conf " usando nano.

cd /etc/apache2/sites-available/
nano nextcloud.conf

Modifica il nome di dominio dettagliato e la directory del percorso SSL con la tua e incolla la configurazione in "nextcloud.conf " file.

<VirtualHost *:80>
    ServerName files.domain-name.io
    ServerAlias www.files.domain-name.io

    # auto redirect HTTP to HTTPS
    Redirect permanent / https://files.domain-name.io/
</VirtualHost>

<VirtualHost *:443>
    ServerName files.domain-name.io
    ServerAlias www.files.domain-name.io
 
    DocumentRoot /var/www/nextcloud/

    Protocols h2 http/1.1

    # auto redirect www to non-www
    <If "%{HTTP_HOST} == 'www.files.domain-name.io'">
        Redirect permanent / https://files.domain-name.io/
    </If>

    # log files
    ErrorLog /var/log/apache2/files.domain-name.io-error.log
    CustomLog /var/log/apache2/files.domain-name.io-access.log combined

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/files.domain-name.io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/files.domain-name.io/privkey.pem

    # HSTS
    <IfModule mod_headers.c>
        Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>

    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>
</VirtualHost>

Premi "Ctrl+x" e digita "Y" , quindi premi "Invio ' per salvare la configurazione ed uscire.

2. Ora attiva il 'nextcloud.conf ' configurazione dell'host virtuale eseguendo il comando seguente.

a2ensite nextcloud.conf

3. Ora verifica la nuova configurazione di apache e assicurati di non avere errori, quindi riavvia il servizio apache.

apachectl configtest
systemctl restart apache2

Installazione di Nextcloud

Se tutta la relativa configurazione del server è completa, puoi accedere alla tua installazione di Nextcloud con il browser web.

1. Apri il tuo browser web e digita l'indirizzo URL della tua installazione di Nextcloud.

https://files.nome-dominio.io

Crea il tuo primo utente e amministratore per Nextcloud e la directory dei dati è scrivibile dall'utente 'www-data '.

2. Scorrere la pagina fino in fondo, digitare il nome del database dei dettagli, l'utente e la password. Per l'opzione "Installa app consigliate ', deseleziona per rendere l'installazione più veloce. Quindi fai clic su "Termina configurazione ' per installare Nextcloud.

3. Se l'installazione ha esito positivo, vedrai la dashboard di Nextcloud come di seguito.

4. Ora fai clic sull'icona dell'utente in alto a destra e fai clic sul menu 'Impostazioni '. Alla 'Amministrazione ', fai clic su 'Panoramica '.

  • Nella sezione "Avvisi di sicurezza e configurazione", troverai alcuni consigli che devi fare, a seconda del tuo ambiente di installazione.
  • Nella sezione "Versioni", vedrai il ramo corrente della tua installazione di Nextcloud.

5. Quindi, fai clic sul menu 'Sistema ' in fondo a 'Amministrazione sezione '.

Vedrai i dettagli del tuo ambiente, carico del sistema, stato dello spazio su disco, stato della memoria, stato della rete, ecc.

6. Come detto prima, il nextcloud è diventato qualcosa di più della semplice sincronizzazione dei file. Con il supporto di app/plugin aggiuntivi, è diventata una tuta per la collaborazione.

Nell'icona del profilo in alto a destra, fai clic sul menu "App ', e vedrai il prossimo archivio di app cloud come di seguito.

Scegli le app che desideri installare, quindi fai clic sul pulsante 'Scarica e abilita ' per installare nuove app.

7. Di seguito è riportata la visualizzazione predefinita del dashboard utente di Nextcloud. Puoi estendere la funzionalità della tua dashboard installando plug-in aggiuntivi.

Ottimizzazione delle prestazioni di Nextcloud

Dopo aver installato Nextcloud, puoi fare alcuni passaggi ulteriormente per aumentare le prestazioni di Nextcloud abilitando la cache di memoria locale e impostando un cronjob per Nextcloud stesso.

1. Nella sezione superiore dell'installazione di PHP, hai già impostato il PHP per la memorizzazione nella cache. Per abilitare la memorizzazione nella cache su Nextcloud, modifica la configurazione di Nextcloud "config.php".

Modificare la directory di lavoro in "/var/www/nextcloud/config " e modifica la configurazione "config.php " usando l'editor nano.

cd /var/www/nextcloud/config/
nano config.php

Aggiungi la seguente configurazione all'interno dell' 'array ( .. ); ' parentesi come sotto

<?php
$CONFIG = array (
....
  # Additional configuration
  'memcache.local' => '\OC\Memcache\APCu',
);

Ora premi "Ctrl+x " e digita "y ", quindi premi 'Invio ' per salvare la configurazione ed uscire.

2. Un sistema Nextcloud deve eseguire alcune attività in background su base regolare e senza alcuna interazione utente/amministratore. Per fare ciò, puoi utilizzare cronjob per le attività di Nextcloud dell'utilità di pianificazione.

Sul sistema Debian Linux, l'installazione di apache predefinita in esecuzione sotto l'utente è "www-data ". Crea un nuovo cronjob per l'utente "www-data " utilizzando il comando seguente.

crontab -u www-data -e

Se hai più editor sul tuo sistema, scegli l'editor come comodo da usare. Per questa guida utilizzeremo un nano editor.

Aggiungi la seguente configurazione.

*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

Salva la configurazione ed esci.

Devi conoscere la configurazione di Cronjob:

  • Questa configurazione di cronjob consente all'utente "www-data " per eseguire lo script PHP "/var/www/nextcloud/cron.php " ogni 5 minuti.

Per verificare la configurazione di cronjob, puoi eseguire il seguente comando.

crontab -u www-data -l

Se la tua configurazione ha successo, otterrai la configurazione in cima come output. In caso contrario, otterrai un risultato vuoto.

Conclusione

Congratulazioni! Hai installato con successo Nextcloud su Debian 11 Bullseye. Il server Nextcloud è in esecuzione nello stack LAMP con SSL abilitato. Inoltre, l'installazione di Nextcloud è in esecuzione con la memorizzazione nella cache abilitata con PHP APC ed estensioni opcache.


Debian
  1. Come installare R su Debian 9

  2. Come installare R su Debian 10

  3. Come installare Nextcloud su Debian 9

  4. Come installare Java 17 in Debian 11

  5. Come installare NextCloud 13 su Debian 9

Come installare Nextcloud su Debian 8

Come installare Vai su Debian 10

Come installare Nextcloud su Debian 11

Come installare Tomcat 9 su Debian 11

Come installare Apache su Debian 11

Come installare Vai su Debian