Linux Calibre - omartek/linux_variePerLaboratorio GitHub Wiki

Table of Contents

Installare Debian

Ho utilizzato l'ultima Debian disponibile.

Durante l'installazione, a richiesta, non ho installato nessun window maneger e nessun webserver. Ho invece installare SSH.

Al termine dell'installazione ho scelto di installare Lxde, in quanto ho ritenuto potesse facilitare i gestori del server:

 # apt-get install lxde

Ho escluso lightDM dall'avvio automatico, in quanto verrà avviata una sessione X tramite VNC solo quando necessario:

 # systemctl disable lightdm.service
 # apt-get install vnc4server

Installa vncserver ed avviarlo da riga di comando

Impostare una password per l'accesso alla sessione che verrà avviata con il comando:

 $ vncpasswd 

Con i comandi seguenti si possono controllare e terminare le sessioni:

 $ vncserver -list
 $ vncserver -kill :1

L'avvio della sessione grafica può essere eseguita dopo l'accesso tramite SSH:

 gestore@miopc$ ssh [email protected]
 [...]
 pippo@calibreserver$ vncserver -localhost no -geometry 1024x768 -depth 24

Dal client avviare un VNC client a scelta, digitando:

 192.168.1.110:1 ''#nella finestra di richiesta indirizzo''

Installare calibre sul server

Seguendo questa guida commentata dallo stesso autore di Calibre, ho installato e configurato come segue (è stata utile anche la guida ufficiale):

 $ sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('/opt')"
 $ sudo touch /opt/calibre/calibre.log ''# creare un file di log''
 $ sudo calibre-server --userdb /srv/calibre/users.sqlite --manage-users ''# aggiungere l'utente admin, questo si può anche eseguire dalla GUI di Calibre, se installato l'ambiente grafico, dal menu preferenze''

Per avviare il servizio calibre-server all'avvio del PC creare il file /etc/systemd/system/calibre-server.service come segue:

 [Unit]
 Description=calibre content server
 After=network.target
 [Service]
 Type=simple
 User=pippo
 Group=pippo
 ExecStart=/opt/calibre/calibre-server "/home/pippo/Biblioteca di calibre"
 [Install]
 WantedBy=multi-user.target

ed avviarlo in automatico:

 sudo systemctl enable calibre-server

L'avvio automatico e lo stato del servizio si possono controllare con i comandi:

 sudo systemctl start calibre-server
 sudo systemctl status calibre-server

D'ora in poi il server della biblioteca sarà accessibile digitando l'indirizzo dentro un qualunque browser:



Qui si trova un'ulteriore guida su come gestire un Calibre Server da un server linux.

Attivare ssh

Se non attivato durante l'installazione ecco come installare il server ssh:

 sudo apt-get update
 sudo apt-get install openssh-server
 sudo ufw enable
 sudo ufw allow 22

Per verificare che stia ascoltando sulla porta eseguire

 sudo netstat -anp | grep sshd

e verificare le regole del firewall (con uno dei due seguenti comandi)

 sudo iptables -L | grep ssh
 sudo ufw verbose

Trasformare il pc in Access Point con hostapd

Come indicato in questa guida, installare e configurare hostapd, previa verifica che la scheda supporti la modalità master:

 # apt-get install iw hostapd wireless-tools

eseguendo il comando, tra gli interface modes deve comparire la modalità AP:

 # iw list ''# stampa a video le proprietà della scheda wifi''
   [...]
   Supported interface modes:
   - IBSS
   - managed
   - AP
   - AP/VLAN
   - WDS
   - monitor
   - mesh point

Creare un file di configurazione:

 # nano /etc/hostapd/hostapd.conf

Inserire i comandi ed eseguire il comando di avvio per verificarne il funzionamento immediatamente:

 # hostapd /etc/hostapd/hostapd.conf

Se tutto va bene editare il file /etc/default/hostapd indicando il percorso del proprio file di configurazione, che per questa guida significa:

 DAEMON_CONF="/etc/hostapd/hostapd.conf"

e quindi avviare il demone hostapd e riavviare il sistema:

 # /etc/init.d/hostapd start

Installare e configurare dnsmasq

Guida per settaggi avanzati

Interrompere i servizi:

 sudo systemctl stop dnsmasq
 sudo systemctl stop hostapd

Impostare l'IP statico alla scheda di rete wifi nel file /etc/network/interfaces:

 #  Wifi
 auto wlp3s0
 iface wlp3s0 inet static
 address 192.168.0.1
 netmask 255.255.255.0
 gateway 192.168.0.1
 dns-nameserver 192.168.0.1

Il servizio DHCP è fornito da dnsmasq. Per impostazione predefinita, il file di configurazione contiene molte informazioni che non sono necessarie ed è più facile iniziare da zero.

Rinominare questo file di configurazione e modificarne uno nuovo:

 sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
 sudo nano /etc/dnsmasq.conf

Digita o copia le seguenti informazioni nel file di configurazione di dnsmasq e salvalo:

 domain-needed
 bogus-priv
 no-resolv
 no-poll
 interface=wlp3s0      # Use the require wireless interface
 dhcp-range=192.168.0.2,192.168.0.200,255.255.255.0,12h

Quindi wlp3s0, forniremo indirizzi IP tra 192.168.0.2 e 192.168.0.200, con un lease time di 12 ore.

Preparare il dominio e gli host

Dare il nome al dominio correggendo i file hostname e hosts se necessario:

  127.0.0.1       localhost
  192.168.0.1     biblioteca.net

Installare NGINX

Estratto da questa guida

Installare nginx:

 # apt-get install nginx

Cartella default del sito web

 nano /var/www/example.com/html/index.html

Creare un file di configurazione copiando il default esistente:

 sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com

Il contenuto tipico del nuovo file sarà qualcosa di simile:

        root /var/www/example.com/html;
        index index.html index.htm index.nginx-debian.html;
        
        server_name example.com www.example.com;
        
        location / {
                try_files $uri $uri/ =404;
        }
 }

Al terminerà sarà necessario creare il link simbolico al file appena creato:

 sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

In particolare per indirizzare sulla porta del server, la nginx guida ufficiale indica le due alternative qui sotto riportate.

 <VirtualHost *:80>
   ServerName  example.com/
   Redirect / https://example.com:8080/
 </virtualhost>

o

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
 }

Al termine di tutto, riavviare il server o i servizi.

BIND 9 (DNS alternativo a dnsmasq)

Installare

 $ sudo apt-get update
 $ sudo apt-get install bind9 bind9utils bind9-doc

inoltre anche gli strumenti di diagnostica dei DNS

 sudo apt install dnsutils

Editare il file

 $ sudo vi /etc/default/bind9

aggiungendo l'opzione per IP4

 OPTIONS="-4 -u bind"

Nella cartella /etc/bind sono contenuti i file di configurazione principali

Tali opzioni sono specificate:

  • nel file /etc/bind/named.conf che contiene le direttive di configurazione generali del servizio:
  • nel file /etc/bind/named.conf.options che contiene le opzioni e le liste di controllo degli accessi per la configurazione generali del servizio;
  • nel file /etc/bind/named.conf.local che contiene le direttive di configurazione locali del servizio,ovvero la dichiarazione delle vostre zone locali (quelle servite dal vostro DNS).
Notare che su Ubuntu i file di zona hanno le forme seguenti:
  • /etc/bind/db.<dir_zone></dir_zone>
  • /etc/bind/db.<rev_zone></rev_zone>

File zona forward e reverse

Per configurare un server DNS primario, editare

 # avrà un aspetto del tipo
 zone "example.com" {
        type master;
        file "/etc/bind/db.example.com";
 };
 # e per la zona reverse
 zone "0.42.10.in-addr.arpa" {
        type master;
        file "/etc/bind/db.10.42.0";
 };

Quindi editare il primo file indicato (db.example.com) copiandolo da un template.

 # avrà un aspetto del genere
 ;
 ; BIND data file for local librarium.romero
 ;
 $TTL    604800
 @       IN      SOA     example.com. root.example.com. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
 IN      A       10.42.0.1
 ;
 @       IN      NS      example.com.
 @       IN      A       10.42.0.1
 @       IN      AAAA    ::1
 ns      IN      A       10.42.0.1

Creare anche il file di reverse copiando il template esistente.

 $ sudo cp /etc/bind/db.127 /etc/bind/db.10.42.0
 # avrà un aspetto del genere
 ;
 ; BIND reverse data file for local loopback interface
 ;
 $TTL    604800
 @       IN      SOA     librarium.romero. root.librarium.romero. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
 ;
 @       IN      NS      librarium.romero.
 116     IN      PTR     librarium.romero.

Ricordarsi si incrementare il numero seriale se si fanno modifiche e quindi riavviare il servizio e testare con i comandi

 $ sudo systemctl restart bind9.service
 $ dig -x 127.0.0.1
 $ ping example.com
 $ named-checkzone example.com /etc/bind/db.example.com
 $ named-checkzone 0.42.10.in-addr.arpa /etc/bind/db.10.42.0

Guide utili

Ubuntu

Server/Dns

DNS Help Ubuntu

Digital Ocean

HowToInstall digitalOcean on CentOS

HowToInstall digitalOcean on Ubuntu

Altri DNS server =

MaraDNS server Lite

Guida a Ubuntu Server

Ubuntu Server setup

Categoria: Linux_PCscuola Categoria: Aiuto

⚠️ **GitHub.com Fallback** ⚠️