Stai usando un browser non aggiornato. Potresti non visualizzare correttamente questo o altri siti web. Dovreste aggiornare o usare un browser alternativo.
Bene ecco qui in un altro ambito in cui mi sono cimentato… ovvero la costruzione di un NAS
le mie componenti sono le seguenti: Case: Kolink GEKL-006 Midi-Tower Black Scheda Madre: ASRock H110M-ITX 1151 Ram: 4gb non ricordo la marca CPU: Intel 1151 Celeron G3900 Box Alimentatore: Bequiet 350W Hard Disk 1: Western Digital 2TB SATA3 RED Hard Disk 2: Western Digital 2TB SATA3 PURPLE Hard Disk 3: TOSHIBA 3TB SSD OS: OCZ Vertex2 120gb proveniente da un vecchio pc XD
Hardware niente di eccezionale ma per quello che devo fare va più che bene ;)
ho scelto questi componenti a basso costo dato che sono tutti compatibili con ubuntu server, e al massimo se avessi fallito avrei puntato sull'installazione di windows 10 ma con grosse limitazioni che qui per ora non ho trovato.
OS: Ubuntu server 16.04 LTS quindi per lo meno 3 anni di aggiornamenti garantiti.
la scelta di questo os nasce dalla voglia di sperimentare provare e fare bagaglio personale, non è stato semplice configurarlo specie per me che mastico poco di linux ma alla fine seguendo le guide e installando il minimo necessario sono arrivato ad un buon risultato, infatti il nas è attivo da fine aprile e per ora non ho avuto grossi problemi di configurazione.
Servizi di base: SSH: per l’accesso e la configurazione tramite putty quindi tutto da riga di comando WebMin: per l’accesso remoto ma per la gestione del sistema Samba: Condivisione file e cartelle
Cups: Condivisione di stampanti Sane scanner: avendo una multi funzione mi serviva anche che lo scanner funzionasse tramite rete :) Nextcloud: Fork di Owncloud con il quale posso accedere da fuori e caricare o scaricare file MiniDlna: Per la parte multimediale share su xbox e dispositivi connessi in rete Transmission: Client Torrent per il download di file non ha di certo bisogno di presentazioni ;)
per ora mi fermo qui. la lascio chiusa, se avete qualche suggerimento scrivetemi in privato.
vorrei fare qui di seguito una mini guida su come ho installato il sistema i servizi minimi che ho installato e come li ho installati. Nei prossimi giorni svilupperò il tutto.
La seconda parte della guida è dedicata a quanto io abbia fatto diciamo un how to install & setup service...
Installazione ubuntu server e servizi minimali in fase di installazione
prelevabile da qui https://www.ubuntu.com/download/server per stabilità consiglio la 16.04
procediamo con l'installazione basica del sistema scegliendo le 3/4 cose che ci servono
vi risparmio tutti i passaggi dell'installazione :) vi metto i punti salienti fatti durante l'installazione
configurazione samba
Continuiamo con la configurazione di samba che servirà per condividere le cartelle da noi scelte con i nostri computer e dispositivi mobili
Prima di tutto vi consiglio di procurarvi putty
E poi di collegarvi alla vostra nas con quella così da prendere dimestichezza con i comandi
Attenzione nel nas anche se virtuale per renderlo più simile alla mia situazione ho aggiunto un disco da 20gb trovate qui https://help.ubuntu.com/community/InstallingANewHardDrive trovate una guida su come aggiungere altri dischi dopo la prima installazione.
Iniziamo ad aprire una sessione di putti verso l’ip del nas…
Per sapere l’ip del nas da dentro la shell diamo il comando ip addr che ci mostrerà il suo ip altrimenti con altri strumenti tipo ip scanner dal pc principale oppure dal modem router ecc fate come meglio credete :)
Bene cominciamo con questi comandi diamoli come root vi consiglio per non star sempre a mettere sudo davanti a tutti i comandi di dare il comando sudo –i vi chiederà la password e da lì saremo root
incolliamo dentro questo *attenzione i path saranno di sicuro differenti è solo un esempio
Codice:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = TOMSHW
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ==============================
[MyShare]
path = /media/20gb/myshare
workgroup = WORKGROUP
available = yes
browsable = yes
public = yes
writable = yes
guest ok = yes
read only = no
force user = nobody
force directory mode = 777
force create mode = 777
salviamo e usciamo dal nano CTRL+X -> S
questo è quello che funziona ne avevo trovato uno che facendo nuova cartella ne creava 4
ve lo risparmio
proseguiamo nella creazione della cartella da condividere
e controlliamo se si riesce ad arrivare sulla share e a scriverci dentro
ok si vede la share entro provo a fare una nuova cartella e ok. riesco a farla senza troppi problemi e soprattutto senza farne 4 :)
configurazione webmin
continuiamo con l'installazione di webmin
usiamo sempre putty questo poco ma scontato ma sempre meglio ricordarlo
inziamo con questo comando... vorrei ricordare che dobbiamo essere sempre root per installare quindi root -i e password e continuiamo l'installazione
Codice:
sudo nano /etc/apt/sources.list
e aggiungiamo alla fine della lista questa stringa
Codice:
deb http://download.webmin.com/download/repository sarge contrib
salviamo e usciamo dal nano CTRL+X -> S
ora aggiungiamo la chiave PGP di webmin al nostro sistema sono due stringe separate
andiamo alla ricerca di update visto che abbiamo aggiunto poco fa la stringa per l'installazione di webmin
con questo comando
Codice:
sudo apt-get update
una volta terminata la ricerca di update diamo il seguente comando
Codice:
sudo apt-get install webmin
aspettiamo che termini il tutto
avremo a video quanto segue
digitiamo dal browser preferito l'indirizzo riportato e logghiamo con le credenziali di root
ed ecco il risultato finale
configurazione cups
installiamo cups se ne abbiamo realmente bisogno possiamo passare a i punti successivi visto che sono servizi accessori e se vogliamo dirla tutta secondari
iniziamo
autentichiamoci tramite putty e poi diamo il comando sudo -i (così lavoreremo sempre come root)
Codice:
sudo apt-get install cups
il comportamento di cups viene gestito tramite il file di configurazione etc/cups/cupsd.conf
primi di andarlo a pasticciare :) vi consiglio di farne una copia di backup con il seguente comando
incollo il codice che utilizzo e che funziona senza troppi sbattimenti magari non fate proprio copia incolla cambiate solo alcune inezzie
Codice:
#
# Configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
PageLogFormat
# Deactivate CUPS' internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0
# Only listen for connections from the local machine.
port 631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing on
BrowseLocalProtocols dnssd
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Web interface setting...
WebInterface Yes
# Restrict access to the server...
<Location />
Order allow,deny
Allow all
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow all
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Set the default printer/job policies...
<Policy default>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
# Set the authenticated printer/job policies...
<Policy authenticated>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
Salviamo il tutto CTRL+X ->S
e andiamo sull'ip del nas 192.168.x.y:631 e saremo sulla pagina di configurazione di CUPS
da qui potremmo aggiungere la stampante... ripeto se non volete condividere la stampante via rete saltate il passaggio a piè pari
Installazione SANE
come per la stampante se non avete uno scanner da collegare saltate a piè pari
iniziamo con questo comando
verrà installato sane e tutto il sw
diamo questo comando se lo scanner è collegato
Codice:
scanimage --list-devices
l'out-put sarà simile a questo
Codice:
root@TOMS-NAS:/# scanimage --list-devices
device `net:localhost:epson2:libusb:001:002' is a Epson NX300 flatbed scanner
root@TOMS-NAS:/#
una volta rilevato vi consiglio questi 3 programmi che uso per la scansione tramite rete ScanImage, NAPS E SwingSane
configurazione transmission
installiamo questo client torrent completo di tutto :)
iniziamo
Codice:
sudo add-apt-repository ppa: trasmissione / ppa
e poi aggiorniamo i repository
Codice:
sudo apt-get update
passiamo in fine all'installazione vera e propria di transmission
la pass che vedete è un hash della pass predefinita cambiatela scrivendoci dentro
sentra troppi problemi verrà poi modificata in seguito
stesso per lo username... potete usare quello che volete
continuiamo con la modifica del file
Codice:
"rpc-whitelist": "127.0.0.1,192.168.*.*",
dobbiamo dare l'accesso anche dalla lan infatti adiamo a modificare la white list
degli ip che si possono collegare
cambiamo anche il parametro umask da 18 a 2
Codice:
"umask": 2,
saremmo anche apposto così ma che ce lo abbiamo a fare un disco secondario se poi non lo si usa?
andiamo a modificare anche questo campo
Codice:
"download-dir": "/media/20gb/myshare/torrent/",
questo campo serve per specificare dove vengono salvati i dati
continuiamo con l'aggiungere il proprio utente al gruppo transmission
Codice:
sudo usermod -a -G debian-transmission tomhw
adesso possiamo riavviare il servizio e vedere se tutto funziona in modo corretto
Codice:
sudo service transmission-daemon start
rechiamoci sul'ip del nas 192.168.1.x:9091 e inseriamo i nostri dati che precedentemente abbiamo inserito
e logghiamo nel cliet torrent :)
priviamo subito a scricare qualcosa preferisco sempre scaricare un file ovvero
una iso di ubuntu prelevabile da qui https://www.ubuntu.com/download/alternative-downloads
caricate il torrent all'interno e controllate se procede in modo corretto
configurazione nextcloud
dimenticavo per un periodo di tempo ha fatto anche da back-end per la tv digitale terrestre per lo strem via lan per dispositivi android.
varie ed eventuali tips
configurazione nexcloud
per l'installazione di nexcloud abbiamo prima di tutto bisogno di un ambiete lamp
iniziamo con
1) Apache
Codice:
sudo apt-get update
sudo apt-get install apache2
diamo questo comando per verificare la presenza del servizio apache
Codice:
sudo apache2ctl configtest
dovrebbe dare un output del genere
Codice:
root@TOMS-NAS:/# sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
root@TOMS-NAS:/#
continuiamo la configurazione dando il seguente comando
Codice:
sudo nano /etc/apache2/apache2.conf
andremmo a modificare la configurazione apache alla fine del documento inseriamo queste voci
Codice:
ServerName localhost
ServerName 127.0.0.1
salviamo ctrl+x -> s e ridiamo il comando
Codice:
sudo apache2ctl configtest
l'output dovrà essere così
Codice:
root@TOMS-NAS:/# sudo apache2ctl configtest
Syntax OK
root@TOMS-NAS:/#
riavviamo apache
Codice:
sudo systemctl restart apache2
aggiungiamo le regole al firewall di ubuntu
Codice:
sudo ufw app list
e diamo di seguito questo comando che ci aggiungerà tutto apache al firewall
Codice:
sudo ufw app info "Apache Full"
testiamo se ora apache è in funzione andiamo sull'ip del nostro nas 192.168.1.x
la pagina presentata dovrebbe essere così
2)continuiamo con mysql
Codice:
sudo apt-get install mysql-server
sql abbiamo fatto in fretta :D
3) continuiamo con php
finita l'installazione andiamo a modificare il file dir.conf
Codice:
sudo nano /etc/apache2/mods-enabled/dir.conf
che sarà simile a questo
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
andiamo a modificare l'ordine degli index in questo modo
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
eseguiamo un riavvio di apache
Codice:
sudo systemctl restart apache2
e controlliamo lo status
Codice:
sudo systemctl status apache2
a schermo dovremmo vedere questo
Codice:
root@TOMS-NAS:/# sudo systemctl status apache2
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since lun 2017-10-16 18:56:30 CEST; 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 14296 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 14321 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
Tasks: 6
Memory: 15.4M
CPU: 56ms
CGroup: /system.slice/apache2.service
├─14338 /usr/sbin/apache2 -k start
├─14341 /usr/sbin/apache2 -k start
├─14342 /usr/sbin/apache2 -k start
├─14343 /usr/sbin/apache2 -k start
├─14344 /usr/sbin/apache2 -k start
└─14345 /usr/sbin/apache2 -k start
ott 16 18:56:29 TOMS-NAS systemd[1]: Stopped LSB: Apache2 web server.
ott 16 18:56:29 TOMS-NAS systemd[1]: Starting LSB: Apache2 web server...
ott 16 18:56:29 TOMS-NAS apache2[14321]: * Starting Apache httpd web server apache2
ott 16 18:56:30 TOMS-NAS apache2[14321]: *
ott 16 18:56:30 TOMS-NAS systemd[1]: Started LSB: Apache2 web server.
decidiamo di installare php-cli per fare una prova
diamo questo comando
[/code]
sudo apt-get install php-cli[/code]
una volta installato andiamo a modificare il info.php
Codice:
sudo nano /var/ www /html /info.php
inseriamo il seguente codice
Codice:
<?php
phpinfo();
?>
con una pagina simile a questa
una volta vista la pagina possiamo anche rimuoverla
Codice:
sudo rm /var/ www/ html/ info.php
serve solo per vedere la versione ma è sempre ripristinabile
visto che alcune cose non me le fa incollare per la protezione del forum vi lascio il pastebin dell'ultimo pezzo https://pastebin.com/H33MHqe6
il risultato sarà questo