Первый запуск
chmod +x elxcloud-linux-amd64
./elxcloud-linux-amd64 -data /srv/elxcloud -http 8080
# откройте http://<сервер>:8080 и войдите под учётной записью,
# которую программа напечатает при первом запуске
elxcloud-windows-x64.exe -data D:\elxcloud -http 8080
Структура хранилища
Всё живёт внутри каталога данных: домашние папки пользователей, кэш миниатюр, база и сертификаты. Переезд установки — это перенос этого каталога.
| Путь | Что там |
|---|---|
<данные>/users/<имя> | Файлы пользователя, включая его корзину |
<данные>/cache | Миниатюры — их можно удалить, они подготовятся заново |
<данные>/elxcloud.db | Учётные записи, ссылки, настройки и журнал входов |
<данные>/certs | Сертификаты, включая полученные автоматически |
HTTPS и порты
Три способа получить сертификат: выпустить автоматически, с автоматическим же продлением; дать свою пару файлов; или сгенерировать самоподписанный для закрытой сети. HTTP умеет перенаправлять на HTTPS.
Порты HTTP, HTTPS и FTP, а также диапазон пассивных портов меняются в админке без перезапуска службы. Порт проверяется на занятость до переключения, поэтому опечатка не уводит сервер из сети.
FTP и FTPS
- Логин и пароль те же, что в веб-интерфейсе; FTP включается для каждой записи отдельно.
- Явный FTPS через
AUTH TLSс сертификатом веб-интерфейса. - Пассивный режим с настраиваемым диапазоном портов — этот диапазон нужно открыть на брандмауэре наравне с управляющим портом.
- Удалённое по FTP попадает в корзину так же, как в браузере.
- Канал данных, закрытый без завершения TLS, считается нормальным концом передачи, потому что именно так поступают мобильные клиенты.
Защита паролем
Любую папку или файл можно закрыть собственным паролем, никак не связанным с учётной записью. Два режима: скрыть полностью или показывать, но запретить изменения.
- Пароль спрашивается при входе в папку и действует тридцать минут в рамках сессии.
- Снятие защиты требует пароль всегда.
- Защита действует на всё вложенное и переезжает вместе с папкой при переименовании и перемещении.
- Защищённый объект нельзя опубликовать по ссылке, а по FTP он просто не виден.
Пользователи и квоты
- Записи создаёт администратор: имя, пароль, квота, разрешён ли FTP.
- Запись можно заблокировать, не удаляя, — обычно именно это и нужно, когда человек уходит.
- Права администратора выдаются и снимаются одной кнопкой, а последнего администратора система снять не даст.
- Пользователь сам меняет отображаемое имя, почту, пароль и аватар.
- Журнал событий хранит входы, загрузки, удаления и публикации девяносто дней.
Почта
С настроенным SMTP сервер умеет присылать предупреждение после серии неудачных входов и, если хотите, при каждом входе администратора. Восстановление пароля по почте использует одноразовую ссылку, действующую час.
За обратным прокси
Если на машине уже стоит nginx и он завершает TLS, пусть так и будет: направьте его на обычный HTTP-порт, а собственный HTTPS выключите. Важны две вещи — передавать настоящий адрес клиента, иначе журнал входов и чёрный список будут видеть только прокси, и поднять лимит на размер загрузки, иначе большие файлы отсекутся, не дойдя до приложения.
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 0;
proxy_request_buffering off;
Когда что-то не так
| Симптом | Куда смотреть |
|---|---|
| Миниатюры так и не появляются | Миниатюры выключены в настройках отображения или каталог кэша недоступен на запись |
| Конвертация не предлагается | Нет ffmpeg или heif-convert — интерфейс скажет, чего именно |
| FTP подключается, но список папки виснет | Диапазон пассивных портов закрыт на брандмауэре |
| Клиент FTPS ругается на сертификат | Самоподписанный сертификат, которому клиент не доверяет |
| Загрузка обрывается на определённом размере | Лимит на файл или ограничение обратного прокси перед сервером |
| Заблокировали сами себя чёрным списком | Разблокируйте из консоли или внесите адрес в белый список — именно поэтому порог по умолчанию нулевой |
| У подключённой папки «нет доступа» | Пользователю службы не хватает прав; воспользуйтесь кнопкой выдачи и учтите, что при ACL показанные права группы — это маска, а не настоящие права |
Частые вопросы
Как перенести установку на другую машину?
-data. Учётные записи, файлы, ссылки и настройки приедут вместе с ним.