Како да инсталирате Seafile со Nginx на openSUSE Leap 42.1


Seafile е бесплатен софтвер за хостирање датотеки со функционално како Dropbox или Google Drive што може да се инсталира на вашиот сопствен сервер. Seafile е објавен под лиценца OpenSource. Можете да изградите сопствена сигурна синхронизација на датотеки и да споделувате сервер со seafile, тој е сигурен софтвер за споделување датотеки што им овозможува на корисниците да ги шифрираат своите податоци на серверот. Seafile е напишана на C и python.

Во ова упатство, ќе ви покажам како да изградите сопствена синхронизација на датотеки и да споделувате сервер со seafile на openSUSE Leap 42.1. Ќе ве водиме низ инсталацијата на морскиот фајл, а потоа ќе го конфигурираме веб-интерфејсот со шифрирање https зад обратен прокси-сервер nginx.

Предуслов

  • OpenSUSE Leap 42.1 - 64bit
  • Привилегии на root
  • Разберете ја командата zypper

Чекор 1 - Конфигурирајте го името на домаќинот

Најавете се на вашиот openSUSE сервер:

ssh 

откако ќе се најавите на серверот, уредете ја датотеката на домаќините со vim:

vim /etc/hosts

Залепете ја конфигурацијата (заменете ја IP и името на домаќинот со вашите сопствени вредности):

192.168.1.101   cloud.kuonseafile.co    cloud

Зачувај и излези.

Забелешка:

192.168.1.101=IP адреса на мојот сервер.

Облак=име на домаќин на мојот сервер.

kuonseafile.co=моето име на домен.

Потврдете го името на домаќинот и FQDN (целосно квалификувано име на домен):

hostname
hostname -f

Чекор 2 - Инсталирајте Dependencies

Seafile е напишана во python, така што ни требаат неколку библиотеки за python за инсталација. За базата на податоци, seafile поддржува SQLite и MySQL, во ова упатство, ќе користам MySQL база на податоци која обезбедува подобри перформанси од SQLite.

Инсталирајте ги сите пакети вклучувајќи го и серверот MySQL/MariaDB со командата zypper подолу:

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

Кога ќе заврши инсталацијата, преминете на следниот чекор.

Чекор 3 - Конфигурирајте ја базата на податоци

Има едно нешто што треба да знаете кога сакате да распоредите морски бродови. На Seafile му требаат 3 бази на податоци:

  1. ccnet база на податоци
  2. база на податоци за морски датотеки
  3. база на податоци на seahub

На чекор 2 успешно го инсталиравме серверот MySQL/MariaDB, сега стартувајте го со командата подолу:

rcmysql start

Поставете нова лозинка за root корисникот mysql со командата mysqladmin:

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

Следно, најавете се на школката MySQL и креирајте 3 бази на податоци за seafile и еден нов корисник за тие 3 бази на податоци.

Пријавете се во школката MySQL:

mysql -u root -p

ТИПИ ЛОЗИНКА \aqwe123\

Создадете ги трите бази на податоци за инсталацијата на морски датотеки - ccnet_db, seafile_db и seahub_db:

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

И создадете нов кориснички seafilecloud со лозинка [заштитена е-пошта]:

create user ';

Сега дајте му пристап на корисникот на seafilecloud до сите бази на податоци:

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

Сите бази на податоци се подготвени за инсталација на морски датотеки.

Чекор 4 - Инсталирајте и конфигурирајте Seafile

Во овој чекор, ќе инсталираме и конфигурираме морска датотека. Ќе инсталираме seafile под корисничкиот директориум на seafile и домашниот директориум, така што треба да создадеме нов корисник на Linux со името \seafile\.

Креирај нов корисник

Создадете нов корисник со името seafile за инсталација:

useradd -m -s /bin/bash seafile

Забелешка:

-m=Направете нов домашен директориум за корисникот под \/home/\.
-s /bin/bash=Дефинирајте ја школката за корисникот.

Преземете Seafile

Префрлете се на корисникот на seafile со командата su подолу:

su - seafile

Сега сте во домашниот директориум за морски датотеки, преземете го серверот за морски датотеки 5 со командата wget:

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

Извлечете ја архивата на морски датотеки и преименувајте ја:

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

Инсталирајте Seafile 5

Одете во директориумот на серверот за морски датотеки и стартувајте ја датотеката за поставување за да инсталирате морска датотека:

cd seafile-server/

Ќе инсталираме seafile со MySQL база на податоци, па стартувајте ја датотеката за поставување MySQL:

./setup-seafile-mysql.sh

Сега ќе ви бидат побарани деталите за серверот.

име на сервер=користете го името на домаќинот на серверот.
ИП или домен на серверот=користете ја мојата IP адреса на серверот.
Дирекот на податоци за поморски податоци=само притиснете Enter.
Пристание за сервер за датотеки со морски датотеки=само притиснете Enter.

Следно, конфигурирајте ја базата на податоци. Создадовме сопствена база на податоци за инсталацијата, па изберете го бројот \2\.

Сега ќе ве прашаат за профилот на базата на податоци:

Домаќин на mysql=Стандардно е локален хост.
Стандардна порта=3306.
MySQL корисник за seafile=Го користи корисникот weve создадена во чекор 3 - \seafilecloud\.
Лозинката MySQL=лозинка за корисникот на seafilecloud.
ccnet база на податоци=Ние ја создадовме databsae - ccnet_db.< br> база на податоци за морски датотеки=seafile_db.
база на податоци на seahub=seahub_db.

Ако не се појавија грешки, можете да ја потврдите инсталацијата со притискање на \Enter\.

почекајте скриптата да ги генерира конфигурацијата и базата на податоци.

Започнете Seafile и Seahub

Seafile е инсталиран, сега можете да го стартувате со командата подолу:

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

Ќе биде побарано да креирате администраторски корисник за seafile, само внесете ја вашата административна е-пошта и лозинка.

Во оваа фаза, можете да пристапите до веб-интерфејсот на морските фајлови на портата 8000.

Чекор 5 - Инсталирајте и конфигурирајте Nginx

Nginx е лесен веб-сервер со мала употреба на меморија и потрошувачка на процесорот. Во овој чекор, ќе инсталираме nginx, потоа ќе создадеме нов виртуелен хост за обратниот прокси пристап до seafile. Ќе овозможиме https за врски на серверот.

Инсталирајте Nginx

Инсталирајте го веб-серверот nginx со командата zypper:

zypper in nginx

Генерирајте SSL сертификат

Следно, одете во директориумот nginx и креирајте нов директориум за SSL сертификатот. Потоа генерирајте ја датотеката со сертификат со командата OpenSSL:

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

Сега генерирајте ја датотеката со сертификат:

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

Конфигурирајте виртуелен домаќин

Во директориумот nginx, креирајте нов директориум наречен \vhosts.d\ за да ја зачувате датотеката за виртуелен домаќин. Направете го тој директориум и потоа креирајте нова виртуелна датотека домаќин со vim:

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

Залепете ја конфигурацијата на виртуелниот домаќин подолу:

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

Заменете го името на серверот со вашето сопствено име на домен - ред 3 и 11.
За линијата за локација на медиумот 47, заменете го на патеката на инсталацијата на морски датотеки - /home/seafile/seafile-server/seahub.

Зачувајте ја датотеката и излезете од уредникот, а потоа тестирајте ја конфигурацијата со командата:

nginx -t

проверете дали нема проблем или грешка на конфигурацијата.

Конфигурирајте го Seafile да користи сопствен домен и HTTPS

Префрлете се на корисничката морска датотека и уредете ја конфигурацијата. Пред да ја уредите конфигурацијата, исклучете ја услугата за морето и seahub.

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

Вратете се во почетниот директориум на корисникот на seafile, потоа одете во директориумот conf и уредете ги датотеките ccnet.conf и seahub_settings.py.

cd ~/
cd conf/

Уредете ја датотеката ccnet.conf:

vim ccnet.conf

На линија 5:  SERVICE_URL - заменете го доменот со сопствено име на домен со https.

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

Зачувај и излези.

Сега уредете seahub_settings.py

vim seahub_settings.py

Додадете ја новата линија подолу за да го дефинирате коренот на серверот за датотеки.

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

Зачувај и излези.

Чекор 6 - Започнете со морски бродови и тестирање

Nginx е инсталиран - MariaDB/MySQL се инсталирани и серверот за морски датотеки е инсталиран.

Направете Nginx и MySQL да стартуваат при подигнување:

systemctl enable nginx
systemctl enable mysql

Рестартирајте ги услугите:

systemctl restart nginx
systemctl restart mysql

Следно, стартувајте ги морските фајлови и seahub од корисникот на морски фајлови:

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

Сите услуги се започнати.

Сега можете да пристапите до серверот за морски датотеки со URL-от на вашиот сервер. Мое е:

cloud.kuonseafile.co

Ќе бидете пренасочени на страницата за најавување https конекција на seafile.

Внесете ги деталите за корисникот на администраторот што ги создадовме во чекор 4.

Сега можете да го видите менаџерот на датотеки со морски датотеки и да започнете да поставувате датотеки на вашиот сервер за морски фајлови.

Референца

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