GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare ISPConfig e Seafile senza modifiche manuali ai file

Esercitazione su Seafile ISPConfig Seafile è un sistema di archiviazione di file basato su cloud open source simile a Dropbox &Box. La differenza è che Seafile può essere distribuito sul sistema del cliente. Ciò fornisce un fattore di sicurezza e protezione maggiore poiché le password vengono scambiate solo tra il client che ha configurato il sistema e i propri utenti anziché una società di hosting cloud aziendale.

Ci sono alcuni tutorial di configurazione del server Seafile per ISPConfig, ma niente che non richieda una buona maggioranza di modifica dei file che dovrebbero davvero essere lasciati soli secondo le raccomandazioni degli sviluppatori di ISPConfig. Sebbene questa configurazione sia scritta per Ubuntu 14.04 LTS e ISPConfig 3, può essere seguita per altre distribuzioni. Questa soluzione funziona per me, ma nessuna garanzia o garanzia è espressa o implicita.

Si presume che il lettore desideri distribuire Seafile utilizzando MySQL e Apache (anche https). Si presume inoltre che tu possa utilizzare ISPConfig in modo funzionale, poiché questo non è un tutorial di ISPConfig.

1 sito Web di installazione

Apri il pannello di controllo dell'hosting ISPConfig, fai clic sulla scheda Siti e crea un nuovo sito Web. Anche se tecnicamente puoi utilizzare un sito Web esistente, crearne uno nuovo funziona meglio in quanto ci consente di mantenere tutti i file cloud separati da altri siti. Ciò è necessario anche per utilizzare il pannello ISPConfig per le modifiche alla configurazione.

Nel pannello di configurazione del sito Web, fare clic sulla scheda Opzioni e inserire quanto segue nella sezione Direttive Apache:
Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media

RewriteEngine On

<Location /media>
Require all granted
</Location>

# seafile httpserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

Dovresti anche creare un utente shell per questo sito, poiché sarà utile a breve.


2 Crea database

Dal pannello Siti in ISPConfig, seleziona Utente database e Aggiungi nuovo utente. Crea un singolo utente per client che gestirà i database seafile di quel cliente.



 Dopo aver creato l'utente del database, fai clic su Database e Aggiungi nuovo database. Dovrai aggiungere tre database separati: ccnetdb, seafiledb, seahubdb




3 Scarica e installa il software Seafile

Ci sono alcuni pacchetti richiesti che dobbiamo installare. SSH nel tuo sito web ed esegui i seguenti comandi:

apt-get install python2.7 python-setuptoolspython-simplejson python-imaging python-mysqldb python-fup

Preferisco che tutti i miei server siano in esecuzione all'interno della directory privata piuttosto che della directory web, quindi la configureremo come tale.

cd private
mkdir seafile
cd seafile

wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_x86-64.tar.gz
    o per 32 bit
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_i386.tar.gz

tar zxvf seafile-server_3.1.6_x86- 64.tar.gz
mkdir installato
mv seafile-server_* installato

cd seafile-server-*
./setup_seafile_mysql.sh

A questo punto dovrai rispondere alle domande richieste in quanto si riferiscono al tuo sistema e all'installazione. Quando arrivi alla sezione intitolata Scegli un modo per inizializzare i database Seafile dovrai selezionare 2 e inserire le informazioni sul database dalla configurazione di ISPConfig.

4 Corsa iniziale

È ora di avviare seafile e assicurarsi che la configurazione iniziale funzioni.

./seafile.sh inizio
./seahub.sh inizio

Dopo aver avviato i servizi, apri il tuo browser web e vai all'indirizzo del sito web che hai creato sopra con la porta 8000.

http://192.168.1.111:8000/

5 Configurazione di Apache

La maggior parte della nostra configurazione per Apache viene effettivamente eseguita all'interno del sito Web setup di cui sopra. Tuttavia, è necessario aggiungere una riga ad apache.conf affinché tutto funzioni senza intoppi. Sfortunatamente, non ho trovato un modo per aggiungerlo senza modificare questo singolo file.

sudo echo "## Seafile External Server">>/etc/apache2/apache.conf
sudo echo "FastCGIExternalServer/var/www/seafile.myDomainHere.com/web/seahub.fcgi -host127.0.0.1:8000">> /etc/apache2/apache.conf

Ora modifica SERVICE_URL in /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL = http://www.myseafile.com
Dovremo anche modificare FILE_SERVER_ROOT in /path/to/seafile-server/seahub_settings.py

FILE_SERVER_ROOT ='http://www.myseafile.com/seafhttp'

Riavvia Apache.
sudo service apache2 restart
Riavvia i servizi Seafile.

./seafile.sh start
./seahub.sh start-fastcgi

6 Abilita HTTPS

L'unica cosa da fare è generare una chiave SSL dalla scheda Siti di ISPConfig. A causa del modo in cui ISPConfig è installato e funziona, tutto il resto dovrebbe essere già configurato. Potrebbe essere necessario assicurarsi che Apache venga riavviato.

7 Avvia automaticamente i servizi 

Poiché l'obiettivo qui è mantenere tutto ciò che è contenuto con ISPConfig, piuttosto che creare un servizio di avvio, aggiungeremo seafilescript ai lavori cron degli utenti. Naturalmente, dovrai assicurarti che il client abbia la possibilità di aggiungere lavori cron completi. Assicurati di aggiungere due diversi cron job; uno per seafile e uno per seahub.Inserisci quanto segue nella sezione Command to Run:

/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seahub. shstart-fastcgi
e
/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seafile_start


AGGIORNAMENTO (23 novembre 2014):poiché l'avvio dei server seafile e seahub richiede un po' di tempo, in alcune occasioni il secondo script veniva eseguito prima che lo script precedente fosse terminato. Quindi il server non si avvia. Ho aggiornato lo script di avvio di originalseafile per funzionare correttamente con ISPConfig. Probabilmente ho esagerato con i comandi di attesa, ma lo script funziona bene usandoli. Assicurati di aver effettuato l'accesso come utente di questifile prima di eseguire i seguenti comandi.

Crea un file di avvio:

cd ~/private/seafile
tocca startSeafile.sh
chmod +x startSeafile.sh

Incolla il codice seguente nello script startSeafile.sh:

#!/bin/bash

# Modifica il valore di "seafile_dir" nel percorso di installazione di seafile
seafile_dir=/var/www/clients/client1/web42/private/seafile
script_path=${seafile_dir}/seafile-server-latest
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log

# Cambia il valore di fastcgi in true se deve essere utilizzato fastcgi
fastcgi=true
# Imposta la porta di fastcgi, il valore predefinito è 8000. Modificalo se necessario.
fastcgi_port=8000

## Il comando Sleep è necessario per prevenire errori MYSQL se
## questo script viene eseguito prima che MYSQL sia completamente operativo
sleep 60 &
attendi %1

caso "$1" in
        inizio)
              ${script_path}/seafile.sh inizio>> ${seafile_init_log} &
              attendi %1
              if [  $fastcgi =true ];
              allora
                      ${script_path}/seahub.sh start-fastcgi ${fastcgi_port}>>${seahub_init_ log} &
wait %1
else
$ {script_path} /seahub.sh start>> $ {seahub_init_log} &
wait %1
fi
       ;;
        restart)
              ${script_path}/seafile.sh restart>> ${seafile_init_log} &
              wait %1
              if [  $fastcgi =true ];
Quindi
$ {script_path} /seahub.sh Restart Fastcgi $ {Fastcgi_port}>> $ {Seahub_init_log} &
wait %1
else
$ {script_path} / seahub.sh restart>> ${seahub_init_log} &
                      wait $1
               fi
       ;;
        stop)
               ${script_path}>> $file.sh $1 {seafile_init_log}
              ${script_path}/seahub.sh $1>> ${seahub_init_log}
       ;;
        *)
              echo "Usage:/etc/init.d/seafile{start|stop|restart}"
              uscita 1
       ;;
esac


Ora dovrai solo aggiungere il singolo job startServer.shcron nella sezione Commands to Run di ISPConfig:

/var/www/clients/client1/web42/private/seafile/startSeafile. shstart




Ecco fatto!


Linux
  1. Come nascondere file e cartelle in File Manager senza rinominare

  2. Come installare e utilizzare Pycharm senza dover utilizzare un terminale?

  3. UNIX / Linux:come utilizzare Sticky Bit su directory e file

  4. Come controllare le modifiche ai file e le esecuzioni di file in Linux

  5. Come rimuovere un file senza usare rm?

Che cos'è EFS (Elastic File System) in AWS e come utilizzarlo

File host Linux:come modificarlo e utilizzarlo?

Come installare e utilizzare BleachBit 1.12 su Ubuntu 16.04

Come creare e utilizzare file di scambio su Linux

Come usare gzip in Linux?

Come utilizzare Sed per trovare e sostituire una stringa in un file