--- title: Idea e strumenti tecnici usati sidebar: mydoc_sidebar summary: "Installazione di una macchina per i dati della comunità - about" permalink: mydoc_about.html folder: mydoc --- # About La macchina ha un sistema operativo della famiglia unix-like: Debian. Stiamo usando docker per gestire le immagini dei software che vogliamo usare e Lets encript per gestire i certificati SSL. ## Operazioni base su Debian Appena loggata sul server puoi vedere se la macchina è aggiornata: ### Aggiornare il sistema operativo apt update apt upgrade ### Vedere gli ultimi comandi dati nano .bash_history Oppure se è un comando dato da poco: freccia su; oppure se lo vuoi cercare al volo nella bash_history: ctrl+r e poi digiti la parola da cercare. ## Autenticarsi ssh: Requisiti: * chiave segreta * pasw segreta * software ssh installato sul proprio pc Digitare in un terminale: ~$ssh-add .ssh/campiaperti $ssh-add ~/.ssh/campiaperti Se ti dice che i permessi sono sbagliati fai: nella cartellina dove hai la chiave scrivi -ls -l così vedi di chi sono i file. Il tuo file della chiaveprivata deve essere accessibile, in lettura e uso solo dal tuo utente. in grafica: clicca sul file con il pulsante destro, scegli propriet- > permessi e setta: * me: leggiscrivi * gruppo: nessuno * altri:nessuno quindi cambi i permessi e poi ci riprovi. gli metti la password e fatto! approfondimenti: https://it.wikipedia.org/wiki/RSA Per connetterti un avolta aggiunta la chiave: ssh -p 2222 -l root campiaperti.tetaneutral.net ### Caricare i file da ssh upload: local -> remote caricare: dal locale al remoto scp local_file user@remote_host:remote_file Quindi un esempio scp -P 2222 Scrivania/CA_tutto/SERVER-campiaperti/CA_logo_2017.svg root@campiaperti.tetaneutral.net:/var/app/themes/dispensatheme/core/img ### Comandi da terminale https://www.cyberciti.biz/open-source/command-line-hacks/20-unix-command-line-tricks-part-i/ https://www.commandlinefu.com/commands/browse ## Cose utili su docker ### comandi base docker images REPOSITORY TAG IMAGE ID CREATED SIZE mariadb latest 67238b4c1da0 2 months ago 365MB nextcloud latest 90058de5a0f0 3 months ago 564MB hello-world latest 4ab4c602aa5e 4 months ago 1.84kB mysql latest 6a834f03bd02 4 months ago 484MB phpmyadmin/phpmyadmin latest 126b8717cebb 4 months ago 166MB Queste sono le immagini, quindi i "modelli" che abbiamo installato. Per vedere i "container" che stiamo usando: docker stats Per vederle tutte: docker ps -a ### comandi di aggiornamento delle immagini docker pull nextcloud Questo aggiorna l'immagine nextcloud. non il container. # Sanità base della macchina: vedere se qualche software si è fermato: systemctl status systemctl is-system-running vedere se la debian è aggiornata: apt update Aggiornarla: apt upgrade capire quanto pieno è il disco: df -lh ## Salvare le immagini e ricaricarle da file compresso docker save -o ~/backup_dispensa/nextcloud_bakup_1.tar nextcloud_bakup_201806031351_1 per caricarsela tra le immagini: docker load file.zip ## Ripristino immagini da usare nel docker-compose Guardiamo che immagini abbiamo: docker images cambiamo nome e tag, deve avere una directory per essere riconosciuto come registro locale docker image tag nextcloud-app_bakup202002071500_4:latest ca/nextcloud-app:backup https://stackoverflow.com/questions/46032392/docker-compose-does-not-allow-to-use-local-images modificare in /var/docker-compose.yml images nextcloud-app:backup per tutte le 4 immagini. Andare a mettere i file dei backup dei 2 volumi: cp /home/backups_dispensa/volumes_nextcloud20200217_4.zip /var/lib/docker/volumes/ unzip volumes_nextcloud20200217_4.zip Una volta per il nextcloud ed una per il db. Fare andare su tutto: docker-compose down docker-compose up -d I dubbi relativi a php, per esempio, è possibile da dentro il container nextcloud-app vedere le configurazioni di apache e che versioni php e moduli ha. ## Avere informazioni da docker compose su un servizio docker-compose logs app ## Dare i comandi cli di nextcloud docker-compose exec --user www-data app php occ check ## Per aggiornare Vedere le nuove immagni dsponibili: https://hub.docker.com/_/nextcloud/ andare a modificare l'immagine scritta sul docker-compose.yml, fare docker pull e in caso rifare down ed up. ## Altri link visti utili Configurazioni aggiunte di Apache https://docs.nextcloud.com/server/13/admin_manual/installation/source_installation.html#apache-configuration-label lista comandi docker https://www.cheatography.com/tobix10/cheat-sheets/docker-commands/ ### Aggiornare Dopo aver fatto i backup delle 7 cose: cartella app, 2 volumi e 4 container. Abbiam modificato il docker-compose.yml con l'immagine successiva nextcloud:17.0.8 docker-compose up Poi da Admin in grafica web abbiamo appurato che mancavano degli aggiornamenti al db, allora glieli abbiamo fatti: docker-compose exec --user www-data app php occ maintenance:mode --off TEST: https://campiaperti.tetaneutral.net, funziona! Ci chiede in grafica web di fare queste cose da console, quindi le facciamo ma dandogli i comandi puri dal container: docker-compose exec --user www-data app php occ db:add-missing-indices docker-compose exec --user www-data app php occ db:convert-filecache-bigint Bene, quindi nuovo backup delle immagini e dei volumi. zip -r /home/backups_dispensa/data-nextcloud_$(date +%Y%m%d%H%M)_6.zip /var/app root@campiaperti:/var/lib/docker/volumes# zip -r /home/backups_dispensa/volumes-nextcloud_$(date +%Y%m%d%H%M)_6.zip var_nextcloud/ zip -r /home/backups_dispensa/volumes-db_$(date +%Y%m%d%H%M)_5.zip var_db finito! C'è da aggiornare la pagina di copertina del cloud. ## NGNIX se si cambia i lcontainer di nginx ricordarsi di Open the nginx configuration file vi /etc/nginx/nginx.conf add or modify the following line inside http {…} client_max_body_size 20M; then reload nginx. [Fonte](https://websistent.com/fix-client-intended-to-send-too-large-body-nginx-error/) {% include links.html %}