GNU/Linux >> Znalost Linux >  >> OpenSuse

Jak nainstalovat Seafile s Nginx na openSUSE Leap 42.1

Seafile je bezplatný software pro hostování souborů s funkčně jako Dropbox nebo Google Drive, který lze nainstalovat na váš vlastní server. Seafile je vydán pod licencí OpenSource. Můžete si vytvořit vlastní zabezpečenou synchronizaci souborů a sdílet server s seafile, je to spolehlivý software pro sdílení souborů, který uživatelům umožňuje šifrovat data na serveru. Seafile je napsán v C a pythonu.

V tomto tutoriálu vám ukážu, jak vytvořit vlastní synchronizaci souborů a sdílet server s seafile na openSUSE Leap 42.1. Provedeme vás instalací seafile a poté nakonfigurujeme webové GUI se šifrováním https za reverzním proxy serverem nginx.

Předpoklad

  • OpenSUSE Leap 42.1 – 64bit
  • Oprávnění uživatele root
  • Pochopte příkaz Zypper

Krok 1 – Konfigurace názvu hostitele

Přihlaste se k vašemu serveru openSUSE:

ssh [email protected]

po přihlášení k serveru upravte soubor hosts pomocí vim:

vim /etc/hosts

Vložte konfiguraci (nahraďte IP a název hostitele svými vlastními hodnotami):

192.168.1.101   cloud.kuonseafile.co    cloud

Uložte a ukončete.

Poznámka:

192.168.1.101 =IP adresa mého serveru.

Cloud =název hostitele mého serveru.

kuonseafile.co =název mé domény.

Ověřte název hostitele a FQDN (plně kvalifikovaný název domény):

hostname
hostname -f

Krok 2 – Instalace závislostí

Seafile je napsán v pythonu, takže pro instalaci potřebujeme několik knihoven pythonu. Pro databázi, seafile podporuje SQLite a MySQL, v tomto tutoriálu použiji databázi MySQL, která poskytuje lepší výkon než SQLite.

Nainstalujte všechny balíčky včetně serveru MySQL/MariaDB pomocí příkazu zypper níže:

zypper in python python-imaging python-MySQL-python python-setuptools mariadb mariadb-client

Po dokončení instalace přejděte k dalšímu kroku.

Krok 3 – Konfigurace databáze

Je jedna věc, kterou byste měli vědět, když chcete nasadit seafile. Seafile potřebuje 3 databáze:

  1. databáze ccnet
  2. databáze mořských souborů
  3. databáze seahub

V kroku 2 jsme úspěšně nainstalovali server MySQL/MariaDB, nyní jej spusťte příkazem níže:

rcmysql start

Nastavte nové heslo pro uživatele root mysql pomocí příkazu mysqladmin:

/usr/bin/mysqladmin -u root password 'aqwe123'

Dále se přihlaste do prostředí MySQL a vytvořte 3 databáze pro seafile a jednoho nového uživatele pro tyto 3 databáze.

Přihlaste se do prostředí MySQL:

mysql -u root -p

ZAPIŠTE HESLO "aqwe123"

Vytvořte tři databáze pro instalaci seafile – ccnet_db, seafile_db a seahub_db:

create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';

A vytvořte nového uživatele seafilecloud s heslem „[email protected]“:

create user [email protected] identified by '[email protected]';

Nyní udělte uživateli seafilecloud přístup ke všem databázím:

grant all privileges on ccnet_db.* to [email protected] identified by '[email protected]';
grant all privileges on seafile_db.* to [email protected] identified by '[email protected]';
grant all privileges on seahub_db.* to [email protected] identified by '[email protected]';
flush privileges;

Všechny databáze jsou připraveny k instalaci seafile.

Krok 4 – Instalace a konfigurace Seafile

V tomto kroku nainstalujeme a nakonfigurujeme seafile. Nainstalujeme seafile do uživatelského a domovského adresáře seafile, takže musíme vytvořit nového uživatele Linuxu s názvem "seafile".

Vytvořte nového uživatele

Vytvořte nového uživatele s názvem seafile pro instalaci:

useradd -m -s /bin/bash seafile

Poznámka:

-m =Vytvoří nový domovský adresář pro uživatele pod "/home/".
-s /bin/bash =Definuje shell pro uživatele.

Stáhnout Seafile

Přepněte se na uživatele seafile pomocí příkazu su níže:

su - seafile

Nyní jste v domovském adresáři seafile, stáhněte si seafile server 5 pomocí příkazu wget:

wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.3_x86-64.tar.gz

Rozbalte archiv seafile a přejmenujte jej:

tar -xzvf seafile-server_5.1.3_x86-64.tar.gz
mv seafile-server-5.1.3/ seafile-server

Nainstalujte Seafile 5

Přejděte do adresáře seafile-server a spusťte instalační soubor pro instalaci seafile:

cd seafile-server/

Nainstalujeme seafile s databází MySQL, takže spusťte instalační soubor MySQL:

./setup-seafile-mysql.sh

Nyní budete požádáni o podrobnosti o serveru.

název serveru =použijte název hostitele serveru.
IP serveru nebo doména =použít IP adresu mého serveru.
Seafile Data direcoty =stačí stisknout Enter.
Port pro souborový server seafile =stačí stisknout Enter.

Dále nakonfigurujte databázi. Pro instalaci jsme vytvořili vlastní databázi, takže zvolte číslo "2" .

Nyní budete dotázáni na profil databáze:

Hostitel mysql =Výchozí je localhost.
Výchozí port =3306.
Uživatel MySQL pro seafile =Používá uživatele, kterého jsme vytvořili v kroku 3 – „seafilecloud“.
Heslo MySQL =heslo pro uživatele seafilecloud.
databáze ccnet =Vytvořili jsme databázi - ccnet_db.
databáze mořských souborů =seafile_db.
databáze seahub =seahub_db.

Pokud nedošlo k žádné chybě, můžete instalaci potvrdit stisknutím „Enter“.

počkejte, až skript vygeneruje konfiguraci a databázi.

Spusťte Seafile a Seahub

Seafile je nainstalován, nyní jej můžete spustit příkazem níže:

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

Budete požádáni o vytvoření administrátora pro seafile, stačí zadat e-mail a heslo administrátora.

V této fázi můžete přistupovat k webovému grafickému rozhraní seafile na portu 8000.

Krok 5 – Instalace a konfigurace Nginx

Nginx je lehký webový server s nízkým využitím paměti a spotřebou CPU. V tomto kroku nainstalujeme nginx a poté vytvoříme nového virtuálního hostitele pro reverzní proxy přístup k seafile. Povolíme https pro připojení na serveru.

Nainstalujte Nginx

Nainstalujte webový server nginx pomocí příkazu zypper:

zypper in nginx

Vygenerujte certifikát SSL

Dále přejděte do adresáře nginx a vytvořte nový adresář pro certifikát SSL. Poté vygenerujte soubor certifikátu pomocí příkazu OpenSSL:

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Nyní vygenerujte soubor certifikátu:

openssl genrsa -out privkey.pem 4096
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

Konfigurace virtuálního hostitele

V adresáři nginx vytvořte nový adresář s názvem "vhosts.d" pro uložení souboru virtuálního hostitele. Vytvořte tento adresář a poté vytvořte nový soubor virtuálního hostitele pomocí vim:

mkdir -p /etc/nginx/vhosts.d/
cd /etc/nginx/vhosts.d/
vim cloud.kuonseafile.conf

Níže vložte konfiguraci virtuálního hostitele:

    server {
        listen       80;
        server_name  cloud.kuonseafile.co;    #Domain Name
        rewrite ^ https://$http_host$request_uri? permanent;    # force redirect http to https
    }
    server {
        listen 443;
        ssl on;
        ssl_certificate /etc/nginx/ssl/cacert.pem;        # path to your cacert.pem
        ssl_certificate_key /etc/nginx/ssl/privkey.pem;    # path to your privkey.pem
        server_name cloud.kuonseafile.co;                    #Domain Name
        proxy_set_header X-Forwarded-For $remote_addr;

        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
        server_tokens off;

        location / {
            fastcgi_pass    127.0.0.1:8000;
            fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;
            fastcgi_param   PATH_INFO           $fastcgi_script_name;

            fastcgi_param   SERVER_PROTOCOL        $server_protocol;
            fastcgi_param   QUERY_STRING        $query_string;
            fastcgi_param   REQUEST_METHOD      $request_method;
            fastcgi_param   CONTENT_TYPE        $content_type;
            fastcgi_param   CONTENT_LENGTH      $content_length;
            fastcgi_param   SERVER_ADDR         $server_addr;
            fastcgi_param   SERVER_PORT         $server_port;
            fastcgi_param   SERVER_NAME         $server_name;
            fastcgi_param   HTTPS               on;
            fastcgi_param   HTTP_SCHEME         https;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        location /seafhttp {
            rewrite ^/seafhttp(.*)$ $1 break;
            proxy_pass http://127.0.0.1:8082;
            client_max_body_size 0;
            proxy_connect_timeout  36000s;
            proxy_read_timeout  36000s;
            proxy_send_timeout  36000s;
            send_timeout  36000s;
        }
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

Nahraďte název_serveru svým vlastním názvem domény - řádek 3 a 11.
Řádek umístění média 47 nahraďte cestou instalace seafile - '/home/seafile/seafile-server/seahub'.

Uložte soubor a ukončete editor, poté otestujte konfiguraci příkazem:

nginx -t

ujistěte se, že v konfiguraci není žádný problém nebo chyba.

Nakonfigurujte Seafile tak, aby používal vaši vlastní doménu a HTTPS

Přepněte se do uživatelského souboru a upravte konfiguraci. Před úpravou konfigurace vypněte službu seafile a seahub.

su - seafile
cd seafile-server/
./seafile.sh stop
./seahub.sh stop

Vraťte se do domovského adresáře uživatele seafile, poté přejděte do adresáře conf a upravte soubory ccnet.conf a seahub_settings.py.

cd ~/
cd conf/

Upravit soubor ccnet.conf:

vim ccnet.conf

Na řádku 5: 'SERVICE_URL' – nahraďte doménu svým vlastním názvem domény https.

SERVICE_URL = https://cloud.kuonseafile.co/

Uložte a ukončete.

Nyní upravte seahub_settings.py

vim seahub_settings.py

Přidejte nový řádek níže, abyste definovali kořen souborového serveru.

FILE_SERVER_ROOT = 'https://cloud.kuonseafile.co/seafhttp'

Uložte a ukončete.

Krok 6 – Spuštění seafile a testování

Nginx je nainstalován - MariaDB/MySQL jsou nainstalovány a server seafile je nainstalován.

Umožněte spuštění Nginx a MySQL při spouštění:

systemctl enable nginx
systemctl enable mysql

Restartujte služby:

systemctl restart nginx
systemctl restart mysql

Dále spusťte seafile a seahub od uživatele seafile:

su - seafile
cd seafile-server/
./seafile start
./seahub start-fastcgi

Všechny služby jsou spuštěny.

Nyní můžete přistupovat k serveru seafile pomocí adresy URL vašeho serveru. Můj je:

cloud.kuonseafile.co

Budete přesměrováni na přihlašovací stránku https připojení k seafile.

Zadejte uživatelské údaje správce, které jsme vytvořili v kroku 4.

Nyní můžete vidět správce souborů seafile a začít nahrávat soubory na váš server seafile.


OpenSuse
  1. Jak nainstalovat Mongodb 5 v Opensuse Leap 15.3

  2. Jak nainstalovat Mysql Server 8 na OpenSUSE Leap 15.3

  3. Jak nainstalovat a nakonfigurovat Redis 6 na OpenSUSE Leap 15.3

  1. Jak nainstalovat Java 17 v OpenSUSE Leap 15.3

  2. Jak nainstalovat a nastavit Nginx jako proxy OpenSUSE Leap 15.3

  3. Jak nainstalovat a nastavit PHP a Nginx (LEMP) na OpenSUSE Leap 15.3

  1. Jak nainstalovat phpMyAdmin s Nginx na Ubuntu 18.04

  2. Jak nainstalovat Nginx s PHP-FPM a MySQL na openSUSE 12.1

  3. Jak nainstalovat Erlang na Opensuse Leap 15.3