Skip to content

Installare Ninuxoo in locale

Alessandro Gubitosi edited this page Mar 8, 2014 · 53 revisions

Requisiti

Questo applicativo richiede:

Hardware

NAS

oppure

NAS + ARM

oppure

ARM + HDD


1 NAS


NAS + ARM

ARM + HDD

Un NAS singolo Un device ARM che controlla il NAS
(NAS montato in maniera permanente)
Un device ARM con
Hard Disk capiente collegato

Software

  • Server Apache installato
  • PHP 5.3 o superiore installato
  • OpenSSL
  • Avahi daemon
  • sendmail o ssmtp funzionante

Note sulla directory di Ninuxoo

Per rendere le cose più comprensibili viene qui trattata la directory /var/www, ma è possibile decidere di installare e far funzionare Ninuxoo anche su un'altra directory.
In tal caso, si dovrà cambiare ogni riferimento a /var/www con il percorso desiderato.

Prerequisiti

Per prima cosa è necessario installare tutto il necessario, ovvero i seguenti programmi:

Programma Descrizione Pacchetto/i Modulo php
Apache Server HTTP apache2 libapache2
Avahi Protocollo MDNS (Zeroconf) avahi-daemon avahi-utils
Convert Opera sulle immagini. Utile per generare le anteprime dei documenti pdf convert
cURL "Browser" a riga di comando curl php5-curl
Epub tools Utilità per operare su documenti epub epub-utils
git Sistema di controllo versione git
GraphicsMagick Coltellino svizzero per operare sulle immagini graphicsmagick-imagemagick-compat
OpenSSL Libreria di crittografia openssl
PHP Linguaggio di programmazione necessario al funzionamento di Ninuxoo php5 mod-php5 php5-common php5-cli
ID3 tag version 2.3.0 Estrae metadati da files multimediali id3v2
LAME encoder Encoder per i files audio MPEG lame
MCrypt Libreria di crittografia mcrypt php5-mcrypt
JSON Formato di interscambio dati php5-json
PEAR - PHP Extension and Application Repository Framework di componenti PHP php-pear

Digitare perciò il seguente comando per installarli tutti insieme:

$ sudo apt-get install -y apache2 avahi-daemon avahi-utils libapache2 convert curl epub-utils git graphicsmagick-imagemagick-compat id3v2 lame mcrypt mod-php5 openssl php5-cli php5-common php5-curl php5-json php5-mcrypt php-pear

quindi proseguire con i moduli PEAR

$ sudo pear install Config_Lite-0.2.1 File_SearchReplace Mail

quindi si può procedere scaricando e scompattando i sorgenti di questo repository:

$ git clone [email protected]:gubi/Ninuxoo-2.0.git /var/www/

Da notare che, come anche riportato nella documentazione di git, il cloning è consentito solo nelle directory vuote.


Configurazione di Apache

Ninuxoo usa un sistema di gestione delle page path-like, ovvero simile ai percorsi delle directory.
Questo è possibile grazie ad Apache e il suo url-rewriting.
È necessario quindi abilitare il relativo modulo:

$ sudo a2enmod rewrite
$ sudo service apache2 restart

Inoltre, la configurazione apache relativa alla directory /var/www/ dovrà essere qualcosa di simile a:

<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow, deny
        Allow from all
</Directory>

soprattutto è importante la voce

AllowOverride All

che consente di rendere effettivamente funionante .htaccess.

Installazione di Ninuxoo

Semplicemente, basta richiamare la pagina principale dal proprio browser, inserendo l'indirizzo IP del proprio device nella barra degli indirizzi: un'interfaccia grafica provvederà a creare tutti i files di configurazione necessari.
Per maggiori informazioni è possibile consultare la pagina relativa all'[installer dietro le quinte](Dietro le quinte dell'installer).

Passi successivi

Permessi dei files e delle directory

Gli script dovrebbero provvedere alla assegnazione dei giusti permessi a files e directory, tuttavia potrebbe capitare che una volta installato il tutto non è possibile effettuare il login o che le modifiche alle impostazioni non abbiano effetto. In tal caso si hanno problemi coi permessi e si può risolvere semplicemente dando i permessi in scrittura a tutta la directory common, compresi tutti i files contenuti.

Sono anche stati testati permessi 777 a tutta la directory /var/www/ senza riscontrare falle nella sicurezza.

Configurazione del crontab

Poiché l'installazione automatizzata non gode dei permessi di root, potrebbe essere comunque necessaria la creazione manuale del seguente cronjob:

$ sudo crontab -e
# Ninuxoo Local scan job
00 */6 * * * root /usr/bin/php /var/www/scan.php

Annunciare il NAS via Avahi

Poiché (come sopra) l'installazione automatizzata non gode dei permessi di root, questo passo è necessario indipendentemente dal tipo di installazione scelto.

Copiare il file common/include/conf/ninuxoo.service - generato in fase di installazione - in /etc/avahi/services/ninuxoo.service:

$ sudo cp common/include/conf/ninuxoo.service /etc/avahi/services/ninuxoo.service
$ sudo reload avahi-daemon

Note

  • Lo script scan.php può essere lanciato manaualmente o via cron, come descritto sopra.