Installazione software · 4 min read · Nov 10, 2025

Installazione di Seafile 6.3.2 all'interno di ISPConfig 3.1

Seafile è un sistema di archiviazione file basato su cloud open-source simile a Dropbox e Box. La differenza è che Seafile può essere distribuito sul sistema del cliente. Questo fornisce un fattore di sicurezza maggiore poiché le password vengono scambiate solo tra il cliente che ha configurato il sistema e i suoi propri utenti, piuttosto che con una società di hosting cloud aziendale.

Ci sono alcuni tutorial per la configurazione del server Seafile per ISPConfig, ma nessuno che non richieda una buona maggioranza di modifiche ai file che dovrebbero davvero essere lasciati in pace secondo le raccomandazioni degli sviluppatori di ISPConfig. Anche se questa configurazione è scritta per Ubuntu 18.04 LTS e ISPConfig 3, può essere seguita per altre distribuzioni. Questa soluzione funziona per me, ma non viene espressa o implicata alcuna garanzia o garanzia.

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 su ISPConfig.

1 Configurazione del Sito

Apri il tuo pannello di controllo ISPConfig, fai clic sulla scheda Siti e crea un nuovo sito web. Dovrai assicurarti di selezionare Nessuno per Sottodominio automatico, SSL, SSL di Let’s Encrypt e Fast-CGI per PHP. Anche se tecnicamente puoi utilizzare un sito web esistente, crearne uno nuovo funziona meglio poiché ci consente di mantenere tutti i file cloud separati da altri siti. Questo è anche necessario per utilizzare il pannello ISPConfig per le modifiche di configurazione.

Nel pannello di configurazione del sito web, fai clic sulla scheda Opzioni e inserisci quanto segue nella sezione Direttive Apache:

Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media  
  
RewriteEngine On  
  
  
Require all granted  
  
  
# seafile httpserver  
#  
ProxyPass /seafhttp http://127.0.0.1:8082  
ProxyPassReverse /seafhttp http://127.0.0.1:8082  
RewriteRule ^/seafhttp - [QSA,L]  
#  
# seahub
#
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/

Direttive Nginx
Dovresti anche creare un utente shell per questo sito poiché sarà necessario a breve.

Utente SSH

2 Creare Database

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

Utente Database

Dopo che l’utente del database è stato creato, fai clic su Database e Aggiungi nuovo Database. Dovrai aggiungere tre database separati: ccnetdb, seafiledb, seahubdb

Primo database

Database

terzo database

3 Scarica e Installa il software Seafile

Ci sono alcuni pacchetti richiesti che dobbiamo installare. Accedi al tuo server con un utente che ha permessi sufficienti per installare software.

apt-get install python2.7 python-setuptools python-simplejson python-pil python-mysqldb python-flup

Preferisco avere tutti i miei server in esecuzione all’interno della directory privata piuttosto che nella directory web, quindi configureremo in questo modo. Accedi al server con il nome utente che abbiamo creato sopra.

cd private  
mkdir seafile  
cd seafile  
   
wget https://download.seadrive.org/seafile-server_6.3.2_x86-64.tar.gz  
    o per 32 bit  
wget https://download.seadrive.org/seafile-server_6.2.5_i386.tar.gz  
   
tar zxvf seafile-server_6.3.2_x86-64.tar.gz  
mkdir installed  
mv seafile-server_* installed  
   
cd seafile-server-*  
./setup-seafile-mysql.sh

A questo punto, dovrai rispondere alle domande che ti vengono poste in relazione al tuo sistema e all’installazione. Quando arrivi alla sezione intitolata Si prega di scegliere un modo per inizializzare i database seafile, dovrai selezionare 2 e inserire le informazioni del database dalla tua configurazione ISPConfig.

4 Esecuzione Iniziale

È tempo di avviare seafile e assicurarti che la configurazione iniziale funzioni.

./seafile.sh start  
./seahub.sh start

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

http://192.168.1.111:8000/

5 Configurazione di Apache

Ora modifica il SERVICE_URL in /path/to/seafile-server/ccnet/ccnet.conf

SERVICE_URL = https://www.myseafile.com

Dovremo anche modificare il FILE_SERVER_ROOT in /path/to/seafile-server/seahub_settings.py

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

Riavvia Apache.

sudo service apache2 restart

Riavvia i servizi Seafile.

./seafile.sh start  
./seahub.sh start

6 Avviare i servizi automaticamente

Poiché l’obiettivo qui è mantenere tutto contenuto all’interno di ISPConfig, piuttosto che creare un servizio di avvio, aggiungeremo lo script seafile ai cron job degli utenti. Naturalmente, dovrai assicurarti che il cliente abbia la possibilità di aggiungere cron job completi.

Crea un file di avvio:

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

Incolla il seguente codice nello script startSeafile.sh:

#!/bin/bash  
   
# Cambia il valore di "seafile_dir" con il tuo percorso di installazione di seafile  
seafile_dir=/var/www/clients/client1/web2/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  
   
## Il comando Sleep è necessario per prevenire errori MYSQL se  
## questo script viene eseguito prima che MYSQL sia completamente operativo  
sleep 60 &  
wait %1  
   
case "$1" in  
start)  
${script_path}/seafile.sh start >> ${seafile_init_log} &  
wait %1  
${script_path}/seahub.sh start >> ${seahub_init_log} &  
wait %1  
;;  
restart)  
${script_path}/seafile.sh restart >> ${seafile_init_log} &  
wait %1  
${script_path}/seahub.sh restart >> ${seahub_init_log} &  
wait %1  
;;  
stop)  
${script_path}/seafile.sh $1 >> ${seafile_init_log} &  
${script_path}/seahub.sh $1 >> ${seahub_init_log}  
;;  
*)  
echo "Uso: /etc/init.d/seafile {start|stop|restart}"  
exit 1  
;;  
esac

Per assicurarti che i file cron vengano scritti correttamente, ci sono alcune cose che dovrebbero essere controllate. Fai clic su Cliente -> [tuo cliente] -> Limiti. Assicurati che i Limiti dei Cron Job siano impostati su Cron Completo con 0 ritardo tra le esecuzioni. Dopo di che dovrai solo aggiungere il singolo cron job startServer.sh nella sezione Comandi da Eseguire di ISPConfig.

/var/www/clients/client1/web42/private/seafile/startSeafile.sh start

Cronjob

Questo è tutto!

Link

  • ISPConfig
  • Seafile
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.