Архив метки: Cloud

Устанавливаем облачный сервис Seafile на Ubuntu

Сегодня в статье разберём настройку и установку облачного сервиса Seafile на Ubuntu Server 20.04 LTS.






Системные требования




Рассмотрим системные требования для сервера Seafile:




  • Процессор: минимум 2 ядра.
  • Память ОЗУ: 2 Гб и более.
  • Поддержка ОС: Linux.
  • СУБД: MariaDB, MySQL, SQLite.
  • Веб-сервер: Nginx, Apache.
  • Установка утилиты: memcached




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




Обновление пакетов сервера.




Обновляем список пакетов и устанавливаем все наши обновления:




sudo apt update && sudo apt dist-upgrade -y




Также настроем нашу временную зону:




sudo timedatectl set-timezone Europe/Moscow




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




sudo timedatectl list-timezones




Установка Memcached




sudo apt install memcached libmemcached-dev




Начнем с установки memcached. Для установки вводим:




sudo apt install memcached




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




Настройка memcached




Настроим установленный сервис memcached:




sudo nano /etc/memcached.conf




Добавим памяти, которую может использовать memcached для своей работы. Найдем и исправим строчку:




-m 512




  •  до 512 Мб. (можно установить и больше. Зависит от вашей RAM в системе)




Перезапускаем сервис и разрешаем его автозапуск:




sudo systemctl restart memcached
sudo systemctl enable memcached




Установка Python




Для запуска и работы нашей облачной системы необходим python версии 3. Выполним его установку с дополнительными компонентами:




sudo apt install python3 python3-setuptools python3-pip libmysqlclient-dev




  • python3 — интерпретатор для языка программирования python.
  • python3-setuptools — дополнение для python-distutils, которые в свою очередь, нужен для установки дополнительных модулей.
  • python3-pip — менеджер установки пакетов python.
  • libmysqlclient-dev — набор файлов для разработки под СУБД MySQL/MariaDB.




С помощью менеджера пакетов python также установим:




pip3 install --timeout=3600 django==3.2.* Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 django-pylibmc django-simple-captcha python3-ldap mysqlclient pycryptodome==3.12.0 cffi==1.14.0




Установка MariaDB




В качестве сервера баз данных будем использовать MariaDB. Устанавливаем нашу БД следующей командой:




sudo apt install mariadb-server




Установим пароль для учетной записи root:




sudo mysqladmin -u root password




* система запросит новый пароль. Его нужно ввести дважды.




Чтобы наш пароль применился, нужно сбросить привилегии в СУБД. Для этого заходим в оболочку sql:




sudo mysql




И вводим:




> flush privileges;




После выходим обратно:




> q




Разрешаем автозапуск демона:




systemctl enable mariadb




Мы готовы переходить к установке Seafile.




Установка Seafile




Создаем каталог, в который загрузим установочные файлы Seafile:




sudo mkdir -p /opt/seafile




На официальном сайте копируем ссылку на архив с приложением и загружаем его на наш сервер:




cd /opt/seafile
sudo wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_9.0.6_x86-64.tar.gz




После загрузки распакуем наш архив:




sudo tar zxf seafile-server_9.0.6_x86-64.tar.gz -C /opt/seafile/ --strip-components 1




Назначим в качестве владельца каталога /seafile нашего пользователя. Для этого необходимо выполнить команду от имени пользователя root:




sudo su
chown -R USER:USER /opt/seafile/
exit




  • USER:USER – ваш пользователь и группа в системе (обычно одно и тоже, например: myuser:myuser)




Запускаем скрипт установки seafile сервера:




sudo ./setup-seafile-mysql.sh




Checking python on this machine ...
-----------------------------------------------------------------
This script will guide you to setup your seafile server using MySQL.
Make sure you have read seafile server manual at
        https://download.seafile.com/published/seafile-manual/home.md
Press ENTER to continue
-----------------------------------------------------------------




Введите название сервера:




What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] seafile




Введите ваш ip-адрес или доменное имя:




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




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




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




Создайте новые базы данных:




-------------------------------------------------------
[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
[ 1 or 2 ] 1




Адрес по умолчанию для сервера MySQL:




What is the host of mysql server?
[ default "localhost" ]




Укажите порт для сервера MySQL:




What is the port of mysql server?
[ default "3306" ]




Введите пароль от суперпользователя MySQL:




What is the password of the mysql root user?
[ root password ] 




Далее будут созданы пользователь MySQL для sefile и БД, вы можете принять значения по умолчанию или указать свои:




Enter the name for mysql user of seafile. It would be created if not exists.
[ default "seafile" ] 
Enter the password for mysql user "seafile":
[ password for seafile ] 
Enter the database name for ccnet-server:
[ default "ccnet-db" ] 
Enter the database name for seafile-server:
[ default "seafile-db" ] 
Enter the database name for seahub:
[ default "seahub-db" ]




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




---------------------------------
This is your configuration
---------------------------------
    server name:            seafile
    server ip/domain:       seafile.lan
    seafile data dir:       /opt/seafile/seafile-data
    fileserver port:        8082
    database:               create new
    ccnet database:         ccnet-db
    seafile database:       seafile-db
    seahub database:        seahub-db
    database user:          seafile




Если ошибок нет, то нажмите Enter для завершения:




---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------




Теперь нам нужно запустить 2 сервиса:




  1. seafile fileserver — сервер, принимающий запросы от клиентов.
  2. seahub — веб-сервер на python.




Стартуем первый:




sudo ./seafile.sh start




Starting seafile server, please wait ...
** Message: 22:13:26.533: seafile-controller.c(621): No seafevents.
Seafile server started
Done.




Далее второй:




sudo ./seahub.sh start




При первом запуске будет необходимо создать административный аккаунт:




----------------------------------------
It's the first time you start the seafile server. Now let's create the admin account
----------------------------------------




Указываем ваш email:




What is the email for the admin account?
[ admin email ] admin@obu4alka.ru




Вводим пароль администратора:




What is the password for the admin account?
[ admin password ]




И еще раз подтверждаем ваш пароль:




Enter the password again:
[ admin password again ]




Информация об успешном запуске seafile:




----------------------------------------
Successfully created seafile admin
----------------------------------------
Seahub is started
Done.




Давайте проверим все ли действительно запустилось на нашем сервере. Для этого сперва воспользуемся командой netstat:




netstat -tupnl




Если в выводе присутствуют порты 8000 и 8082, то seafile сервер был удачно запущен. Также должны присутствовать порты 3306 и 11211:




(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address State       PID/Program name    
tcp   0      0 127.0.0.1:8000      0.0.0.0:*        LISTEN      -                   
tcp   0      0 127.0.0.1:3306      0.0.0.0:*        LISTEN      -                   
tcp   0      0 127.0.0.1:11211     0.0.0.0:*        LISTEN      -                   
tcp   0      0 0.0.0.0:8082        0.0.0.0:*        LISTEN      -                                     




Подключение к хранилищу в браузере




Откройте браузер и перейдите по следующему адресу:




<ip-адрес_или_домен>:8000




Web-сервер Nginx для Seafile




Установка Nginx




Давайте установим web-сервер Nginx на нашу систему. Для этого воспользуемся данной командой:




sudo apt install nginx -y




Настройка Nginx




После установки перейдем к настройке нашего Web-сервера. Для начала создадим файл для сервера seafile.




sudo touch /etc/nginx/sites-available/seafile.conf




Далее создадим симлинк на наш файл конфигурации:




sudo ln -s /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/seafile.conf




Удалим дефолтный файл конфигурации Nginx:




sudo rm /etc/nginx/sites-enabled/defaul




откроем конфигурационный файл seafile.conf и внесем изменения:




sudo nano /etc/nginx/sites-enabled/seafile.conf




server {
        listen 10.5.1.100:80;
        server_name seafile.lan;
        index index.html;
        location / {
                proxy_pass http://127.0.0.1:8000;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_buffering off;
        }
}




Перезагружаем Web-сервер Nginx:




sudo service nginx restart



[endtxt]




RSS




2022-07-12T13:18:49
Cloud

Облако mail.ru и WebDav на Debian

Сегодня рассмотрим пример подключения облака от mail.ru при помощи WebDav для операционной системы Debian, MX Linux.




У меня, как и у многих пользователей Linux систем, возник вопрос, а что же теперь? Как быть? Для меня встал вопрос как же всё-таки подключить моё облако от mail.ru, тем более у меня было выделено места в 1 Тб информации. А терять столько, не так уж и приятно.




Да, если у вас подключен платный тариф, вы можете подключиться к сервису по протоколу WebDAV. На вашем компьютере Облако будет выглядеть как обычная файловая система. Инструкция по такому подключению есть здесь https://help.mail.ru/cloud_web/app/webdav#linux




К счастью, такое подключение (WebDAV) стало также возможным обладателям бесплатного тарифа благодаря одному разработчику, который разместил код и инструкцию по его применению по адресу: https://github.com/yar229




Инструкция размещенная на данной странице начинающему пользователю покажется сложной. Есть также страничка c русским переводом для подключения по WebDav на Ubuntu. Но и она тоже не полная. Поэтому было принято решение написать новую инструкцию, для Debian подобных систем.




Подключения к Облаку mail.ru с помощью WebDav на Debian




Для установке нам необходимо загрузить и установить WebDAV эмулятора, для этого переходим по ссылке и скачиваем последнею версию эмулятора https://github.com/yar229/WebDavMailRuCloud/releases/




загружаем свежую версию архива WebDAVCloudMailRu-*-dotNetCore31.zip и распаковываем ее в директории, которая будет служить установочной. Все операции я буду проводить через терминал. Вы же можете делать так, как вам будет удобнее.




sudo mkdir /home/user/WebDav  
cd /home/user/WebDav 
wget https://github.com/yar229/WebDavMailRuCloud/releases/download/1.13.4.3/WebDAVCloudMailRu-1.13.4.3-dotNetCore31.zip




Установка необходимых библиотек .NET Core




Требования к Linux системе: RHEL, Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04, Ubuntu 14.04, Debian 10, Debian 9, Fedora 28, Fedora 27, CentOS / Oracle, OpenSUSE Leap, SLES




Команды для установки в другие ОС (см. https://docs.microsoft.com/ru-ru/dotnet/core/install далее в правом углу выбираем вкладку Диспетчер пакетов Linux, а в ней ваш дистрибутив)




Перед установкой .NET нужно сделать следующее:




  • зарегистрировать ключ Майкрософт;
  • зарегистрировать репозиторий продуктов;
  • установить необходимые зависимости.




Откройте терминал и выполните приведенные ниже команды.




wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ wget -q https://packages.microsoft.com/config/debian/10/prod.list sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list




Устанавливаем библиотеку SDK




sudo apt-get update 
sudo apt-get install apt-transport-https 
sudo apt-get update 
sudo apt-get install dotnet-sdk-3.1




Можно посмотреть справочную информацию, что мы установили




dotnet --info




Пакет SDK для .NET Core (отражающий любой global.json):
  Version:   3.1.102
  Commit:    573d158fea
 Среда выполнения:
  OS Name:     debian
  OS Version:  10
  OS Platform: Linux
  RID:         debian.10-x64
  Base Path:   /usr/share/dotnet/sdk/3.1.102/
 Host (useful for support):
   Version: 3.1.2
   Commit:  916b5cba26
 .NET Core SDKs installed:
   3.1.102 [/usr/share/dotnet/sdk]
 .NET Core runtimes installed:
   Microsoft.AspNetCore.App 3.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
   Microsoft.NETCore.App 3.1.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
 To install additional .NET Core runtimes or SDKs:
   https://aka.ms/dotnet-download




При появлении ошибки Unable to locate package dotnet-sdk-2.2, можно попробовать следующую команду




sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb




Выбор порта и запуск эмулятора




Выбираем порт, который мы собираемся использовать для подключения к Облаку, в моем примере это 8888, тогда запуск сервиса из командной строки терминала должен быть




dotnet wdmrc.dll -p 8888




Эта команда будет работать, если ее запустить, например в терминале, в той же директории, где мы распаковали архив WebDAVCloudMailRu-*-dotNetCore31.zip




Для того чтобы команда работала при каждой загрузке Debian, необходимо добавить её в список приложений, загружаемых автоматически.




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




dotnet /path-to/wdmrc.dll -p 8888 &




path-to – ваш путь к wdmrc.dll файлу.




Теперь перезагружаем Debian и переходим к следующему шагу.




Подключение к эмулятору по протоколу WebDAV из файлового менеджера




В файловом менеджере жмём ctrl+L и в строку вписываем dav://127.0.0.1:8888 жмём enter, система запросит логин и пароль к облаку, вводим (чтобы не набирать это снова и снова, необходимо выбрать пункт сохранения логина и пароля)




webdav




login: yourlogin@mail.ru 
password: yourpassword




и в результате – вы в своём облаке.




Если вы используете davfs2, отключите использование метода LOCK. Для этого выставите опции use_locks в значение 0 в конфигурационном файле /etc/davfs2/davfs2.conf (расположение файла может варьироваться в зависимости от используемого дистрибутива).




sudo nano /etc/davfs2/davfs2.conf




Для запуска в автоматическом режиме можно использовать автозапуск в fstab




sudo nano /etc/fstab




//127.0.0.1:8888 /home/CloudDisk davfs user,rw,_netdev 0 0




Также необходимо создать директорию /home/CloudDisk




sudo mkdir /home/CloudDisk




Статья по настройке davfs2 на Ubuntu.




Облако mail.ru и WebDav на Debian настроено.



[endtxt]




RSS




2020-03-14T12:06:00
Cloud