Existuje několik návodů na nastavení serveru Seafile pro ISPConfig, ale nic z toho nevyžadovalo velkou většinu úprav souborů, které by podle doporučení vývojáře ISPConfig měly být skutečně ponechány. I když je toto nastavení napsáno pro Ubuntu 14.04 LTS a ISPConfig 3, lze jej následovat pro další distribuce. Toto řešení pro mě funguje, ale žádná záruka nebo záruka je vyjádřená nebo předpokládaná.
Předpokládá se, že čtenář chce nasadit Seafile pomocí MySQL a Apache (také https). Předpokládá se také, že můžete funkčně používat ISPConfig, protože toto není výukový program ISPConfig.
1 nastavení webové stránky
Otevřete ovládací panel hostování ISPConfig, klikněte na kartu Weby a vytvořte nový web. I když technicky můžete použít existující web, vytvoření nového funguje lépe, protože nám umožňuje uchovávat všechny cloudové soubory oddělené od ostatních webů. To je také nezbytné pro použití panelu ISPConfig pro změny konfigurace.Na panelu konfigurace webu klikněte na kartu Možnosti a do sekce Direktivy Apache vložte následující:
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}]

Měli byste také vytvořit shell uživatele pro tento web, protože to bude brzy nutné.

2 Vytváření databází
Na panelu Sites v ISPConfig vyberte Database User a Add new User. Vytvořte jednoho uživatele pro každého klienta, který bude spravovat mořské databáze tohoto klienta.
Po vytvoření uživatele databáze klikněte na Databáze a Přidat novou databázi. Budete muset přidat tři samostatné databáze: ccnetdb, seafiledb, seahubdb



3 Stažení a instalace softwaru Seafile
Musíme nainstalovat některé požadované balíčky. SSH na váš web a spusťte následující příkazy:apt-get install python2.7 python-setuptoolspython-simplejson python-imaging python-mysqldb python-flup
Dávám přednost tomu, aby všechny mé servery běžely v soukromém adresáři než ve webovém adresáři, takže to nastavíme jako takové.
cd private
mkdir seafile
cd seafile
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_x86-64.tar.gz
nebo pro 32bit
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 nainstalován
mv seafile-server_* nainstalován
cd seafile-server-*
./setup_seafile_mysql.sh
4 počáteční spuštění
Je čas spustit seafile a ujistit se, že počáteční nastavení funguje.
./seafile.sh start
./seahub.sh start
http://192.168.1.111:8000/
5 Nastavení Apache
Většina našich nastavení pro Apache se ve skutečnosti provádí uvnitř nastavení webu výše. Aby však vše fungovalo hladce, musíme do souboru apache.conf přidat řádek. Bohužel jsem nenašel způsob, jak to přidat bez úpravy tohoto jediného souboru.
sudo echo "## Externí server Seafile">>/etc/apache2/apache.conf
sudo echo "FastCGIExternalServer/var/www/seafile.myDomainHere.com/web/seahub.fcgi -host127.0.0.1:8000">> /etc/apache2/apache.conf
SERVICE_URL = http://www.myseafile.comBudeme také muset upravit FILE_SERVER_ROOT v /path/to/seafile-server/seahub_settings.py
FILE_SERVER_ROOT ='http://www.myseafile.com/seafhttp'
Restartujte Apache.sudo service apache2 restartRestartujte služby Seafile.
./seafile.sh start
./seahub.sh start-fastcgi
6 Povolit HTTPS
Jediná věc, kterou je třeba udělat, je vygenerování klíče SSL z karty Sites v ISPConfig. Vzhledem k tomu, jak je ISPConfig nainstalován a funguje, vše ostatní by již mělo být nastaveno. Možná se budete muset ujistit, že se Apache restartuje.
7 Automatické spouštění služeb
Protože cílem je zachovat vše obsažené v ISPConfig, spíše než vytvářet spouštěcí službu, přidáme seafilescript do uživatelských úloh cron. Přirozeně se budete muset ujistit, že klient má možnost přidávat úplné úlohy cron. /var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seahub. shstart-fastcgi
a
/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seafile_start
AKTUALIZACE (23. listopadu 2014):Protože spuštění serverů seafile &seahub chvíli trvá, byly případy, kdy se druhý skript spustil dříve, než byl dokončen předchozí skript. Server by se tedy nespustil. Aktualizoval jsem spouštěcí skript originalseafile, aby správně fungoval s ISPConfig. Pravděpodobně jsem to s příkazy čekání přehnal, ale skript s nimi funguje dobře. Před spuštěním následujících příkazů se ujistěte, že jste přihlášeni jako uživatel těchto souborů.
Vytvořte spouštěcí soubor:
cd ~/private/seafile
dotkněte se startSeafile.sh
chmod +x startSeafile.sh
#!/bin/bash
# Změňte hodnotu "seafile_dir" na cestu instalace 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
# Pokud chcete použít fastcgi, změňte hodnotu fastcgi na true
fastcgi=true
# Nastavte port fastcgi, výchozí je 8000. Změňte jej, pokud potřebujete jiný.
fastcgi_port=8000
## Příkaz Sleep je nutný, aby se předešlo chybám MYSQL, pokud
## se tento skript spustí dříve, než bude MYSQL plně funkční
spánek 60 &
počkej %1
případ "$1" v
začátek)
${script_path}/seafile.sh start>> ${seafile_init_log} &
if [ $fastcgi =true ];
, pak
${script_path}/seahub.sh ${a_hub.sh start-fastcgi log} &
počkejte %1
else
$ {scrip_path} /seahub.sh start>> $ {SeaHub_init_log} &
Počkejte %1
fi
;;
restart)
${script_path}/seafile.sh restart>> ${seafile_init_log} &
= pravda fa /> Pak
$ {SCRIPT_PATH} /seaHub.sh Restart-fastcgi $ {fastcgi_port}>> $ {SeaHub_Init_Log} &
Počkejte %1
else
$ {Script_Path} / restart seahub.sh>> ${seahub_init_log} &
počkej $ 1
fi
;;
cesta cesta {seafile_init_log}
${script_path}/seahub.sh 1 $>> ${seahub_init_log}
;;
*)
e u u u{start|stop|restart}"
výjezd 1
;;
esac
Nyní budete muset přidat jedinou úlohu startServer.shcron do sekce Příkazy ke spuštění v ISPConfig:
/var/www/clients/client1/web42/private/seafile/startSeafile. shstart

To je ono!