Поиск по сайту:

Как установить Seafile с Nginx на openSUSE Leap 42.1


На этой странице

  1. Шаг 1. Настройте имя хоста
  2. Шаг 2. Установка зависимостей
  3. Шаг 3. Настройка базы данных
  4. Шаг 4. Установите и настройте Seafile
  5. Шаг 5. Установите и настройте Nginx
  6. Шаг 6. Запустите файл Seafile и тестирование
  7. Справочник

Seafile — это бесплатное программное обеспечение для размещения файлов с функциональностью, похожей на Dropbox или Google Drive, которое можно установить на ваш собственный сервер. Seafile выпущен под лицензией OpenSource. Вы можете создать свой собственный безопасный сервер для синхронизации и обмена файлами с помощью seafile. Это надежное программное обеспечение для обмена файлами, которое позволяет пользователям шифровать свои данные на сервере. Seafile написан на C и Python.

В этом руководстве я покажу вам, как создать собственный сервер синхронизации и обмена файлами с помощью seafile на openSUSE Leap 42.1. Мы поможем вам установить Seafile, а затем настроить веб-интерфейс с шифрованием https за обратным прокси-сервером nginx.

Предпосылка

  • OpenSUSE Leap 42.1 — 64-разрядная версия
  • Привилегии root
  • Знакомство с командой zypper

Шаг 1 — Настройте имя хоста

Войдите на свой сервер openSUSE:

ssh 

после входа на сервер отредактируйте файл hosts с помощью vim:

vim /etc/hosts

Вставьте конфигурацию (замените IP и имя хоста своими значениями):

192.168.1.101   cloud.kuonseafile.co    cloud

Сохранить и выйти.

Примечание:

192.168.1.101=IP-адрес моего сервера.

Облако=имя хоста моего сервера.

kuonseafile.co=мое доменное имя.

Проверьте имя хоста и полное доменное имя (полное доменное имя):

hostname
hostname -f

Шаг 2 — Установите зависимости

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. Seafile требует 3 базы данных:

  1. база данных ccnet
  2. база данных морских файлов
  3. база данных морского концентратора

На шаге 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\

Создайте три базы данных для установки Seafile — 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 с паролем [email :

create user ';

Теперь предоставьте пользователю seafilecloud доступ ко всем базам данных:

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

Все базы готовы к установке Seafile.

Шаг 4 — Установите и настройте Seafile

На этом этапе мы установим и настроим seafile. Мы установим seafile под пользователем seafile и домашним каталогом, поэтому нам нужно создать нового пользователя Linux с именем \seafile\.

Создайте нового пользователя

Создайте нового пользователя с именем seafile для установки:

useradd -m -s /bin/bash seafile

Примечание:

-m=Создать новый домашний каталог для пользователя в \/home/\.
-s /bin/bash=Определить оболочку для пользователя.

Скачать морской файл

Переключитесь на пользователя seafile с помощью команды su ниже:

su - seafile

Теперь вы находитесь в домашнем каталоге seafile, загрузите сервер seafile 5 с помощью команды wget:

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

Извлеките архив Seafile и переименуйте его:

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

Установить Seafile 5

Перейдите в каталог seafile-server и запустите установочный файл, чтобы установить seafile:

cd seafile-server/

Мы будем устанавливать seafile с базой данных MySQL, поэтому запустите установочный файл MySQL:

./setup-seafile-mysql.sh

Теперь вас попросят указать данные сервера.

имя сервера=использовать имя хоста сервера.
IP-адрес сервера или домен=использовать IP-адрес моего сервера.
Направление данных Seafile=просто нажмите Enter.
Порт для файлового сервера Seafile=просто нажмите Enter.

Далее настройте базу данных. Мы создали собственную базу данных для установки, поэтому выберите число «2».

Теперь вас спросят о профиле базы данных:

Хост mysql=По умолчанию используется localhost.
Порт по умолчанию=3306.
Пользователь MySQL для seafile=Использует пользователя weve создан на шаге 3 - \seafilecloud\.
Пароль MySQL=пароль для пользователя seafilecloud.
база данных ccnet=Мы создали базу данных - ccnet_db.< br> база данных seafile=seafile_db.
база данных seahub=seahub_db.

Если ошибок не возникло, вы можете подтвердить установку, нажав \Enter\.

подождите, пока скрипт сгенерирует конфигурацию и базу данных.

Запустите Seafile и Seahub

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

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

Вам будет предложено создать пользователя-администратора для seafile, просто введите адрес электронной почты и пароль администратора.

На этом этапе вы можете получить доступ к веб-интерфейсу 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;
        }
    }

Замените server_name своим собственным доменным именем — строки 3 и 11.
Для строки 47 расположения носителя замените на путь установки seafile — /home/seafile/seafile-server/seahub.

Сохраните файл и выйдите из редактора, затем проверьте конфигурацию с помощью команды:

nginx -t

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

Настройте Seafile для использования вашего собственного домена и HTTPS

Переключитесь на пользовательский файл seafile и отредактируйте конфигурацию. Перед редактированием конфигурации отключите службу seafile и 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 - Запустите Seafile и тестирование

Установлен Nginx - установлены MariaDB/MySQL и установлен сервер seafile.

Заставьте Nginx и MySQL запускаться при загрузке:

systemctl enable nginx
systemctl enable mysql

Перезапустите службы:

systemctl restart nginx
systemctl restart mysql

Затем запустите seafile и seahub от пользователя seafile:

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

Все службы запущены.

Теперь вы можете получить доступ к серверу Seafile с URL-адресом вашего сервера. Мой:

облако.kuonseafile.co

Вы будете перенаправлены на страницу входа в систему https подключения к Seafile.

Введите данные пользователя-администратора, которые мы создали на шаге 4.

Теперь вы можете увидеть файловый менеджер Seafile и начать загружать файлы на свой сервер Seafile.

Ссылка

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