diff --git a/_data/sidebars/mydoc_sidebar.yml b/_data/sidebars/mydoc_sidebar.yml index 1b08ab6..a091127 100644 --- a/_data/sidebars/mydoc_sidebar.yml +++ b/_data/sidebars/mydoc_sidebar.yml @@ -27,6 +27,10 @@ entries: url: /mydoc_introduzione.html output: web, pdf + - title: Documentazione + url: /mydoc_documentazione.html + output: web, pdf + - title: Installazione url: /mydoc_server.html output: web, pdf @@ -34,4 +38,8 @@ entries: - title: L'idea e la struttura url: /mydoc_about.html output: web, pdf + + - title: Utilizzo + url: /mydoc_utilizzo.html + output: web, pdf diff --git a/_posts/2019-01-10-ripresa.md b/_posts/2019-01-10-ripresa.md index 846b35c..b8e3109 100644 --- a/_posts/2019-01-10-ripresa.md +++ b/_posts/2019-01-10-ripresa.md @@ -21,7 +21,7 @@ Si immette la pasw, non la si vede quando la si digita. a si mette due volte.. F su dispensa -Ora siamo dispensa! Una utente senza privilegi di root, quindi senza i super poteri della radice! +Ora siamo dispensa! Una utente senza privilegi di root, quindi senza poteri di amministrazione! [http://guide.debianizzati.org/index.php/Guida_ai_comandi_da_terminale_-_Gestione_utenti_e_gruppi](Approfondimento gestione utenti in Debian) diff --git a/_posts/2019-01-13-ancora_docker.md b/_posts/2019-01-13-ancora_docker.md index fafab2e..90df4e5 100644 --- a/_posts/2019-01-13-ancora_docker.md +++ b/_posts/2019-01-13-ancora_docker.md @@ -1,11 +1,11 @@ --- -title: "Ancora docker" -permalink: ripresa2019.html -tags: [news], [docker] +title: "Ancora docker e docker-compose" +permalink: ancora_docker.html +tags: [server] --- -Incontro domenica pomeriggio, ca battistini. +Incontro domenica pomeriggio, ca battistini. 13 gennaio 2019. L'obiettivo è tornare sui propri passi, distruggere i container già esistenti ed avviarne due nuovi: un mariadb e un nextcloud. docker --version diff --git a/_posts/2019-01-20-AGgennaio.md b/_posts/2019-01-20-AGgennaio.md new file mode 100644 index 0000000..4dc61a5 --- /dev/null +++ b/_posts/2019-01-20-AGgennaio.md @@ -0,0 +1,20 @@ +--- +title: "prima assemblea generale 2019" +permalink: 2019assembleagenerale01di6.html +tags: [assemblea] +--- + + +Assemblea generale allo Zonarelli, dalle 10 alle 18. Pranzo al sacco. +Ordine del giorno: + +* Sostenibilità condivisa MAG6 +* proposte tavolo formazione +* proposte tavoli bioregionali +* riflessione sull'organizzazione strutturale di Campiaperti +* deliberazione +* report visite nuovi ingressi + +rilettura dei report. + +{% include links.html %} diff --git a/index.md b/index.md index 3178c39..3aa4d43 100644 --- a/index.md +++ b/index.md @@ -37,6 +37,6 @@ Si parla di tecnologia e di come la usiamo per i nostri scopi: il mutualismo, la * Sito web campiaperti.org * Video pubblicati su Arkiwi.org e embeddati nel sito campiaperti.org -Non sono elencati i servizi che usaiamo su piattaforme di terzi. +Non sono elencati i servizi che usiamo su piattaforme di terzi. {% include links.html %} diff --git a/pages/mydoc/mydoc_about.md b/pages/mydoc/mydoc_about.md index 101aaca..a784a76 100644 --- a/pages/mydoc/mydoc_about.md +++ b/pages/mydoc/mydoc_about.md @@ -33,6 +33,31 @@ Appena loggata sul server puoi vedere se la macchina è aggiornata: 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 + 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 + ### Caricare i file da ssh upload: local -> remote @@ -40,7 +65,8 @@ upload: local -> remote caricare: dal locale al remoto scp local_file user@remote_host:remote_file -Quindi + +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 diff --git a/pages/mydoc/mydoc_faq.md b/pages/mydoc/mydoc_faq.md deleted file mode 100644 index 6877b11..0000000 --- a/pages/mydoc/mydoc_faq.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: FAQ layout -permalink: mydoc_faq_layout.html -sidebar: mydoc_sidebar -tags: [special_layouts] -keywords: frequently asked questions, FAQ, question and answer, collapsible sections, expand, collapse -last_updated: November 30, 2015 -summary: "You can use an accordion-layout that takes advantage of Bootstrap styling. This is useful for an FAQ page." -toc: false -folder: mydoc ---- - -
If you want to use an FAQ format, use the syntax shown on the faq.html page. Rather than including code samples here (which are bulky with a lot of nested div
tags), just look at the source in the mydoc_faq.html theme file.
output: web
(rather than output: pdf
) in the list of attributes in your sidebar. The prince-list.txt file that loops through the mydoc_sidebar.yml file to grab the URLs of each page that should appear in the PDF will skip over any items that do not list output: pdf
in the item attributes. For example, you might not want your tag archives to appear in the PDF, but you probably will want to list them in the online help navigation." %}
-
-## 4. Customize your headers and footers
-
-Open up the css/printstyles.css file and customize what you want for the headers and footers. At the very least, customize the email address (`youremail@domain.com`) that appears in the bottom left.
-
-Exactly how the print styling works here is pretty nifty. You don't need to understand the rest of the content in this section unless you want to customize your PDFs to look different from what I've configured. But I'm adding this information here in case you want to understand how to customize the look and feel of the PDF output.
-
-This style creates a page reference for a link:
-
-{% raw %}
-```css
-a[href]::after {
- content: " (page " target-counter(attr(href), page) ")"
-}
-```
-
-You don't want cross references for any link that doesn't reference another page, so this style specifies that the content after should be blank:
-
-```css
-a[href*="mailto"]::after, a[data-toggle="tooltip"]::after, a[href].noCrossRef::after {
- content: "";
-}
-```
-{% endraw %}
-
-{% include tip.html content="If you have a link to a file download, or some other link that shouldn't have a cross reference (such as link used in JavaScript for navtabs or collapsible sections, for example, add `noCrossRef` as a class to the link to avoid having it say \"page 0\" in the cross reference." %}
-
-This style specifies that after links to web resources, the URL should be inserted instead of the page number:
-
-```css
-a[href^="http:"]::after, a[href^="https:"]::after {
- content: " (" attr(href) ")";
-}
-```
-
-This style sets the page margins:
-
-```css
-@page {
- margin: 60pt 90pt 60pt 90pt;
- font-family: sans-serif;
- font-style:none;
- color: gray;
-
-}
-```
-
-To set a specific style property for a particular page, you have to name the page. This allows Prince to identify the page.
-
-First you add frontmatter to the page that specifies the type. For the titlepage.html, here's the frontmatter:
-
-```yaml
----
-type: title
----
-```
-
-For the tocpage, here's the frontmatter:
-
-```yaml
----
-type: frontmatter
----
-```
-
-For the index.html page, we have this type tag (among others):
-
-```yaml
----
-type: first_page
----
-```
-
-The default_print.html layout will change the class of the `body` element based on the type value in the page's frontmatter:
-
-{% raw %}
-```liquid
-
-```
-{% endraw %}
-
-Now in the css/printstyles.css file, you can assign a page name based on a specific class:
-
-```css
-body.title { page: title }
-```
-
-This means that for content inside of `body class="title"`, we can style this page in our stylesheet using `@page title`.
-
-Here's how that title page is styled:
-
-```css
-@page title {
- @top-left {
- content: " ";
- }
- @top-right {
- content: " "
- }
- @bottom-right {
- content: " ";
- }
- @bottom-left {
- content: " ";
- }
-}
-```
-
-As you can see, we don't have any header or footer content, because it's the title page.
-
-For the tocpage.html, which has the `type: frontmatter`, this is specified in the stylesheet:
-
-```css
-body.frontmatter { page: frontmatter }
-body.frontmatter {counter-reset: page 1}
-
-
-@page frontmatter {
- @top-left {
- content: prince-script(guideName);
- }
- @top-right {
- content: prince-script(datestamp);
- }
- @bottom-right {
- content: counter(page, lower-roman);
- }
- @bottom-left {
- content: "youremail@domain.com"; }
-}
-```
-
-With `counter(page, lower-roman)`, we reset the page count to 1 so that the title page doesn't start the count. Then we also add some header and footer info. The page numbers start counting in lower-roman numerals.
-
-Finally, for the first page (which doesn't have a specific name), we restart the counting to 1 again and this time use regular numbers.
-
-```css
-body.first_page {counter-reset: page 1}
-
-h1 { string-set: doctitle content() }
-
-@page {
- @top-left {
- content: string(doctitle);
- font-size: 11px;
- font-style: italic;
- }
- @top-right {
- content: prince-script(datestamp);
- font-size: 11px;
- }
-
- @bottom-right {
- content: "Page " counter(page);
- font-size: 11px;
- }
- @bottom-left {
- content: prince-script(guideName);
- font-size: 11px;
- }
-}
-```
-
-You'll see some other items in there such as `prince-script`. This means we're using JavaScript to run some functions to dynamically generate that content. These JavaScript functions are located in the \_includes/head_print.html:
-
-```js
-
-
-
-```
-
-There are a couple of Prince functions that are default functions from Prince. This gets the heading title of the page:
-
-```js
- content: string(doctitle);
-```
-
-This gets the current page:
-
-```js
- content: "Page " counter(page);
-```
-
-Because the theme uses JavaScript in the CSS, you have to add the `--javascript` tag in the Prince command (detailed later on this page).
-
-## 5. Customize and run the PDF script
-
-Duplicate the pdf-mydoc.sh file in the root directory and customize it for your specific configuration files.
-
-```
-echo 'Killing all Jekyll instances'
-kill -9 $(ps aux | grep '[j]ekyll' | awk '{print $2}')
-clear
-
-echo "Building PDF-friendly HTML site for Mydoc ...";
-jekyll serve --detach --config _config.yml,pdfconfigs/config_mydoc_pdf.yml;
-echo "done";
-
-echo "Building the PDF ...";
-prince --javascript --input-list=_site/pdfconfigs/prince-list.txt -o pdf/mydoc.pdf;
-echo "done";
-```
-
-Note that the first part kills all Jekyll instances. This way you won't try to serve Jekyll at a port that is already occupied.
-
-The `jekyll serve` command serves up the HTML-friendly PDF configurations for our two projects. This web version is where Prince will go to get its content.
-
-The prince script issues a command to the Prince utility. JavaScript is enabled (`--javascript`), and we tell it exactly where to find the list of files (`--input-list`) — just point to the prince-list.txt file. Then we tell it where and what to output (`-o`).
-
-Make sure that the path to the prince-list.txt is correct. For the output directory, I like to output the PDF file into my project's source (into the files folder). Then when I build the web output, the PDF is included and something I can refer to.
-
-{% include note.html content="You might not want to include the PDF in your project files, since you're likely committing the PDF to Github and as a result saving the changes from one PDF version to another with each save." %}
-
-## 6. Add conditions for your new builds in the PDF config file
-
-In the PDF configuration file, there's a section that looks like this:
-
-```
-{% raw %}{% if site.product == "mydoc" %}
-pdf_sidebar: product2_sidebar
-{% endif %}
-```
-
-Point to the sidebar you want here.
-
-What this does is allow the prince-list.txt and toc.html files to iterate through the right sidebar. Otherwise, you would need to create a unique prince-list.txt and toc.html file for each separate PDF output you have.
-
-## 7. Add a download button for the PDF
-
-You can add a download button for your PDF using some Bootstrap button code:
-
-```html
-
-```
-
-Here's what that looks like:
-
-
-
-## JavaScript conflicts
-
-If you have JavaScript on any of your pages, Prince will note errors in Terminal like this:
-
-```
-error: TypeError: value is not an object
-```
-
-However, the PDF will still build.
-
-You need to conditionalize out any JavaScript from your PDF web output before building your PDFs. Make sure that the PDF configuration files have the `output: pdf` property.
-
-Then surround the JavaScript with conditional tags like this:
-
-```
-{% raw %}{% unless site.output == "pdf" %}
-javascript content here ...
-{% endunless %}{% endraw %}
-```
-
-For more detail about using `unless` in conditional logic, see [Conditional logic][mydoc_conditional_logic]. What this code means is "run this code unless this value is the case."
-
-## Overriding Bootstrap Print Styles
-
-The theme relies on Bootstrap's CSS for styling. However, for print media, Bootstrap applies the following style:
-
-```
-@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}
-```
-This is minified, but basically the `*` (asterisk) means select all, and applied the color #000 (black). As a result, the Bootstrap style strips out all color from the PDF (for Bootstrap elements).
-
-This is problematic for code snippets that have syntax highlighting. I decided to remove this de-coloring from the print output. I commented out the Bootstrap style:
-
-```
-@media print{*,:after,:before{/*color:#000!important;*/text-shadow:none!important;/*background:0 0!important*/;-webkit-box-shadow:none!important;box-shadow:none!important}
-```
-
-If you update Bootrap, make sure you make this edit. (Sorry, admittedly I couldn't figure out how to simply overwrite the `*` selector with a later style.)
-
-I did, however, remove the color from the alerts and lighten the background shading for `pre` elements. The printstyles.css has this setting.
-
-{% include links.html %}
diff --git a/pages/mydoc/mydoc_introduction.md b/pages/mydoc/mydoc_introduction.md
index 54fdeaa..1841034 100644
--- a/pages/mydoc/mydoc_introduction.md
+++ b/pages/mydoc/mydoc_introduction.md
@@ -24,26 +24,5 @@ Quindi a grandi linee le scelte progettuali e tecnologiche fatte sono:
* [Docker](https://www.docker.com/why-docker)
* [Nextcloud](https://nextcloud.com/)
-## Come contribuire alla documentazione
-
-Da un terminale si installa git
-
- apt install git
-
-Ci si apre un account su git.lattuga.net
-
-Si apre sul proprio pc un terminale si digita:
-
- git clone https://git.lattuga.net/campiaperti/documentazione.git
-
- cd documentazione
-
-E si modificano le pagine dentro a pages/
-
-esempio: documentazione/pages/mydoc/mydoc_introduction.md
-
-poi si fa
-
- git status
{% include links.html %}
diff --git a/pages/mydoc/mydoc_server.md b/pages/mydoc/mydoc_server.md
index fcd6e1c..2df3d5c 100644
--- a/pages/mydoc/mydoc_server.md
+++ b/pages/mydoc/mydoc_server.md
@@ -6,85 +6,163 @@ permalink: mydoc_server.html
folder: mydoc
---
-
-## autenticarsi ssh:
-
-requisiti: chiave segreta
-- pasw segreta
--software ssh
- 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
-
-
-# connettersi ssh al server
-
-$ssh -p 2222 -l root campiaperti.tetaneutral.net
-
-a questo punto SEI NELLA MACCHINA!
-
-approfondimenti: https://it.wikipedia.org/wiki/Secure_Shell
-
+Seguito il tutorial [https://linuxize.com/post/how-to-install-and-use-docker-compose-on-debian-9/#uninstalling-docker-compose](https://linuxize.com/post/how-to-install-and-use-docker-compose-on-debian-9/#uninstalling-docker-compose)
## installato docker
-https://docs.docker.com/install/linux/docker-ce/debian/#install-using-the-repository
+[https://docs.docker.com/install/linux/docker-ce/debian/#install-using-the-repository](tutorial seguito)
installato dipendenze, aggiunto repository di docker, aggiunto chiave GPG di docker, scaricato e aggiornato i repo, quindi installato docker sull server.
-Installata l'immagine nextcloud conteinerizzata:
+ apt-get update
- docker pull nextcloud
+ apt-get install \
+ apt-transport-https \
+ ca-certificates \
+ curl \
+ gnupg2 \
+ software-properties-common
- docker run -d -p 8080:80 nextcloud
+ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
-SE IL TERMINALE NON DA ERRORI é ANDATO TUTTO BENE
+ sudo apt-key fingerprint 0EBFCD88
-visita: campiaperti.tetaneutral.net:8080
+confrontare le fingerprint: 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
-funziona.
+ add-apt-repository \
+ "deb [arch=amd64] https://download.docker.com/linux/debian \
+ $(lsb_release -cs) \
+ stable"
-scaricato mySQL
+ apt update
- docker pull mysql
+ apt install docker-ce
-https://hub.docker.com/_/mysql/
-https://hub.docker.com/r/phpmyadmin/phpmyadmin/
+## Installare docker-compose
-impostato il servizo comunicante con l'altro ed il nextclpoud esposto sulla porta 80
+Verificare che davvero docker stia andando:
-visita: campiaperti.tetaneutral.net
+ systemctl start docker
+ systemctl enable docker
-funziona! solo che poi abbiam sbagliato a cliccare nell'installazione in grafica.
+Installiamo docker-compose su debian 9
-Quindi
++curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-comp$ -TODO: -Installare docker con il mysql ora comunicante ed installare un certificato SSL! -Varare il servizio! personalizzarlo, predisporre la robustezza sul lungo periodo (copie e rispristini) +docker-ce -v + +chmod +x /usr/local/bin/docker-compose + +ls -l /usr/local/bin/ | grep docker + +docker-compose --version + ++ +Creiamo un network di container che si parlano + + + docker network create nextcloud_network -## installare certificati SSL sul server +Scriviamo il nostro file di configurazioni di docker compose - sudo apt-get install letsencrypt + nano docker-compose.yml -Leggiamo https://letsencrypt.org/getting-started/ +ATTENZIONE: in questo file alcuni valori sono da cambiare! non abbiamo usato dei nomi di default e le passw non ci sono :) + +
version: '3' + +services: + + proxy: + image: jwilder/nginx-proxy:alpine + labels: + - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true" + container_name: nextcloud-proxy + networks: + - nextcloud_network + ports: + - 80:80 + - 443:443 + volumes: + - ./proxy/conf.d:/etc/nginx/conf.d:rw + - ./proxy/vhost.d:/etc/nginx/vhost.d:rw + - ./proxy/html:/usr/share/nginx/html:rw + - ./proxy/certs:/etc/nginx/certs:ro + - /etc/localtime:/etc/localtime:ro + - /var/run/docker.sock:/tmp/docker.sock:ro + restart: unless-stopped + + letsencrypt: + image: jrcs/letsencrypt-nginx-proxy-companion + container_name: nextcloud-letsencrypt + depends_on: + - proxy + networks: + - nextcloud_network + volumes: + - ./proxy/certs:/etc/nginx/certs:rw + - ./proxy/vhost.d:/etc/nginx/vhost.d:rw + - ./proxy/html:/usr/share/nginx/html:rw + - /etc/localtime:/etc/localtime:ro + - /var/run/docker.sock:/var/run/docker.sock:ro + restart: unless-stopped + + db: + image: mariadb + container_name: nextcloud-mariadb + networks: + - nextcloud_network + volumes: + - db:/var/lib/mysql + - /etc/localtime:/etc/localtime:ro + environment: + - MYSQL_ROOT_PASSWORD=toor + - MYSQL_PASSWORD=mysql + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + restart: unless-stopped + + app: + image: nextcloud:latest + container_name: nextcloud-app + networks: + - nextcloud_network + depends_on: + - letsencrypt + - proxy + - db + volumes: + - nextcloud:/var/www/html + - ./app/config:/var/www/html/config + - ./app/custom_apps:/var/www/html/custom_apps + - ./app/data:/var/www/html/data + - ./app/themes:/var/www/html/themes + - /etc/localtime:/etc/localtime:ro + environment: + - VIRTUAL_HOST=nextcloud.YOUR-DOMAIN + - LETSENCRYPT_HOST=nextcloud.YOUR-DOMAIN + - LETSENCRYPT_EMAIL=YOUR-EMAIL + restart: unless-stopped + +volumes: + nextcloud: + db: + +networks: + nextcloud_network: ++ +Ora facciamo partire il tutto: + + docker-compose up -d + +Verifichiamo che funzioni + + docker ps -a + docker stats ## Personalizzare il thema grafico, esistente di nextcloud @@ -92,7 +170,9 @@ Leggiamo https://letsencrypt.org/getting-started/ Quindi davvero ci copiamo doppia la cartella del thema - + nano dispensatheme/core/css/server.css + +Per ora l'unica cosa diversa è il logo! che è stato caricato nella cartella del tema dentro a core/img {% include links.html %} diff --git a/pages/mydoc/mydoc_shuffle.html b/pages/mydoc/mydoc_shuffle.html deleted file mode 100644 index 3987037..0000000 --- a/pages/mydoc/mydoc_shuffle.html +++ /dev/null @@ -1,167 +0,0 @@ ---- -title: Shuffle layout -tags: [special_layouts] -last_updated: November 30, 2015 -keywords: shuffle, card layout, dynamic grid, doc portal, support portal -summary: "This layout shows an example of a knowledge-base style navigation system, where there is no hierarchy, just groups of pages that have certain tags." -permalink: mydoc_shuffle.html -sidebar: mydoc_sidebar -folder: mydoc ---- - - - -{% if site.output == "pdf" %} -{{site.data.alerts.note}} The content on this page doesn't display well on PDF, but I included it anyway so you could see the problems this layout poses if you're including it in PDF. {{site.data.alerts.end}} -{% endif %} - -{% unless site.output == "pdf" %} - - -{% endunless %} - - - -