Как установить Seafile на Ubuntu 16.04 (Xenial Xerus)
Это руководство существует для этих версий ОС
- Ubuntu 15.04 (Vivid Vervet)
На этой странице
- Предпосылки
- Установка Seafile
- Шаг 1. Установите необходимые зависимости
- Шаг 2. Создайте нового пользователя \seafile\
- Шаг 3. Загрузите и распакуйте архив Seafile.
- Шаг 4. Создание базы данных
- Шаг 5. Установите Seafile
- Шаг 6. Настройка файлов Seafile и Seahub Service
- Шаг 7. Установите и настройте Nginx в качестве обратного прокси-сервера
- Шаг 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 базы данных:
- ccnet-сервер
- сервер морских файлов
- морской узел
Теперь вернитесь к пользователю 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 — это частное облачное решение, которое хорошо подходит для использования в наши дни. С функцией шифрования в библиотеке/папке вы можете сделать данные более безопасными. А также простота настройки, упрощение реализации на вашем сервере.
Ссылки
- Морской файл