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

Как установить Seafile на Ubuntu 16.04 (Xenial Xerus)


Это руководство существует для этих версий ОС

  • Ubuntu 15.04 (Vivid Vervet)

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

  1. Предпосылки
  2. Установка Seafile
    1. Шаг 1. Установите необходимые зависимости
    2. Шаг 2. Создайте нового пользователя \seafile\
    3. Шаг 3. Загрузите и распакуйте архив Seafile.
    4. Шаг 4. Создание базы данных
    5. Шаг 5. Установите Seafile
    6. Шаг 6. Настройка файлов Seafile и Seahub Service
    7. Шаг 7. Установите и настройте Nginx в качестве обратного прокси-сервера
    8. Шаг 8. Тестирование с помощью веб-браузера

    Seafile — это частное облако, такое как Dropbox, mega.co.nz и другие. Seafile основан на python и имеет открытый исходный код, так что вы можете создать свое собственное частное облако, и оно будет намного более безопасным.

    Seafile поддерживает библиотеки шифрования, которые делают ваши данные более безопасными. Чтобы зашифровать файлы в библиотеке, вам необходимо установить пароль при создании библиотеки. Пароль не будет храниться в облаке Seafile. Таким образом, даже администратор серверов не может просматривать ваши зашифрованные данные без пароля.

    В этом руководстве показана установка Seafile в Ubuntu 16.04.

    Предпосылки

    • Сервер с 2 ГБ ОЗУ
    • Убунту 16.04, 64-разрядная версия

    Установка Seafile

    Шаг 1 — Установите необходимые зависимости

    Для установки Seafile нужны некоторые зависимости:

    • openjdk-8jre
    • LibreOffice
    • Поплер-утилиты
    • mysql-сервер
    • Python-pip и другие.

    apt-get install openjdk-8-jre poppler-utils libreoffice libreoffice-script-provider-python libpython2.7 python-pip mysql-server python-setuptools python-imaging python-mysqldb python-memcache ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy python-pip

    Установите boto с помощью pip:

    pip install boto

    Если у вас есть ошибка в настройке локали, выполните все приведенные ниже команды:

    export LANGUAGE=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    locale-gen en_US.UTF-8
    dpkg-reconfigure locales

    Шаг 2. Создайте нового пользователя «seafile».

    На этом шаге мы создадим нового пользователя для установки Seafile. Мы будем запускать сервер Seafile от имени этого пользователя.

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

    useradd -m -s /bin/bash seafile
    passwd seafile

    Шаг 3. Загрузите и распакуйте архив Seafile.

    Seafile можно скачать с официального сайта, скачивайте в соответствии с вашими потребностями. Здесь я использую Ubuntu 15.04 64-бит.

    Загрузите архив Seafile с помощью wget:

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

    Извлеките файл seafile-server_5.1.4_x86-64.tar.gz и переименуйте каталог в seafile-server.

    tar -xzf seafile-server_5.1.4_x86-64.tar.gz
    mv seafile-server-5.1.4/ seafile-server/

    Таким образом, каталог для установки Seafile находится в домашнем каталоге пользователя Seafile.

    Шаг 4 — Создайте базу данных

    Seafile требует 3 базы данных:

    1. ccnet-сервер
    2. сервер морских файлов
    3. морской узел

    Теперь вернитесь к пользователю root с помощью \exit\, затем войдите на свой сервер mysql.

    Создайте 3 базы данных с одним пользователем и предоставьте пользователю все базы данных.

    #Login to mysql
    mysql -u root -p
        
    #Create database
    create database ccnet_db character set = 'utf8';
    create database seafile_db character set = 'utf8';
    create database seahub_db character set = 'utf8';

    #Create user
    create user identified by 'yourpassword';
    flush privileges;

    Шаг 5 — Установите Seafile

    Войдите в систему под пользователем seafile и перейдите в каталог установки seafile-server/, там запустите файл setup-seafile-mysql.sh.

    su - seafile
    cd seafile-server/
    ./setup-seafile-mysql.sh

    Просто нажмите Enter, и вас спросят о:

    • Имя сервера — мы будем использовать seafile-server.
    • Домен/IP — cloud.mydomain.co.
    • Каталог данных Seafile — каталог данных по умолчанию
    • Конфигурация порта сервера Seafile.

    Затем вам будет предложено настроить базу данных. Вы можете выбрать номер 2, потому что вся база данных была создана на шаге 4.

    Seafile установлен. Запустите seafile и сервер seahub:

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

    Вас спросят об электронной почте и пароле администратора для электронной почты и пароля администратора Seafile.

    Если был создан пользователь admin. Остановите seafile сейчас, затем мы создадим служебный файл для сервера seafile:

    ./seafile.sh stop
    ./seahub.sh stop

    Шаг 6. Настройте файлы Seafile и Seahub Service.

    Далее мы настроим службы seafile и seahub. Мы создадим новые служебные файлы для сервера seafile и seahub.

    Как пользователь root, перейдите в каталог /lib/systemd/system/ и создайте новый файл службы seafile seafile-server.service с помощью редактора vim:

    cd /lib/systemd/system/
    vim seafile.service

    Вставьте конфигурацию службы Seafile ниже:

    [Unit]
    Description=Seafile Server
    After=network.target mariadb.service

    [Service]
    Type=oneshot
    ExecStart=/home/seafile/seafile-server/seafile.sh start
    ExecStop=/home/seafile/seafile-server/seafile.sh stop
    RemainAfterExit=yes
    User=seafile
    Group=seafile

    [Install]
    WantedBy=multi-user.target

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

    Теперь создайте новый файл службы Seahub seahub.service:

    vim seahub.service

    Вставьте конфигурацию ниже:

    [Unit]
    Description=Seafile Hub
    After=network.target seafile.target

    [Service]
    Type=oneshot
    ExecStart=/home/seafile/seafile-server/seahub.sh start-fastcgi
    ExecStop=/home/seafile/seafile-server/seahub.sh stop
    RemainAfterExit=yes
    User=seafile
    Group=seafile

    [Install]
    WantedBy=multi-user.target

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

    Перезагрузите службу systemd и запустите seafile и seahub:

    systemctl daemon-reload
    systemctl start seafile
    systemctl start seahub

    Убедитесь, что ошибок нет, и проверьте, работает ли сервер seafile и seahub, проверив служебные порты.

    netstat -plntu

    Вы увидите порт Seafile 8082 и порт SeaHub 8000.

    Шаг 7. Установите и настройте Nginx в качестве обратного прокси

    На этом этапе мы установим nginx из репозитория Ubuntu, а затем настроим его в качестве обратного прокси-сервера для seafile-server на портах 8000 и 8002.

    Установите nginx с помощью этой команды apt-get:

    apt-get install nginx -y

    Когда установка будет завершена, перейдите в каталог виртуального хоста nginx и создайте новый файл виртуального хоста cloud.mydomain.conf с помощью vim:

    cd /etc/nginx/sites-available/
    vim cloud.mydomain.conf

    Вставьте конфигурацию виртуального хоста ниже:

    server {
        listen 80;
        server_name cloud.mydomain.co;

        proxy_set_header X-Forwarded-For $remote_addr;
        # Reverse proxy for seafile
        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   REMOTE_ADDR         $remote_addr;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        # Reverse Proxy for seahub
        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;
        }
        #CHANGE THIS PATH WITH YOUR OWN DIRECTORY
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

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

    Я буду использовать cloud.mydomain.co в качестве доменного имени.

    Затем включите новый виртуальный хост, создав ссылку на каталог с поддержкой сайтов, и перезапустите nginx.

    Включить новый виртуальный хост:

    ln -s /etc/nginx/sites-available/cloud.mydomain.co

    Протестируйте и перезапустите веб-сервер nginx.

    nginx -t
    systemctl restart nginx

    Шаг 8. Тестирование с помощью веб-браузера

    Откройте браузер cloud.mydomain.co и попробуйте войти под своей учетной записью администратора.

    Панель администратора Seafile:

    Заключение

    Благодаря большому разнообразию облачных приложений сегодня Seafile — это частное облачное решение, которое хорошо подходит для использования в наши дни. С функцией шифрования в библиотеке/папке вы можете сделать данные более безопасными. А также простота настройки, упрощение реализации на вашем сервере.

    Ссылки

    • Морской файл