GNU/Linux >> Znalost Linux >  >> Linux

Jak používat ISPConfig a Seafile bez ručních úprav souborů

Výukový program ISPConfig Seafile Seafile je cloudový systém úložiště souborů s otevřeným zdrojovým kódem podobný Dropbox &Box. Rozdíl je v tom, že Seafile lze nasadit na vlastní systém klienta. To poskytuje větší bezpečnost a zabezpečení, protože hesla se vyměňují pouze mezi klientem, který nastavuje systém, a jeho vlastními uživateli, nikoli firemní cloudovou hostingovou společností.

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

V tomto okamžiku budete muset odpovědět na otázky, které se budou týkat vašeho systému a instalace. Když se dostanete do sekce s názvem Vyberte způsob inicializace databází seafile, budete muset vybrat 2a zadat informace o databázi z nastavení ISPConfig.

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

Po spuštění služeb otevřete webový prohlížeč a přejděte na výše vytvořenou webovou adresu s portem 8000.

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

Nyní upravte SERVICE_URL v /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL = http://www.myseafile.com
Budeme 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 restart
Restartujte 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. Ujistěte se, že přidáváte dvě různé úlohy cron; jeden pro seafile a jeden pro seahub. Do sekce Command to Run vložte následující:

/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

Do skriptu startSeafile.sh vložte následující kód:

#!/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!


Linux
  1. Jak používat Awk a regulární výrazy k filtrování textu nebo řetězců v souborech

  2. Jak skrýt soubory a složky ve Správci souborů bez přejmenování

  3. Jak nainstalovat a používat Pycharm, aniž byste museli používat terminál?

  1. UNIX / Linux:Jak používat Sticky Bit na adresář a soubor

  2. Jak auditovat změny souborů a spouštění souborů v Linuxu

  3. Co je soubor u-Boot dtb a jak jej mohu použít (BeagleBoard xM)?

  1. Pochopení cest k souborům a jejich použití v Linuxu

  2. Co je to chroot jail a jak jej používat?

  3. Jak odstranit soubor bez použití rm?