Спочатку встановіть із консолі кілька пакетів, які потрібні Seafile:
sudo apt-get install -y python3 python3-setuptools python3-pip libmariadb-dev libmariadb-dev-compat && sudo apt-get install -y memcached libmemcached-dev
Встановлюємо інші пакети за допомогою:
sudo pip3 install --timeout=3600 django==3.2. future==0.18. mysqlclient==2.1. pymysql pillow==9.3. pylibmc captcha==0.4 markupsafe==2.0.1 jinja2 sqlalchemy==1.4.3 psd-tools django-pylibmc django_simple_captcha==0.5. pycryptodome==3.16. cffi==1.15.1 lxml
Тепер створіть новий seafile – файл користувача:
sudo adduser seafile
Далі створюємо нову папку, розподіляємо файли та входимо до неї:
mkdir /opt/seafile && cd /opt/seafile && chown -R seafile: /opt/seafile
Тепер продовжуємо як користувач seafile:
su seafile
Потім знайдіть поточне завантаження сервера. Для цього перейдіть на сторінку Seafile на своєму комп'ютері. Якщо ви використовуєте Raspberry Pi, вам знадобиться вказане там посилання для скачування (натисніть «Latest version»> файл у розділі «Assets» або подібне > посилання виду «seafile-server_8.0.5_stable_pi.tar.gz»), або наприклад, для 64-розрядного Linux. Тепер вам потрібно ввести це посилання для завантаження і виконати на Raspberry Pi наступну команду:
sudo wget [INSERT DOWNLOAD LINK HERE] && sudo tar -xzvf *tar.gz
Тепер перегляньте всі файли в цій папці:
ls
У наступному списку ви повинні побачити щось на кшталт "seafile-server-9.0.10" (або іншу версію). Тепер ви можете автоматично перейти до цього каталогу за допомогою наступної команди:
cd seafile-server-*
Тепер ми дозволимо Seafile налаштувати базу даних MySQL. Для цього знадобиться пароль root MySQL, ім'я користувача та пароль хмари MySQL. Ви вже налаштували облікові дані. Запустіть відповідний скрипт:
sudo ./setup-seafile-mysql.sh
Вам буде запропоновано надати таку інформацію:
- ім'я сервера: придумайте ім'я для свого сервера, наприклад «my-cloud»
- IP або домен сервера: введіть хост вашого сервера, наприклад yourhost.dyndns.com
- куди помістити дані seafile: якщо ви не бажаєте використовувати зовнішній носій для своїх даних, натисніть [Enter] ще раз
- порт для файлового сервера seafile: [Enter]
- 1 або 2: Якщо з'явиться це питання, введіть 1 і натисніть [Enter], щоб підтвердити (перебудувати бази даних)
- хост сервера MySQL: localhost
- порт сервера MySQL: 3306
- пароль користувача root MySQL: як зазначено раніше
- користувач MySQL seafile: ваше ім'я користувача MySQL, наприклад, яке ви створили в нашому посібнику з Raspberry Pi...
- пароль для користувача MySQL: ... та відповідний пароль
- (3 рази) назва бази даних: щоразу натискайте [Enter].
Коли конфігурація з'явиться знову, підтвердіть її натисканням [Enter].
На цьому налаштування баз даних MySQL для Seafile завершено.
Відкрийте файл конфігурації:
sudo vi ../conf/seahub_settings.py
За допомогою клавіш зі стрілками перейдіть до відповідного рядка і змініть "http" на "https":
SERVICE_URL = "https://[YOURHOST.DYNDNS.COM]/"
Збережіть цей файл, натиснувши [Esc] та «:wq» та [Enter].
По-перше, нам потрібно переконатися, що користувач seafile має всі файли, які ми розмістили в його домашньому каталозі:
sudo chown -R seafile: /opt/seafile/
Запустіть Seafile та Seahub (веб-інтерфейс) від імені користувача seafile за допомогою наступних команд:
sudo -u seafile ./seafile.sh start && sudo -u seafile ./seahub.sh start
Тепер буде запропоновано ввести адресу електронної пошти та пароль. Встановіть їх на власний розсуд, але обов'язково виберіть надійний пароль і запам'ятайте його. Ви можете використовувати цей обліковий запис адміністратора для керування Seafile пізніше.
Тепер ми зупинимо обидві служби, щоб завершити налаштування Nginx:
sudo -u seafile ./seafile.sh stop && sudo -u seafile ./seahub.sh stop
Ми також створили конфігураційний файл, який дозволяє налаштувати Nginx для Seafile. У тексті файлу за посиланням замініть ||HOST|| на свій хост:
https://www.sim-networks.com/user/assets/getnginxconfig_seafile.txt
і використовуйте його вміст як налаштування сервера (наступна команда відкриває вміст зазначеного файлу):
sudo nano /etc/nginx/sites-enabled/default
Важливо: якщо ви не дотримувалися наших інструкцій Raspberry Pi, переконайтеся, що файли /var/www/ssl/cloudssl.crt та /var/www/ssl/cloudssl.key та /var/www/ssl/dhparam.pem існують і це файли сертифікації для вашого SSL-сертифіката.
Тепер ми перезапустимо веб-сервер Nginx:
sudo service nginx restart
Тепер ми хочемо переконатися, що служби Seafile запускаються під час завантаження системи. Наступний метод підтримується лише новими операційними системами (принаймні Debian 8 або Ubuntu 15.04).
Завантажте 2 попередньо налаштовані файли з нашого сервера. Ми почнемо з першого файлу з наступною командою:
sudo wget -q -O /etc/systemd/system/seafile.service - https://eigene-cloud-einrichten.de/getSeafileService
Далі – другий файл, резервна копія якого створюється за допомогою команди:
sudo wget -q -O /etc/systemd/system/seahub.service - https://eigene-cloud-einrichten.de/getSeahubService
Насамкінець, нам потрібно переконатися, що створені нами файли запускаються під час завантаження:
sudo systemctl enable seafile.service && sudo systemctl enable seahub.service
Тепер ми можемо запустити Seafile:
sudo -u seafile ./seafile.sh start && sudo -u seafile ./seahub.sh start
Далі ви зможете увійти до Seafile через веб-інтерфейс, вказавши свій хост. Якщо ви використовуєте сертифікат SSL, що самозавіряється, - як у посібнику з Raspberry Pi - ігноруйте попередження браузера, додавши правило виключення безпеки. Альтернативно ви можете налаштувати безкоштовний сертифікат Let'sEncrypt, наприклад, дотримуючись цих інструкцій.
Якщо у вас виникли проблеми з Seafile, перезавантаження може допомогти:
sudo shutdown -r now
Щоб правильно використовувати Seafile на домашньому сервері, необхідно відкрити інший порт через маршрутизатор. Дотримуйтеся цього розділу загального посібника та відкрийте порт 8082.
Якщо оновлення через інтерфейс неможливе, а ви хочете оновити Seafile до останньої версії, ви можете виконати такі дії.
Якщо коротко:
- Перейдіть до правильного каталогу за допомогою cd /opt/seafile.
- Завантажте та розпакуйте наступну версію Seafile, наприклад, якщо ви використовуєте Seafile 6.0, спочатку завантажте версію 6.1, потім зробіть те саме для версії 6.2, щоб оновити її до 6.2 (див. розділ «Завантаження»).
- Вийдіть із Seafile & Seahub (як описано вище).
- Знайдіть відповідний файл оновлення, як описано тут, і запустіть його.
- Потім можна перезапустити Seafile, як описано вище.
Якщо ви зіткнулися з помилками, ви можете переглянути будь-які повідомлення про помилки з папки /opt/seafile/ за допомогою наступної команди:
sudo -u seafile ./seahub.sh start-fastcgi
Помилка, яка останнім часом виникає частіше, пов'язана з неправильним ім'ям версії. Про те, як змінити конфігураційний файл, можна дізнатися тут.