LeGuideNerd

  • Installazione server/client Aria2c

    sudo apt-get update
    sudo apt-get install aria2
    
  • Creazione file di configurazione aria2c.conf (Comandi VIM)

    sudo mkdir /etc/aria2c sudo vim /etc/aria2c/aria2c.conf

    Contenuto file:

    continue
    dir=~/Download          #Cartella download di default
    file-allocation=fallaloc    #Preallocare il file
    log-level=warn
    max-connection-per-server=5 #Connessioni massime
    min-split-size=5M
    
  • Creazione del servizio systemctl ArchWiki”)

    sudo vim /etc/systemd/system/aria2c.service

    Contenuto file:

    Attenzione!!! modificare la password di default “password” e verificare il percorso di aria2c bin

    [Unit]
    Description=aria2c downloader manager
    
    [Service]
    ExecStart=/usr/bin/aria2c --enable-rpc --rpc-listen-all --rpc-secret password --rpc-listen-port 6800  --conf-path=/etc/aria2c/aria2c.conf
    
    [Install]
    WantedBy=multi-user.target
    
  • sudo systemctl daemon-reload

  • Aggiungiamo all'avvio automatico

    sudo systemctl enable aria2c

  • Avviamolo

    sudo systemctl start aria2c

  • Controlliamo lo stato del servizio aria2c

    sudo systemctl status aria2c

Installiamo un app android per gestire i download

image

  • Installare Aria2App
  • Cliccare aggiungi profilo
  • Selezionare su che rete vogliamo l'app possa funzionare
  • Nella sezione “connessione” selezioniamo “WEBSOCKET” – Il campo address è l'indirizzo ip del pc dov'è installato aria2c ( assegnare un ip locale statico nel router DHCP per il pc in modo tale che non cambi ) – scrivere il numero di porta ( default 6800 )
  • Nella sezione “autenticazione” selezionare “TOKEN” ed inserire la password precedentemete creata
  • FINE

Installiamo un software Linux/windoz per gestire i download graficamente

image – Non ho trovato software ma solo WebGUI, se ne conoscete commentate pure, andate nella pagina Github e scaricate lo zip standard AriaNg – Estraete l'archivio – Aprite il file Index.html – Recatevi nella sezione Settings impostate il protocollo WebSocket e compilate i campi – FINE

Tag #aria2c #Linux #Android #DownloadManager

Comando Descrizione
:q esce dal programma avvisando se il file sul quale si sta lavorando non è stato salvato
:q! esce forzatamente senza salvare le modifiche
:w salva il file
:wq salva ed esce
:x equivalente a :wq
:o nomefile aprire nomefile in modalità visuale
:e ricarica il file
:u annulla l'ultima azione
:n sposta il cursore alla riga n
:copy num_riga copia la linea sulla quale si trova il cursore nella riga «num_riga» del file
:move num_riga sposta la linea sulla quale si trova il cursore alla riga «num_riga» del file
:del elimina la riga corrente
:del num_righe elimina «num_righe» linee dalla posizione attuale del cursore
:!comando_bash eseguire il comando_bash, reindirizzando l'output direttamente sulla finestra in uso
/string cerca la stringa «string» nel testo (ci si può muovere tra i risultati premendo il tasto p (precedente) e n (successivo)
/%s/daSostituire/conQuesta sostituisce ogni occorrenza della stringa «daSostituire» con «conQuesta»
dd cancella la riga dove attualmente si trova il cursore
Ndd cancella le successive «N» righe
x cancella il carattere dove attualmente si trova il cursore
:help help in linea
:shell apre una shell Linux all'interno del file, con exit, si esce dalla shell tornando nel file

Image

  • Installare Ubuntu server se si vuole fare dei test su virtualbox impostare la scheda di rete della macchina virtuale su bridge per facilitare le cose; l'installazione di ubuntu server non verrà trattata

  • Connettersi via ssh da terminale

    • ssh -p 22 nomeutente@indirizzoipserver Ci stiamo collegando da una macchina Linux
  • Aggiorniamo il sistema operativo

    • sudo apt update; sudo apt upgrade -y

Nginx

  • Installiamo il web server nginx

    • sudo apt install nginx -y
    • lanciamo il servizio e rendiamolo attivo al boot

      • sudo systemctl start nginx
      • sudo systemctl enable nginx

PHP

  • Installiamo PHP

    • sudo apt-get install php php-fpm
    • php -v per scoprire la versione
    • sudo systemctl start phpNUMEROVERSIONE-fpm
    • sudo systemctl enable phpNUMEROVERSIONE-fpm
    • Moduli aggiuntivi
      • sudo apt install php-zip php-dom php-curl php-gd php-mbstring php-gmp php-bcmath php-imagick
  • Configurazioni php-fpm

    • sudo find / -iname www.conf (comando per trovare il file www.conf)

      entriamo nel file con il comando sudo vim percorso e decommentiamo

    ;env[HOSTNAME] = $HOSTNAME

    ;env[PATH] = /usr/local/bin:/usr/bin:/bin

    ;env[TMP] = /tmp

    ;env[TMPDIR] = /tmp

    ;env[TEMP] = /tmp

Postgresql

  • Installiamo postgresql

    • sudo apt install postgresql postgresql-contrib libpq-dev -y
    • sudo apt install php-pgsql -y (modulo php)
    • Creiamo il database per Nextcloud (Nome database nextcloud, nome utente ncuser)

      sudo -u postgres psql -d postgres

      CREATE USER ncuser WITH PASSWORD 'PASSWORD' CREATEDB;

      CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';

      ALTER DATABASE nextcloud OWNER TO ncuser;

      GRANT ALL PRIVILEGES ON DATABASE nextcloud TO ncuser;

      GRANT ALL PRIVILEGES ON SCHEMA public TO ncuser;

      \q

    • Modifichiamo il file pgsql.ini come da documentazione Nextcloud

      • sudo find / -iname pgsql.ini (ricerca il file)
      • sudo vim /etc/php/8.1/mods-available/pgsql.ini (esempio)
    • Assegnamo una password all'utente

      • sudo passwd postgres
    • Entrare come utente postgres

      • sudo su - postgres

Nextcloud

  • Prepariamo le cartelle ed i file di config per Nextcloud

    • sudo mkdir /var/www/nextcloud
    • cd /var/www
    • sudo wget https://download.nextcloud.com/server/releases/latest.zip
    • sudo unzip latest.zip (Installare unzip se non è presente)
    • sudo rm latest.zip
  • Assegnamo a tutta la cartella i permessi di scrittura/lettura dell'utente www-data

    • sudo chown -R www-data:www-data /var/www/nextcloud
  • Creiamo il file di configurazione

    • sudo vim /etc/nginx/sites-available/nextcloud Incolliamo le istruzioni dal sito nextcloud il file andrà opportunamente modificato come da documentazione (a breve verra aggiunta la sezione qui)
    • sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud

Certificati ssl

Certificato autofirmato con openssl

  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/nginx/cloud.key -out /etc/ssl/nginx/cloud.crt

  • I due certificati si troveranno qui

    /etc/ssl/nginx/cloud.crt /etc/ssl/nginx/cloud.key

Certificato con Certbot Let's Encrypt

  • Editiamo il file sudo vim /etc/nginx/sites-available/nextcloud

Modifichiamo temporaneamente le righe 26/27:

listen 443 ssl http2; listen [::]:443 ssl http2;

in

listen 80; #443 ssl http2; listen [::]:80; #443 ssl http2;

e commentimao le righe 35/36

#sslcertificate /etc/ssl/nginx/cloud.example.com.crt; #sslcertificate_key /etc/ssl/nginx/cloud.example.com.key;

  • Lanciamo i comandi ben descritti nel sito Certbot Se tutto è andato a buon fine rieditiamo il file sudo vim /etc/nginx/sites-available/nextcloud

listen 443 ssl http2; listen [::]:443 ssl http2; sslcertificate /etc/letsencrypt/live/nomesito.com/cert.pem; sslcertificate_key /etc/letsencrypt/live/nomesito.com/privkey.pem;

  • Lanciamo un reload e un test per le configurazioni ngnix
    • sudo nginx -t
    • sudo systemctl reload nginx

Configurare il Firewall

coomingsoon

Un po' di comandi e info su nginx

Comando Percorso A cosa serve
sudo systemctl status nginx mostra lo stato del web server
sudo systemctl stop nginx interrompe web server
sudo systemctl status nginx riavvia il web server rendendo effettivi i cambiamenti dei files di configurazione
/etc/nginx/nginx.conf file configurazione generale
/etc/nginx/sites-enabled/ cartella dove vengono linkate le pagine attive
/etc/nginx/sites-available cartella di tutti i progetti
/var/www/nextcloud cartella contenente tutti i siti

Comandi utili per VIM