Utente:Frenko/Draft: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 121: Riga 121:
<br />
<br />
Se vogliamo utilizzare il sync-server accedendoci dall' esterno oppure condividendolo tra più utenti è consigliato far girare il server di sincronizzazione sotto ad un instanza di un web-server come Apache2. I motivi possono essere molti, uno dei più importanti è il poter utilizzare il protocollo [[Installare_un_ambiente_LAMP:_Linux,_Apache2,_SSL,_MySQL,_PHP5#Configurazione_di_SSL | SSL]] per rendere sicure le connessioni tra client e server, un altro motivo è la possibilità di sostenere più facilmente un numero elevato di connessioni.
Se vogliamo utilizzare il sync-server accedendoci dall' esterno oppure condividendolo tra più utenti è consigliato far girare il server di sincronizzazione sotto ad un instanza di un web-server come Apache2. I motivi possono essere molti, uno dei più importanti è il poter utilizzare il protocollo [[Installare_un_ambiente_LAMP:_Linux,_Apache2,_SSL,_MySQL,_PHP5#Configurazione_di_SSL | SSL]] per rendere sicure le connessioni tra client e server, un altro motivo è la possibilità di sostenere più facilmente un numero elevato di connessioni.
 
<br />
Nel seguito della guida supporremo che il web-server sia accessibile tramite un nome dominio valido, noi utilizzeremo, a titolo esplicativo, ffsync.example.ext.
Supporremo anche che sul web-server sia attivo e configurato il modulo SSL.
=== Configurazione Apache2 ===
=== Configurazione Apache2 ===


Per prima cosa sarà necessario abilitare il modulo [[https://wsgi.readthedocs.org/en/latest/ | WSGI]] di Apache2:
Il sync-server ed Apache2 potranno comunicare tra di loro tramite il protocollo [https://wsgi.readthedocs.org/en/latest/ WSGI], quindi per prima cosa sarà necessario abilitare il modulo WSGI di Apache2:
<pre>
<pre>
# a2enmod wsgi
# a2enmod wsgi
Riga 130: Riga 132:
e quindi riavviare il server Apache2
e quindi riavviare il server Apache2
<pre>
<pre>
service apache2 restart
# service apache2 restart
</pre>
A questo punto è necessario generare un certificato SSL per il dominio che servirà il sync-server:
<pre>
# openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/ffsync.pem -keyout /etc/apache2/ssl/ffsync.pem
</pre>
dove alla voce:
<pre>
Common Name (e.g. server FQDN or YOUR name) []:
</pre>
dovremo scrivere il nome dominio che useremo per contattare il server, nel nostro caso quindi ffsync.example.ext.
 
A questo punto dobbiamo creare un '''VirtualHost''' per dire ad Apache2 come comportarsi alla richesta del dominio scelto.
<br />
Creiamo un nuovo file in <code>/etc/apache2/sites-available/</code> con un nome utile a ricordarci di cosa tratta:
<pre>
# touch /etc/apache2/sites-available/syncserver
</pre>
e quindi utilizzando il proprio editor di testo preferito creiamo il fie di configurazione del nuovo '''VirtualHost''':
<pre>
<Directory /opt/syncserver>
  Order deny,allow
  Allow from all
</Directory>
<VirtualHost *:443>
  ServerName ffsync.example.ext
  DocumentRoot /opt/syncserver
  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl/ffsync.pem
  SSLCertificateKeyFile /etc/apache2/ssl/ffsync.pem
  WSGIProcessGroup sync
  WSGIDaemonProcess sync user=ffsync group=ffsync processes=2 threads=25 python-path=/opt/syncserver/local/lib/python2.7/site-packages/
  WSGIPassAuthorization On
  WSGIScriptAlias / /opt/syncserver/syncserver.wsgi
  CustomLog /var/log/apache2/ffsync.example.ext-access.log combined
  ErrorLog  /var/log/apache2/ffsync.example.ext-error.log
</VirtualHost>
</pre>
</pre>
Dove ovviamente andremo a modificare il percorso alla directory del sync-server se non installata nella stessa path utilizzata nella guida nei campi <code>DocumentRoot</code> e <code><Directory /path/to/syncserver></code>.
<br />
La direttiva <code>WSGIDaemonProcess</code> andrà modificata a seconda di cosa abbiamo fatto; nel caso del parametro <code>python-path</code> dobbiamo sostituire alla path scritta quella utilizzata nella proria installazione del sync-server. Per quanto riguarda invece i parametri <code>user</code> e <code>group</code>, successivamente vedremo che saranno riferiti all' utente e gruppo della directory <code>/opt/syncserver</code>.
<br />
Anche la direttiva <code>WSGIScriptAlias</code> andrà cambiata in caso di differente directory di installazione.
29

contributi