Linux Calibre - omartek/linux_variePerLaboratorio GitHub Wiki
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
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''
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.
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
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
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.
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:
# 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.
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).
- /etc/bind/db.<dir_zone></dir_zone>
- /etc/bind/db.<rev_zone></rev_zone>
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
HowToInstall digitalOcean on CentOS