admin:linux:seafile

SeaFile

Настройка Дебиан

download
apt install sudo

Установка на Debian 9 https://www.linuxcloudvps.com/blog/how-to-install-seafile-on-debian-9/

Seafile - это личное облачное хранилище для хранения данных в стиле Dropbox.

https://www.seafile.com

Сегодня мы развернём это хранилище на виртуальном сервере. В качестве гипервизора у нас ProxMox

Seafile для безопасности запустим под отдельным пользователем. В качестве БД используем MySQL 8 на отдельном сервере. Никто не мешает поднять отдельный MySQL на том же сервере, просто у меня уже есть настроенный MySQL, использую его. Дополнительно поднимем и настроим Nginx на том же сервере в качестве вторичного фронтенда. Дополнительно настроим IIS на отдельном сервере в качестве реверс-прокси сервера, первичного фронтенда и SSL терминатора. Можно и Nginx настроить с поддержкой SSL, и снова у меня уже есть IIS с настроенным получением сертификатов LetsEncrypt. Ссылки Для удобства все использованные в статье ссылки собраны здесь.

https://www.seafile.com

https://www.seafile.com/en/download/

Установка Ubuntu Server 18.04.2 LTS на виртуальную машину VMware

VMware - подключение нового диска в ubuntu

IIS как обратный прокси-сервер (reverse proxy)

IIS - SSL сертификат Let's Encrypt

IIS - редирект с HTTP на HTTPS плюс убираем WWW

Мануал:

https://manual.seafile.com/

Для тех кто хочет обойтись без IIS и настроиль SSL на Nginx. Плюс настройка MySQL на том же сервере:

https://www.howtoforge.com/tutorial/seafile-on-ubuntu-with-nginx/

download
apt-get update
apt-get upgrade

Шаг 2. Установка необходимых пакетов. Установка Seafile для хранения требует некоторые модули Python, которые должны быть установлены на сервере:

download
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 ffmpeg python-pip python-mysqldb python-memcache python-requests python-simplejson sqlite3
pip install pillow moviepy

Шаг 3. Установка MySql.

download
apt-get install mysql-server

Шаг 4. Настройка MySQL

download
sudo mysql_secure_installation

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Install and configure HTTP server.

download
sudo apt-get install nginx
download
# nano /etc/nginx/sites-enabled/default

server {
    listen 443 ssl; 
    server_name private.example.org

    ssl on;
    ssl_certificate     certs/private.pem;
    ssl_certificate_key certs/private.key;
    ssl_dhparam         dhparams.pem;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
        deny all;
    }

    location /private/seafile {
        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;
        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 /private/seafile-media/ {
        alias /srv/seafile/seafile-server-latest/seahub/media/;
    }
}

Шаг 5. Установка Seafile.

Первое, что нужно сделать, это перейти на страницу загрузки Seafile и скачать последнюю стабильную версию Seafile.

download
mkdir /opt/seafile
cd /op/seafile
wget https://download.seadrive.org/seafile-server_7.0.4_x86-64.tar.gz

Распакуйте архив документа Seafile в корневой каталог на сервере:

download
tar -xzf seafile-server_7.0.4_x86-64.tar.gz

Переходим в каталог и запускаем скрипт, который создаст необходимые базы данных и каталоги на сервере Seafile, отвечаем на все вопросы, используя свои параметры конфигурации, после того, как скрипт проверит наличие всех необходимых модулей Python:

download
cd seafile-server-*
./setup-seafile-mysql.sh
download
What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] my-server

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ] my-seafile.com

Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/opt/seafile-data" ]

Which port do you want to use for the seafile fileserver?
[ default "8082" ]

После завершения установки выполните следующие команды для запуска сервера Seafile и настройте учетную запись пользователя с правами администратора:

download
sudo ./seafile.sh start
sudo ./seahub.sh start

Сервер стартовал, для того чтобы зайти на сервер зайдите по адресу http://your_domain_or_ip.com:8000 под админской учеткой, которую только то создали

Шаг 6. Правила брандмауэра. Настройка для Seafile.

Вы должны изменить правила брандмауэра, используя следующие команды:

download
sudo firewall-cmd --zone=public --permanent --add-port=8082/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload

iptables

download
[...]
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8082 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 12001 -j ACCEPT
[...]

Шаг 7. Получение доступа к Seafile. Seafile будет доступен по HTTP на порту 8000 по умолчанию. Откройте ваш любимый браузер и перейти на страницу http://yourdomain.ru:8000 или HTTP: сервер-IP: 8000. Введите электронную почту администратора и пароль для входа в систему, которые вы создали во время установки. Если вы используете брандмауэр, необходимо открыть порт 8000, чтобы обеспечить доступ к панели управления. Как установить Seafile на CentOS Наши поздравления! Вы успешно установили Seafile. Спасибо за использование этого учебника для установки Seafile Secure Cloud Storage на систему CentOS 7. Для получения дополнительной помощи или полезной информации, мы рекомендуем вам проверить официальный веб – сайт Seafile.

  • admin/linux/seafile.txt
  • Последнее изменение: 2019/09/25 22:26
  • truadmin