Installare nextcloud 12 in debian 9

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:

 

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...