
Di seguito i passi per una installazione semplice, una istallazione base di NextCloud su macchina Virtuale debian 9.0.
su apt update && apt upgrade
Next cloud necessita di un server di tipo LAMP cioè con installati Apache – MySQL o MariaDB) e PHP.
prima, per semplificarci le operazioni, installiamo: sudo unzip wget ed un editor vim, mcedit, nano o altro
installiamo sudo e per comodità aggiungiamo il nostro user al gruppo sudoers
apt install sudo adduser tuo-user sudo
che sarà disponibile al prossimo login
apt install wget unzip vim -y
Instalare le componenti per il server LAMP
apt install apache2 mariadb-server -y
Configurare apache per l’avvio al boot debian 9 usa systemd come init quindi
systemctl start apache2 systemctl enable apache2 systemctl start mysql systemctl enable mysql
Installare PHP
apt install libapache2-mod-php
verranno installati anche i seguenti pacchetti :
libapache2-mod-php7.0 php-common php7.0-cli php7.0-common php7.0-json
php7.0-opcache php7.0-readline
Quindi installare
apt install php-cgi php-gd php-json php-mysql php-curl php-intl apt install php-zip php-mbstring php-mcrypt php-imagick apt install php-xmlwriter php-xmlreader php-xml php-simplexml
Configurare MariaDB
Di default MariaDB il fork opensource di mysql non è sicuro per passare all’installazione sicura avviare:
mysql_secure_installation
mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. 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! 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! 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! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Creare il database per nextcloud (scegliamo: nextclouddb) e lo specifico user in MariaDB (mysql ):
entrare in myslq
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE nextclouddb;
Creare utente e password per NextCloud
MariaDB [(none)]> CREATE user 'nextcloud'@'localhost' IDENTIFIED BY 'nextcloud-DBpassword' ;
Garantire allo user nexcloud i privilegi al database creato nextclouddb
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextcloud'@'localhost';
Per attivare i permessi con
MariaDB [(none)]> FLUSH PRIVILEGES;
uscire con
MariaDB [(none)]> \q
Configurata la basedati installare l’ultima versione dell’applicativo con l’applicativo con
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
mv nextcloud/ /var/www
Per poter avviare Nextcloud è necessario definire un virtual host file per apache.
Per una configurazione base creare in sites-available un file nextcloud.conf
nano /etc/apache2/sites-available/nextcloud.conf
del tipo
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot "/var/www/nextcloud" ServerName 192.168.1.189 <Directory "/var/www/nextcloud/"> Options MultiViews FollowSymlinks AllowOverride All Order allow,deny Allow from all </Directory> TransferLog /var/log/apache2/nextcloud_access.log ErrorLog /var/log/apache2/nextcloud_error.log </VirtualHost>
quindi disabilitare il virtual host file di default che reindirizza alla classica pagina Apache2 Debian Default Page
a2dissite 000-default
e abilitare il virtual host file che farà puntare apache a Nextcloud
a2ensite nextcloud
E riavviare apache
systemctl restart apache2
L’installazione può essere completata utilizzando il browser
E’ necessario ora aggiungere l’indirizzo ip o il nome di dominio(fwdn) tra i domini sicuri.
Quindi è possibile impostare l’account di amministrazione configurare il database e il data folder
oppure utilizzando il terminale
spostarsi nella cartella nextcloud
cd /var/www/nextcloud/
impostare i permessi della cartella con.
chown www-data:www-data . -R
installare con
sudo -u www-data php occ maintenance:install --database "mysql" \ --database-name "nextclouddb" --database-user "nextcloud" \ --database-pass "nextcloud-DBpassword" --admin-user "ncadmin" \ --admin-pass "ncadmin-password" Nextcloud is not installed - only a limited number of commands are available Nextcloud was successfully installed
aggiungere l’indirizzo ip e il nome di dominio tra i domini sicuri nella sezione ‘trusted domain’ nel file di configurazione /var/www/nextcloud/config/config.php
nano /var/www/nextcloud/config/config.php
... 'trusted_domains' => array ( 0 => 'localhost', 1 => '192.168.1.189', 2 => 'cloud.internal', 3 => 'cloud.example.com', ), ...
Terminata l’installazione sarà possibile effettuare il login
e quindi accedere alla dashboard
Firewall ufw
Installazione e configurazione del firewall ufw
E’ sufficiente rendere disponibile la porta 80 di seguito le istruzioni per rendere disponibili anche la porta 443 per il protocollo https e la porta 22 per il protocollo ssh.
apt install ufw
ufw allow http
ufw allow https
ufw allow ssh
ufw enable
Risorse:
- Installazione completa di nextcloud in debian 9.xx – versione 13.xx
- Nextcloud
- Nextcloud Installing from command line
- Installare nextcloud 12 in debian 9