Si të instaloni Seafile me Nginx në openSUSE Leap 42.1


Seafile është një softuer pa pagesë për mbajtjen e skedarëve me një funksionalisht si Dropbox ose Google Drive që mund të instalohet në serverin tuaj. Seafile lëshohet nën një licencë OpenSource. Mund të ndërtoni sinkronizimin tuaj të sigurt të skedarëve dhe të ndani serverin me seafile, është një softuer i besueshëm për ndarjen e skedarëve që u mundëson përdoruesve të kodojnë të dhënat e tyre në server. Seafile është shkruar në C dhe python.

Në këtë tutorial, unë do t'ju tregoj se si të ndërtoni sinkronizimin e skedarëve tuaj dhe të ndani serverin me seafile në openSUSE Leap 42.1. Ne do t'ju udhëzojmë në instalimin e seafile dhe më pas do të konfigurojmë GUI-në e uebit me enkriptim https pas një serveri proxy të kundërt nginx.

Kusht paraprak

  • OpenSUSE Leap 42.1 - 64 bit
  • Privilegjet e rrënjës
  • Kupto komandën zypper

Hapi 1 - Konfiguro emrin e hostit

Hyni në serverin tuaj openSUSE:

ssh 

pasi të keni hyrë në server, modifikoni skedarin e hosteve me vim:

vim /etc/hosts

Ngjitni konfigurimin (zëvendësoni IP-në dhe emrin e hostit me vlerat tuaja):

192.168.1.101   cloud.kuonseafile.co    cloud

Ruaje dhe dil.

Shënim:

192.168.1.101=adresa IP e serverit tim.

Cloud=emri i hostit të serverit tim.

kuonseafile.co=emri im i domenit.

Verifikoni emrin e hostit dhe FQDN (Emri i Domenit të Kualifikuar plotësisht):

hostname
hostname -f

Hapi 2 - Instaloni Dependencies

Seafile është shkruar në python, kështu që na duhen disa biblioteka python për instalim. Për bazën e të dhënave, seafile mbështet SQLite dhe MySQL, në këtë tutorial, unë do të përdor një bazë të dhënash MySQL e cila ofron një performancë më të mirë se SQLite.

Instaloni të gjitha paketat duke përfshirë serverin MySQL/MariaDB me komandën zypper më poshtë:

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

Kur instalimi të ketë mbaruar, kaloni në hapin tjetër.

Hapi 3 - Konfiguro bazën e të dhënave

Ekziston një gjë që duhet të dini kur dëshironi të vendosni seaile. Seafile ka nevojë për 3 baza të dhënash:

  1. baza e të dhënave ccnet
  2. data e të dhënave të skedarëve detar
  3. baza e të dhënave seahub

Në hapin 2 ne kemi instaluar me sukses serverin MySQL/MariaDB, tani e nisim me komandën e mëposhtme:

rcmysql start

Vendosni një fjalëkalim të ri për përdoruesin rrënjë mysql me komandën mysqladmin:

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

Më pas, identifikohuni në guaskën MySQL dhe krijoni 3 baza të dhënash për seafile dhe një përdorues të ri për ato 3 baza të të dhënave.

Hyni në guaskën MySQL:

mysql -u root -p

LLOJ FALËkalimin \aqwe123\

Krijoni tre bazat e të dhënave për instalimin e skedarëve detar - ccnet_db, seafile_db dhe seahub_db:

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

Dhe krijoni një përdorues të ri seafilecloud me fjalëkalim [email e mbrojtur]:

create user ';

Tani jepni akses përdoruesit seafilecloud në të gjitha bazat e të dhënave:

grant all privileges on ccnet_db.* to ';
flush privileges;

Të gjitha bazat e të dhënave janë gati për instalimin e skedarëve detarë.

Hapi 4 - Instaloni dhe konfiguroni Seafile

Në këtë hap, ne do të instalojmë dhe konfigurojmë seafile. Ne do të instalojmë sefile nën direktorinë e përdoruesit të sefilit dhe atë të shtëpisë, kështu që duhet të krijojmë një përdorues të ri Linux me emrin \seafile\.

Krijo përdoruesin e ri

Krijo një përdorues të ri me emrin sefile për instalimin:

useradd -m -s /bin/bash seafile

Shënim:

-m=Krijo direktori të re kryesore për përdoruesin nën \/home/\.
-s /bin/bash=Përcaktoni guaskën për përdoruesin.

Shkarko Seafile

Kalo te përdoruesi seafile me komandën su më poshtë:

su - seafile

Tani jeni në drejtorinë kryesore të sefileve, shkarkoni serverin e sefileve 5 me komandën wget:

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

Ekstraktoni arkivin e detit dhe riemërtoni atë:

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

Instaloni Seafile 5

Shkoni te drejtoria e serverit të detit dhe ekzekutoni skedarin e konfigurimit për të instaluar skedarin detar:

cd seafile-server/

Ne do të instalojmë sefile me bazën e të dhënave MySQL, kështu që ekzekutoni skedarin e konfigurimit MySQL:

./setup-seafile-mysql.sh

Tani do t'ju kërkohen detajet e serverit.

emri i serverit=përdor emrin e hostit të serverit.
IP ose Domeni i serverit=përdor adresën ip të serverit tim.
Seafile Data direcoty=thjesht shtypni Enter.
Port për serverin e skedarëve detar=thjesht shtypni Enter.

Tjetra, konfiguroni bazën e të dhënave. Ne kemi krijuar bazën tonë të të dhënave për instalimin, kështu që zgjidhni numrin \2\.

Tani do të pyeteni për profilin e bazës së të dhënave:

Host i mysql=Parazgjedhja është localhost.
Porta e parazgjedhur=3306.
Përdoruesi MySQL për seafile=Përdor përdoruesin weve krijuar në hapin 3 - \seafilecloud\.
Fjalëkalimi MySQL=fjalëkalimi për përdoruesin e seafilecloud.
data e të dhënave ccnet=Ne krijuam databsae - ccnet_db.< br> baza e të dhënave të skedarëve detar=seafile_db.
data e të dhënave seahub=seahub_db.

Nëse nuk ka pasur gabime, mund ta konfirmoni instalimin duke shtypur \Enter\.

prisni që skripti të gjenerojë konfigurimin dhe bazën e të dhënave.

Fillo Seafile dhe Seahub

Seafile është instaluar, tani mund ta filloni me komandën e mëposhtme:

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

Do t'ju kërkohet të krijoni një përdorues administratori për skedarin detar, thjesht shkruani emailin dhe fjalëkalimin tuaj të administratorit.

Në këtë fazë, ju mund të përdorni GUI-në e ueb-filit detar në portin 8000.

Hapi 5 - Instaloni dhe konfiguroni Nginx

Nginx është një web server i lehtë me përdorim të ulët të memories dhe konsum të CPU. Në këtë hap, ne do të instalojmë nginx, më pas do të krijojmë një host të ri virtual për qasjen e përfaqësuesit të kundërt në seafile. Ne do të aktivizojmë https për lidhjet në server.

Instaloni Nginx

Instaloni serverin në internet nginx me komandën zypper:

zypper in nginx

Gjeneroni certifikatën SSL

Më pas, shkoni te drejtoria nginx dhe krijoni një drejtori të re për certifikatën SSL. Pastaj gjeneroni skedarin e certifikatës me komandën OpenSSL:

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

Tani gjeneroni skedarin e certifikatës:

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

Konfiguro hostin virtual

Në drejtorinë nginx, krijoni një direktori të re të quajtur \vhosts.d\ për të ruajtur skedarin e hostit virtual. Krijoni atë drejtori dhe më pas krijoni një skedar të ri të hostit virtual me vim:

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

Ngjitni konfigurimin e hostit virtual më poshtë:

    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;
        }
    }

Zëvendësoni emrin e serverit me emrin tuaj të domenit - rreshti 3 dhe 11.
Për rreshtin 47 të vendndodhjes së medias, zëvendësojeni në shtegun e instalimit të skedarëve detarë - /home/seafile/seafile-server/seahub.

Ruani skedarin dhe dilni nga redaktori, më pas provoni konfigurimin me komandën:

nginx -t

sigurohuni që të mos ketë asnjë problem ose gabim në konfigurim.

Konfiguro Seafile për të përdorur domenin tënd dhe HTTPS

Kalo te skedari detar i përdoruesit dhe modifiko konfigurimin. Përpara se të redaktoni konfigurimin, çaktivizoni shërbimin e detit dhe detit.

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

Kthehuni te direktoria kryesore e përdoruesit të seafile, më pas shkoni te direktoria conf dhe modifikoni skedarët ccnet.conf dhe seahub_settings.py.

cd ~/
cd conf/

Redakto skedarin ccnet.conf:

vim ccnet.conf

Në linjën 5:  SERVICE_URL - zëvendësoni domenin me emrin tuaj të domenit me https.

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

Ruaje dhe dil.

Tani modifikoni seahub_settings.py

vim seahub_settings.py

Shtoni rreshtin e ri më poshtë për të përcaktuar rrënjën e serverit të skedarëve.

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

Ruaje dhe dil.

Hapi 6 - Filloni detarin dhe testimin

Nginx është instaluar - MariaDB/MySQL janë instaluar dhe serveri i skedarëve detar është instaluar.

Bëni Nginx dhe MySQL për të filluar në boot:

systemctl enable nginx
systemctl enable mysql

Rinisni shërbimet:

systemctl restart nginx
systemctl restart mysql

Më pas, filloni seafile dhe seahub nga përdoruesi i detit:

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

Të gjitha shërbimet janë nisur.

Tani mund të hyni në serverin e skedarëve detarë me URL-në e serverit tuaj. Imja eshte:

cloud.kuonseafile.co

Do të ridrejtoheni në faqen e hyrjes së lidhjes https të seafile.

Futni të dhënat e përdoruesit të administratorit që kemi krijuar në hapin 4.

Tani mund të shihni menaxherin e skedarëve të skedarëve detarë dhe të filloni të ngarkoni skedarë në serverin tuaj të skedarëve detarë.

Referenca

  • http://manual.seafile.com/deploy/https_with_nginx.html