Как установить Seafile с Nginx на openSUSE Leap 42.1
На этой странице
- Шаг 1. Настройте имя хоста
- Шаг 2. Установка зависимостей
- Шаг 3. Настройка базы данных
- Шаг 4. Установите и настройте Seafile
- Шаг 5. Установите и настройте Nginx
- Шаг 6. Запустите файл Seafile и тестирование
- Справочник
Seafile — это бесплатное программное обеспечение для размещения файлов с функциональностью, похожей на Dropbox или Google Drive, которое можно установить на ваш собственный сервер. Seafile выпущен под лицензией OpenSource. Вы можете создать свой собственный безопасный сервер для синхронизации и обмена файлами с помощью seafile. Это надежное программное обеспечение для обмена файлами, которое позволяет пользователям шифровать свои данные на сервере. Seafile написан на C и Python.
В этом руководстве я покажу вам, как создать собственный сервер синхронизации и обмена файлами с помощью seafile на openSUSE Leap 42.1. Мы поможем вам установить Seafile, а затем настроить веб-интерфейс с шифрованием https за обратным прокси-сервером nginx.
Предпосылка
- OpenSUSE Leap 42.1 — 64-разрядная версия
- Привилегии root
- Знакомство с командой zypper
Шаг 1 — Настройте имя хоста
Войдите на свой сервер openSUSE:
ssh
после входа на сервер отредактируйте файл hosts с помощью vim:
vim /etc/hosts
Вставьте конфигурацию (замените IP и имя хоста своими значениями):
192.168.1.101 cloud.kuonseafile.co cloud
Сохранить и выйти.
Примечание:
192.168.1.101=IP-адрес моего сервера.
Облако=имя хоста моего сервера.
kuonseafile.co=мое доменное имя.
Проверьте имя хоста и полное доменное имя (полное доменное имя):
hostname
hostname -f
Шаг 2 — Установите зависимости
Seafile написан на python, поэтому для установки нам понадобится несколько библиотек python. Для базы данных seafile поддерживает SQLite и MySQL, в этом руководстве я буду использовать базу данных MySQL, которая обеспечивает лучшую производительность, чем SQLite.
Установите все пакеты, включая сервер MySQL/MariaDB, с помощью команды zypper ниже:
zypper in python python-imaging python-MySQL-python python-setuptools mariadb mariadb-client
Когда установка будет завершена, перейдите к следующему шагу.
Шаг 3 — Настройка базы данных
Есть одна вещь, которую вы должны знать, когда хотите развернуть seafile. Seafile требует 3 базы данных:
- база данных ccnet
- база данных морских файлов
- база данных морского концентратора
На шаге 2 мы успешно установили сервер MySQL/MariaDB, теперь запустите его с помощью следующей команды:
rcmysql start
Установите новый пароль для пользователя root mysql с помощью команды mysqladmin:
/usr/bin/mysqladmin -u root password 'aqwe123'
Затем войдите в оболочку MySQL и создайте 3 базы данных для Seafile и одного нового пользователя для этих 3 баз данных.
Войдите в оболочку MySQL:
mysql -u root -p
ВВЕДИТЕ ПАРОЛЬ \aqwe123\
Создайте три базы данных для установки Seafile — ccnet_db, seafile_db и seahub_db:
create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';
И создайте нового пользователя seafilecloud с паролем [email :
create user ';
Теперь предоставьте пользователю seafilecloud доступ ко всем базам данных:
grant all privileges on ccnet_db.* to ';
flush privileges;
Все базы готовы к установке Seafile.
Шаг 4 — Установите и настройте Seafile
На этом этапе мы установим и настроим seafile. Мы установим seafile под пользователем seafile и домашним каталогом, поэтому нам нужно создать нового пользователя Linux с именем \seafile\.
Создайте нового пользователя
Создайте нового пользователя с именем seafile для установки:
useradd -m -s /bin/bash seafile
Примечание:
-m=Создать новый домашний каталог для пользователя в \/home/\.
-s /bin/bash=Определить оболочку для пользователя.
Скачать морской файл
Переключитесь на пользователя seafile с помощью команды su ниже:
su - seafile
Теперь вы находитесь в домашнем каталоге seafile, загрузите сервер seafile 5 с помощью команды wget:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.3_x86-64.tar.gz
Извлеките архив Seafile и переименуйте его:
tar -xzvf seafile-server_5.1.3_x86-64.tar.gz
mv seafile-server-5.1.3/ seafile-server
Установить Seafile 5
Перейдите в каталог seafile-server и запустите установочный файл, чтобы установить seafile:
cd seafile-server/
Мы будем устанавливать seafile с базой данных MySQL, поэтому запустите установочный файл MySQL:
./setup-seafile-mysql.sh
Теперь вас попросят указать данные сервера.
имя сервера=использовать имя хоста сервера.
IP-адрес сервера или домен=использовать IP-адрес моего сервера.
Направление данных Seafile=просто нажмите Enter.
Порт для файлового сервера Seafile=просто нажмите Enter.
Далее настройте базу данных. Мы создали собственную базу данных для установки, поэтому выберите число «2».
Теперь вас спросят о профиле базы данных:
Хост mysql=По умолчанию используется localhost.
Порт по умолчанию=3306.
Пользователь MySQL для seafile=Использует пользователя weve создан на шаге 3 - \seafilecloud\.
Пароль MySQL=пароль для пользователя seafilecloud.
база данных ccnet=Мы создали базу данных - ccnet_db.< br> база данных seafile=seafile_db.
база данных seahub=seahub_db.
Если ошибок не возникло, вы можете подтвердить установку, нажав \Enter\.
подождите, пока скрипт сгенерирует конфигурацию и базу данных.
Запустите Seafile и Seahub
Seafile установлен, теперь вы можете запустить его командой ниже:
./seafile.sh start
./seahub.sh start
Вам будет предложено создать пользователя-администратора для seafile, просто введите адрес электронной почты и пароль администратора.
На этом этапе вы можете получить доступ к веб-интерфейсу Seafile через порт 8000.
Шаг 5 — Установите и настройте Nginx
Nginx — это легкий веб-сервер с низким потреблением памяти и ЦП. На этом этапе мы установим nginx, а затем создадим новый виртуальный хост для обратного прокси-доступа к seafile. Мы собираемся включить https для соединений на сервере.
Установите Nginx
Установите веб-сервер nginx с помощью команды zypper:
zypper in nginx
Создайте SSL-сертификат
Затем перейдите в каталог nginx и создайте новый каталог для SSL-сертификата. Затем создайте файл сертификата с помощью команды OpenSSL:
mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/
Теперь сгенерируйте файл сертификата:
openssl genrsa -out privkey.pem 4096
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
Настроить виртуальный хост
В каталоге nginx создайте новый каталог с именем \vhosts.d\ для хранения файла виртуального хоста. Создайте этот каталог, а затем создайте новый файл виртуального хоста с помощью vim:
mkdir -p /etc/nginx/vhosts.d/
cd /etc/nginx/vhosts.d/
vim cloud.kuonseafile.conf
Вставьте конфигурацию виртуального хоста ниже:
server {
listen 80;
server_name cloud.kuonseafile.co; #Domain Name
rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https
}
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/cacert.pem; # path to your cacert.pem
ssl_certificate_key /etc/nginx/ssl/privkey.pem; # path to your privkey.pem
server_name cloud.kuonseafile.co; #Domain Name
proxy_set_header X-Forwarded-For $remote_addr;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
server_tokens off;
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 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 /media {
root /home/seafile/seafile-server/seahub;
}
}
Замените server_name своим собственным доменным именем — строки 3 и 11.
Для строки 47 расположения носителя замените на путь установки seafile — /home/seafile/seafile-server/seahub.
Сохраните файл и выйдите из редактора, затем проверьте конфигурацию с помощью команды:
nginx -t
убедитесь, что в конфигурации нет проблем или ошибок.
Настройте Seafile для использования вашего собственного домена и HTTPS
Переключитесь на пользовательский файл seafile и отредактируйте конфигурацию. Перед редактированием конфигурации отключите службу seafile и seahub.
su - seafile
cd seafile-server/
./seafile.sh stop
./seahub.sh stop
Вернитесь в домашний каталог пользователя seafile, затем перейдите в каталог conf и отредактируйте файлы ccnet.conf и seahub_settings.py.
cd ~/
cd conf/
Отредактируйте файл ccnet.conf:
vim ccnet.conf
В строке 5: SERVICE_URL — замените домен своим собственным доменным именем с https.
SERVICE_URL = https://cloud.kuonseafile.co/
Сохранить и выйти.
Теперь отредактируйте файл seahub_settings.py.
vim seahub_settings.py
Добавьте новую строку ниже, чтобы определить корень файлового сервера.
FILE_SERVER_ROOT = 'https://cloud.kuonseafile.co/seafhttp'
Сохранить и выйти.
Шаг 6 - Запустите Seafile и тестирование
Установлен Nginx - установлены MariaDB/MySQL и установлен сервер seafile.
Заставьте Nginx и MySQL запускаться при загрузке:
systemctl enable nginx
systemctl enable mysql
Перезапустите службы:
systemctl restart nginx
systemctl restart mysql
Затем запустите seafile и seahub от пользователя seafile:
su - seafile
cd seafile-server/
./seafile start
./seahub start-fastcgi
Все службы запущены.
Теперь вы можете получить доступ к серверу Seafile с URL-адресом вашего сервера. Мой:
облако.kuonseafile.co
Вы будете перенаправлены на страницу входа в систему https подключения к Seafile.
Введите данные пользователя-администратора, которые мы создали на шаге 4.
Теперь вы можете увидеть файловый менеджер Seafile и начать загружать файлы на свой сервер Seafile.
Ссылка
- http://manual.seafile.com/deploy/https_with_nginx.html