Huawei ME936 modulo LTE Debian 10

 

Huawei ME936 modulo LTE Debian 10
Huawei ME936 modulo LTE Debian 10

 

Per uno dei miei notebook workstation, Schenker XMG P507, ho comprato un modulo LTE Huawei ME936, che per farlo funzionare, su Debian 10, c’è bisogno di qualche trick. Dopo aver creato una connessione Mobile Broadband, tramite Network-Manager, non si riesce a navigare, e come si può vedere sotto con i due comandi, la scheda viene riconosciuta:

$ lsusb
$ usb-devices

output:

edmond@debianbox:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 04f2:b5a7 Chicony Electronics Co., Ltd
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 1c7a:0603 LighTuning Technology Inc.
Bus 001 Device 002: ID 12d1:15bb Huawei Technologies Co., Ltd. ME936 LTE/HSDPA+ 4G modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
edmond@debianbox:~$ usb-devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=16
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.10
S: Manufacturer=Linux 5.10.0-0.bpo.4-amd64 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 3
P: Vendor=12d1 ProdID=15bb Rev=00.01
S: Manufacturer=Huawei Technologies Co., Ltd.
S: Product=HUAWEI Mobile Broadband Module
C: #Ifs= 3 Cfg#= 3 Atr=a0 MxPwr=500mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I: If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=05 Prot=14 Driver=option

T: Bus=01 Lev=01 Prnt=01 Port=06 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1c7a ProdID=0603 Rev=02.00
S: Manufacturer=EgisTec
S: Product=EgisTec_ES603
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=03 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=0a2b Rev=00.10
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#=0x0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#=0x1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

T: Bus=01 Lev=01 Prnt=01 Port=08 Cnt=04 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04f2 ProdID=b5a7 Rev=36.01
S: Manufacturer=SunplusIT Inc
S: Product=Chicony USB 2.0 Camera
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I: If#=0x1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 8
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=05.10
S: Manufacturer=Linux 5.10.0-0.bpo.4-amd64 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
edmond@debianbox:~$

La soluzione è quella di creare un file “udev-rule”, dove inserire in maniera specifica i parametri necessari:

$ sudo nano /etc/udev/rules.d/71-huawei-me936conf.rules

ed incollare dentro:

ACTION=="add|change", SUBSYSTEM=="usb", \
ENV{DEVTYPE}=="usb_device", \
ATTR{idVendor}=="12d1", ATTR{idProduct}=="15bb", \
ATTR{bNumConfigurations}=="3",
ATTR{bConfigurationValue}!="3" \
ATTR{bConfigurationValue}="3"

dopo aver riavviato, si potrà utilizzare la connessione LTE.

Huawei ME936 modulo LTE Debian 10

enjoy 😉

 

Fast-cli speedtest da terminale Debian 10

 

Fast-cli speedtest da terminale Debian 10

Fast-cli speedtest da terminale Debian 10

Il sito Fast.com per misurare la connessione internet, è un servizo a cui provvede Netflix per far verificare se si è in grado di visualizzare i loro contenuti. Anche in questo caso, con fast-cli, come per speedtest-cli, la misurazione si può fare anche da terminale. Quello che serve è una installazione aggiornata di nodejs, poichè la versione nei repository, la v10.24.0, non va bene.

Rimozione ed Installazione nodejs:

$ sudo apt purge npm
$ sudo apt-get install curl software-properties-common
$ curl -sL https://deb.nodesource.com/setup_15.x | sudo bash -
$ sudo apt-get install nodejs

Installazione fast-cli:

$ sudo npm install --global fast-cli

Utilizzo:

$ fast -u
Fast-cli speedtest da terminale Debian 10

enjoy 😉

Speedtest-cli failed su Debian 10

Speedtest-cli failed su Debian 10

Speedtest-cli failed su Debian 10

Nell’ultimo periodo lo strumento di speedtest da riga di comando, speedtest-cli, installato direttamente dai repository, sembra non funzionare più. L’errore che si ha, se non ricordo male, riporta ad errori “php ed altri”  Io ho risolto rimuovendo la vecchia installazione, ed installando il tutto manualmente:

Rimozione:

sudo apt remove --purge speedtest-cli

oppure:

sudo pip uninstall speedtest-cli

Installazione:

sudo apt-get install python3-pip
wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
sudo mv speedtest.py /usr/local/bin/speedtest-cli
sudo chown root:root /usr/local/bin/speedtest-cli
sudo speedtest-cli
Speedtest-cli failed su Debian 10

enjoy 😉

OpenMediaVault 5 su Raspberry Pi 4

 

OpenMediaVault su Raspberry Pi 4

OpenMediaVault su Raspberry Pi 4

 

Guida su come installare OpenMediaVault su Raspberry Pi 4, con setup iniziale minimale. Io ho già un Nas in casa, più un cloud con Nextcloud accessibile da internet, sempre su Raspberry Pi 4, ma ho voluto unificare tutto sotto OMV. Il punto forte è quello di avere una unica interfaccia centralizzata, e da lì avviare tutti i servizi di cui un Nas ha bisogno. I servizi fondamentali riguardano la sicurezza, il failover e la ridondanza, e su OMV si possono avere con l’aggiunta anche di plugin esterni. Per questa guida ho usato Raspberry Pi OS Lite.

Aggiornamento OS:

sudo apt update
sudo apt upgrade -y
sudo reboot

Installazione:

wget -O - https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install | sudo bash

per il completamento dell’installazione ci vorrà circa 20 minuti, dopodichè il sistema si riavvierà. A questo punto accedere al raspberry pi via WEB GUI, come user=admin e password=openmediavault:

http://Raspberry-ip-address

OpenMediaVault 5 su Raspberry Pi 4

Per prima cosa all’accesso bisognerà subito modificare un paio di cosette, ricordandosi che le modifiche fatte via WEB GUI hanno la priorità su quelle fatte manualmente, in virtù del fatto che OMV utilizza files di configurazione differenti.

System>General Settings

cambiare porta, Auto logout su disabled, e cambiare password di accesso alla WEB GUI:

OpenMediaVault 5 su Raspberry Pi 4

Services>SSH

cambiare porta ssh:

OpenMediaVault 5 su Raspberry Pi 4

 

System>OMV-Extra

abilitare repository addizionali:

System>Plugins

installare i plugins di cui si ha bisogno (quasi tutti)

 

successivamente pubblicherò altre guide entrando nel dettaglio su alcune configurazioni fondamentali.

OpenMediaVault 5 su Raspberry Pi 4

 

enjoy 😉

 

Trasferire files tra PC e telefono con codice QR

Trasferire files tra PC e telefono con codice QRTrasferire files tra PC e telefono con codice QR

Guida su come trasferire files facilmente e velocemente tra un pc ed un telefono, tramite un codice QR, ed entrambi collegati in rete. Per ottenere ciò, bisogna installare qrcp:

$ wget https://github.com/claudiodangelis/qrcp/releases/download/0.7.0/qrcp_0.7.0_linux_x86_64.tar.gz
$ tar xf qrcp_*
$ sudo mv qrcp /usr/local/bin
$ sudo chmod +x /usr/local/bin/qrcp

Inviare file col comando:

$ qrcp file.jpg
$ qrcp file1.jpg file2.jpg

Ricevere da telefono:

$ qrcp receive

Trasferire files tra PC e telefono con codice QR

Trasferire files tra PC e telefono con codice QR

 

enjoy 😉

 

PacketTracer 7.3.0 su Debian 10

PacketTracer 7.3.0 su Debian 10PacketTracer 7.3.0 su Debian 10

L’ultima versione di Cisco PacketTracer è la 7.3.0, ma il pacchetto deb che si trova sul sito, non funziona su Debian 10, per il solito problema di librerie mancanti. Il metodo veloce per installarlo è uno script che si trova su github, che fa tutto in automatico.

Installazione:

$ git clone https://github.com/Retinazer/packettracer-installer.git
$ cd packettracer-installer/
$ wget https://archive.org/download/packettracer730mac_202002/PacketTracer_730_amd64.deb
$ sudo ./packet-tracer-7.3.0-install.sh

PacketTracer 7.3.0 su Debian 10

enjoy 😉

 

Onedrive su Debian 10 con rclone

Onedrive su Debian 10 con rcloneOnedrive su Debian 10 con rclone

Guida su come connettere il proprio account OneDrive, da linea di comando, utilizzando rclone.

Installazione di rclone:

$ sudo apt install rclone fuse

Configurazione:

$ rclone config

output:

edmond@edmondbox:~$ rclone config
2020/05/25 18:25:55 NOTICE: Config file "/home/edmond/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> myonedrive
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / A stackable unification remote, which can appear to merge the contents of several remotes
\ "union"
2 / Alias for a existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
\ "s3"
5 / Backblaze B2
\ "b2"
6 / Box
\ "box"
7 / Cache a remote
\ "cache"
8 / Dropbox
\ "dropbox"
9 / Encrypt/Decrypt a remote
\ "crypt"
10 / FTP Connection
\ "ftp"
11 / Google Cloud Storage (this is not Google Drive)
\ "google cloud storage"
12 / Google Drive
\ "drive"
13 / Hubic
\ "hubic"
14 / JottaCloud
\ "jottacloud"
15 / Local Disk
\ "local"
16 / Microsoft Azure Blob Storage
\ "azureblob"
17 / Microsoft OneDrive
\ "onedrive"
18 / OpenDrive
\ "opendrive"
19 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ "swift"
20 / Pcloud
\ "pcloud"
21 / SSH/SFTP Connection
\ "sftp"
22 / Webdav
\ "webdav"
23 / Yandex Disk
\ "yandex"
24 / http Connection
\ "http"
Storage> 17
** See help for onedrive backend at: https://rclone.org/onedrive/ **

Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code

Autorizzare rclone come app sicura:

Onedrive su Debian 10 con rclone

Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Root Sharepoint site
\ "sharepoint"
3 / Type in driveID
\ "driveid"
4 / Type in SiteID
\ "siteid"
5 / Search a Sharepoint site
\ "search"
Your choice> 1
Found 1 drives, please select the one you want to use:
0: (personal) id=72593143d3aac403
Chose drive to use:> 0
Found drive 'root' of type 'personal', URL: https://onedrive.live.com/?cid=72593143d3aac403
Is that okay?
y) Yes
n) No
y/n> y
--------------------
[myonedrive]
token = {"access_token":"EwBoA8l6BAAUO9chh8cJscQLmU+LSWpbnr0vmwwAAcTsM8GrYTxDxI5BKZdaB","expiry":"2020-05-25T19:26:56.661526715+02:00"}
drive_id = 72593143d3aac403
drive_type = personal
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name Type
==== ====
myonedrive onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
edmond@edmondbox:~$

creazione punto di mount e montaggio utilizzando fuse:

$ mkdir ~/onedrive
$ rclone mount --daemon --vfs-cache-mode writes myonedrive: ~/onedrive

al posto di writes si può utilizzare full, per scaricare tutto in locale. La locazione del file di configurazione si trova col comando:

$ rclone config file

Come alternativa esiste il pacchetto deb di OneDrive che si trova in Debian Sid, ma che io non ho testato.

Onedrive su Debian 10 con rclone

enjoy 😉

Teamviewer-host su Raspberry

 

Teamviewer-host su Raspberry

Teamviewer-host su Raspberry

Guida su come installare Teamviewer-host su Raspberry. Per chi volesse accedere in remoto sul proprio raspberry, può installare Teamviewer-host, che renderà tutto molto semplice.

$ sudo apt-get update
$ sudo apt-get upgrade
$ wget https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb
$ sudo dpkg -i teamviewer-host_armhf.deb
$ sudo apt install -f

Settare password di accesso a teamviewer-host

$ sudo teamviewer passwd <password>

per conoscere id al quale collegarsi:

$ sudo teamviewer info

a questo punto ci si può collegare dal client.

Teamviewer-host su Raspberry

enjoy 😉

 

Kali-anonsurf e anonsurf su Debian 10

Kali-anonsurf e anonsurf su Debian 10Kali-anonsurf e anonsurf su Debian 10

Anonsurf è la modalità anonima di ParrotOS  e Kali Linux, per forzare le connessioni attraverso Tor e/o la rete i2p.  Tor è un protocollo di crittografia SOCKS4 e SOCKS5. Tor esegue il tunnelling di tutto il traffico che circola nella rete dell’utente in modo anonimo, e nasconde la posizione di un utente e i dati di rete da chiunque monitora l’utente localmente e in remoto. L’utilizzo di Anonsurf si può avviare anche da terminale, ed oltre ad essere integrato in ParrotOS ed in Kali Linux, si può installare in Debian 10 Buster. Per utilizzare anonsurf è sempre meglio installare Tor browser, seguendo questa mia guida.

Installare kali-anonsurf:

$ sudo apt install git
$ git clone https://github.com/Und3rf10w/kali-anonsurf.git
$ cd kali-anonsurf/
$ sudo ./installer.sh

avviare con:

$ sudo anonsurf start

anonsurf ParrotOS:

$ sudo apt install git
$ git clone https://github.com/ParrotSec/anonsurf
$ cd anonsurf/binaries/
$ sudo anonsurf start

Comandi:

Parrot AnonSurf Module
Usage:
┌──[root@debianbox]─[/home/edmond]
└──╼ $ anonsurf {start|stop|restart|change|status}

start - Start system-wide anonymous
tunneling under TOR proxy through iptables 
stop - Reset original iptables settings
and return to clear navigation
restart - Combines "stop" and "start" options
change - Changes identity restarting TOR
status - Check if AnonSurf is working properly
myip - Show your current IP address
----[ I2P related features ]----
starti2p - Start i2p services
stopi2p - Stop i2p services

Kali-anonsurf e anonsurf su Debian 10

enjoy 😉

 

Raspberry con Owncloud Raspbian Buster Letsencrypt Apache

Raspberry con Owncloud Raspbian Buster Letsencrypt ApacheRaspberry con Owncloud Raspbian Buster Letsencrypt Apache

Guida su come realizzare un proprio server cloud, utilizzando owncloud, su raspberry pi 3/4, con Raspbian Buster, ma in alternativa si puo utilizzare un’altro modello di single board o Pc, con OS Debian based. Avevo gia fatto una guida precedentemente, utilizzando Raspbian Stretch. Inoltre utilizzando Let’s Encrypt si avranno certificati SSL gratuiti tramite un processo completamente automatizzato, progettato per eliminare la creazione manuale di certificati, per la convalida, l’installazione e il rinnovo. I certificati rilasciati da Let’s Encrypt sono validi per 90 giorni dalla data di emissione e sono oggi considerati affidabili da tutti i principali browser.

Prerequisiti ed info

  • Negli esempi sotto utilizzerò come nome di dominio example.com ed i comandi verranno eseguiti da root
  • Il raspberry dovrà avere quindi come dominio l’equivalente di example.com. Questo può essere modificato in /etc/hostname e poi riavviare.
  • Il vostro ip pubblico dovrà puntare quindi al dominio, nel caso non si avesse un ip pubblico, utilizzare un servizio di DNS.
  • Assicurarsi prima di aprire le porte 80/443 verso il proprio server, altrimenti non si potranno ottenere i certificati. Successivamente rimarrà aperta solo la 443.
  • La guida è stata testata su una installazione pulita di Raspbian Buster

Raspberry con Owncloud Raspbian Buster Letsencrypt Apache

Step 1) Installare i pacchetti necessari:

$ sudo su
# apt update; apt upgrade
# apt install apache2 mariadb-server libapache2-mod-php7.3 php7.3-gd php7.3-json php7.3-mysql php7.3-curl php7.3-intl php-imagick php7.3-zip php7.3-xml php7.3-mbstring ntfs-3g fail2ban certbot

Step 2) Configurazione Apache e Virtual Host basic

# rm -rf /var/www/html/
# mkdir -p /var/www/example.com/public_html
# nano /var/www/example.com/public_html/index.html

ed incollare dentro:

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html
# nano /etc/apache2/sites-available/example.com.conf

ed incollare dentro:

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/public_html

<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>

ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

poi:

# chown -R www-data: /var/www/example.com/
# mv /etc/apache2/sites-available/000-default.conf 000-default.conf.bak
# mv /etc/apache2/sites-enabled/000-default.conf 000-default.conf.bak
# a2ensite example.com
# systemctl restart apache2
# systemctl enable apache2

a questo punto collegandosi al server dovremmo vedere che funziona:

Raspberry con Owncloud Letsencrypt ApacheStep 3) Chiave e Letsencrypt

Creare una chiave robusta Dh (Diffie-Hellman) a 1024 oppure a 2048 bit, ci vorrà circa 20 minuti.

# openssl dhparam -out /etc/ssl/certs/dhparam.pem 1024

Per ottenere i certificati utilizzeremo certbot, installato precedentemente, che si occuperà dell’acquisizione e del rinnovo degli stessi. Utilizzeremo il plug-in Webroot che funziona creando un file temporaneo nella ${webroot-path}/.well-known/acme-challenge a cui si collegherà Letsencrypt per risolvere il DNS:

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

creare primo file di configurazione:

# nano /etc/apache2/conf-available/letsencrypt.conf

ed incollare dentro:

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>

creare secondo file raccomandato:

# nano /etc/apache2/conf-available/ssl-params.conf

ed incollare dentro:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off

abilitare moduli e files di configurazione:

# a2enmod ssl
# a2enmod headers
# a2enmod http2
# a2enconf letsencrypt
# a2enconf ssl-params
# systemctl reload apache2

a questo punto siamo pronti ad ottenere i certificati SSL utilizzando certbot:

# certbot certonly --agree-tos --email admin@example.com --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

se tutto è andato bene visualizzeremo questo:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem.
Your cert will expire on 2019-02-28. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you lose your account credentials, you can recover through
e-mails sent to xxxxxxx@gmail.com.
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

adesso andiamo a riconfigurare il file Virtual Host come sotto:

# nano /etc/apache2/sites-available/example.com.conf
ed incollare dentro:
<VirtualHost *:80> 
ServerName example.com
ServerAlias www.example.com

Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com

Protocols h2 http:/1.1

<If "%{HTTP_HOST} == 'www.example.com'">
Redirect permanent / https://example.com/
</If>

DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem


</VirtualHost>
ricaricare la nuova configurazione:
# systemctl reload apache2

adesso si può fare un TEST SSL

Rinnovo automatico dei certificati: Come dicevo all’inizio, i certificati di Let’s Encrypt hanno una durata di 90 giorni, dopodichè dovrebbero autorinnovarsi traminte un cronjob, altrimenti aggiornare manualmente con il comando:
# certbot renew --dry-run

Step 4) Installazione Owncloud

# cd /tmp
# wget https://download.owncloud.org/download/community/owncloud-latest.tar.bz2
# tar -xvf owncloud-latest.tar.bz2
# chown -R www-data:www-data owncloud
# mv owncloud /var/www/example.com/public_html/
# rm /var/www/example.com/public_html/index.html
# nano /etc/apache2/sites-available/example.com.conf

e fare puntare la DocumentRoot ad owncloud:

DocumentRoot /var/www/example.com/public_html/owncloud

Creazione database ed user mysql:

# mysql -u root -p

inserire password di root, e poi i 5 comandi sotto, e settare la password per l’utente owncloud

1) create database owncloud;
2) create user owncloud@localhost identified by 'password';
3) grant all privileges on owncloud.* to owncloud@localhost identified by 'password';
4) flush privileges;
5) exit;
fare una modifica al file php.ini, nella sezione File Uploads, portando upload_max_filesize = 5000M.
# nano /etc/php/7.3/apache2/php.ini

come ultimo ritocco, aumentare la capacità di upload, andando a modificare il file .user.ini

# nano /var/www/example.com/public_html/owncloud/.user.ini

portando: upload_max_filesize, e post_max_size a 5000M

# systemctl restart apache2

a questo punto il server owncloud è installato, ed è raggiungibile all’indirizzo https://example.com. Se si volesse utilizzare come storage un disco esterno, la guida continua:

Step 5) Creazione della cartella di storage e relativi permessi:

# mkdir /media/owncloud-usb
# groupadd www-data
# usermod -a -G www-data www-data
# chown -R www-data:www-data /media/owncloud-usb
# chmod -R 775 /media/owncloud-usb

adesso abbiamo bisogno di conoscere UUID del disco usb ed user e group di www-data, che serviranno per configurare /etc/fstab per il montaggio automatico:

# id -u www-data; id -g www-data
# blkid
# nano /etc/fstab

ed aggiungere in una sola riga qualcosa del genere in /etc/fstab:

UUID=32E49E5027A4F8A7 /media/owncloud-usb auto nofail,uid=33,gid=33,umask=0027$,dmask=0027,noatime 0 0
# reboot

Se tutto è andato bene andare all’indirizzo https://ip_dominio_del_server ed apparirà la pagina iniziale, dove si dovrà inserire nome utente e password per l’accesso al server owncloud, nome del database, user e password dell’utente owncloud, ed infine il punto di mount. Username: owncloud Password: password Database: owncloud Server: localhost

Raspberry con Owncloud Letsencrypt Apache

Raspberry con Owncloud Raspbian Buster Letsencrypt Apache

enjoy 😉