Установка FileRun на Debian 11 с Apache и Let's Encrypt
FileRun — бесплатное открытое self-hosted решение для обмена и синхронизации файлов. В этой инструкции показано, как установить FileRun на Debian 11 с Apache, MariaDB, PHP 7.4, настроить IonCube и получить сертификат Let’s Encrypt. Пройдите подготовку сервера, установите LAMP-стек, создайте базу данных, разверните FileRun и включите автообновление сертификатов.
Введение
FileRun — веб-приложение на PHP для хранения, синхронизации и шаринга файлов. Поддерживает WebDAV и совместимо с мобильными клиентами, такими как приложение Nextcloud. В этой статье шаг за шагом описана установка FileRun на Debian 11 с Apache и автоматической выдачей SSL через Let’s Encrypt.
Важно: в примерах используется PHP 7.4 и MariaDB. Адаптируйте версии под вашу среду, если требуется.
Основные требования
- Сервер с Debian 11.
- Домен, указывающий на IP сервера (например filerun.example.com).
- Пароль для root или доступ по sudo.
- Открытые порты 80 и 443.
Что будет сделано (коротко)
- Установка Apache, MariaDB, PHP и нужных расширений.
- Установка IonCube loader для поддержки коммерческих расширений в FileRun.
- Создание базы данных и пользователя MariaDB.
- Развертывание файлов FileRun в /var/www/html/filerun.
- Настройка виртуального хоста Apache.
- Получение и автоматическое продление SSL от Let’s Encrypt.
- Базовые шаги по безопасности и резервированию.
Установка LAMP (Apache + MariaDB + PHP)
Первым делом установите Apache, MariaDB, PHP и дополнительные библиотеки. Выполните:
apt-get install apache2 mariadb-server mariadb-client php libapache2-mod-php imagemagick ffmpeg php-imagick php-mysql php-fpm php-common php-gd php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl unzip -yПосле установки потребуется установить IonCube loader.
Установка IonCube
Скачайте загрузчик:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gzРаспакуйте в каталог PHP:
tar -xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib/phpСоздайте конфигурационный файл для Apache PHP:
nano /etc/php/7.4/apache2/conf.d/00-ioncube.iniДобавьте:
zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.4.soСохраните и закройте.
Настройка параметров PHP для FileRun
Создайте файл конфигурации PHP для FileRun:
nano /etc/php/7.4/apache2/conf.d/filerun.iniДобавьте следующие настройки (они оптимизированы для типичного развёртывания; адаптируйте по потребностям):
expose_php = Off
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
display_startup_errors = Off
log_errors = On
ignore_repeated_errors = Off
allow_url_fopen = On
allow_url_include = Off
variables_order = "GPCS"
allow_webdav_methods = On
memory_limit = 128M
max_execution_time = 300
output_buffering = Off
output_handler = ""
zlib.output_compression = Off
zlib.output_handler = ""
safe_mode = Off
register_globals = Off
magic_quotes_gpc = Off
upload_max_filesize = 20M
post_max_size = 20M
enable_dl = Off
disable_functions = ""
disable_classes = ""
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 1
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_httponly = 1
date.timezone = "UTC"После правок примените конфигурацию Apache:
systemctl reload apache2Примечание: при необходимости измените date.timezone на ваш часовой пояс, например “Europe/Moscow”.
Настройка базы данных MariaDB
Защитите MariaDB и задайте пароль для root:
mysql_secure_installationОтвечайте на подсказки консоли (рекомендуется включить удалённое запрещение входа для root и удалить тестовую базу).
Войдите в MariaDB и создайте базу и пользователя для FileRun:
mysql -u root -pВнутри MariaDB выполните:
CREATE DATABASE filerun;
CREATE USER 'filerun'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON filerun.* TO 'filerun'@'localhost';
FLUSH PRIVILEGES;
EXIT;Замените ‘password’ на сложный пароль. Не используйте пароль из примера в продакшне.
Совет: если вы управляете базой удалённо, ограничьте доступ по IP и используйте TLS для соединений.
Скачивание и развёртывание FileRun
Скачайте актуальную версию FileRun:
wget -O FileRun.zip https://filerun.com/download-latestРаспакуйте в директорию веб-сервера:
unzip FileRun.zip -d /var/www/html/filerun/Установите права и владельца:
chown -R www-data:www-data /var/www/html/filerun
chmod -R 755 /var/www/html/filerunПроверьте, что у веб-сервера есть права на запись в директориях, которые FileRun использует для загрузок и кэша.
Настройка Apache для FileRun
Создайте виртуальный хост Apache:
nano /etc/apache2/sites-available/filerun.confДобавьте содержимое (отредактируйте ServerName на ваш домен):
ServerName filerun.example.com
DocumentRoot /var/www/html/filerun
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/filerun.error.log
CustomLog ${APACHE_LOG_DIR}/filerun.access.log combined
Активируйте сайт и mod_rewrite, затем перезапустите Apache:
a2ensite filerun.conf
a2enmod rewrite
systemctl restart apache2Проверьте статус сервиса:
systemctl status apache2Если есть ошибки, просмотрите логи в /var/log/apache2/.
Доступ к веб-интерфейсу FileRun
Откройте браузер и перейдите по адресу:
Вы увидите последовательность экранов установки FileRun: проверка требований, настройка базы данных и финальная страница входа.

На странице проверок убедитесь, что все требуемые расширения PHP включены, и права на файловую систему корректны.

Заполните параметры базы данных, используя ранее созданную базу filerun и пользователя filerun.

После успешной установки вы увидите страницу завершения и сможете войти в панель администратора.



Защита сайта с помощью Let’s Encrypt (Certbot)
Установите Certbot и плагин для Apache:
apt-get install python3-certbot-apache -yЗапустите получение сертификата:
certbot --apache -d filerun.example.comСледуйте подсказкам — укажите e-mail и согласитесь с условиями. Рекомендуется выбрать опцию перенаправления HTTP на HTTPS (Redirect), чтобы весь трафик обслуживался по TLS.
Certbot создаст SSL-конфигурацию и настроит автоматическое продление сертификатов через cron/systemd.
Пример ключевых сообщений в процессе установки сертификата укажет путь к файлам сертификата в /etc/letsencrypt/live/filerun.example.com/.
Базовые шаги по безопасности и обслуживанию
- Отключите доступ к административным страницам по IP или через VPN, если возможно.
- Регулярно обновляйте Debian и пакеты: apt-get update && apt-get upgrade.
- Настройте регулярное резервное копирование каталога /var/www/html/filerun и базы данных (mysqldump).
- Используйте сильные пароли и двухфакторную аутентификацию для учетных записей администратора при наличии плагинов.
- Ограничьте права на файловой системе: www-data должен владеть только нужными каталогами.
Мини-методология резервного копирования (пример)
- Ежедневный бэкап каталога uploads и конфигурации FileRun (rsync -> удалённое хранилище).
- Ежедневный дамп базы данных: mysqldump filerun > filerun-$(date +%F).sql.
- Хранение резервных копий 14–30 дней в зависимости от политики хранения.
- Раз в месяц проверяйте восстановление из резервной копии на тестовой машине.
Роль‑ориентированные чек-листы
Администратор:
- Установить обновления ОС и PHP.
- Настроить резервное копирование файлов и БД.
- Проверить автоматическое продление Let’s Encrypt.
DevOps:
- Настроить мониторинг (доступность, нагрузка Apache, лог ошибок).
- Автоматизировать развёртывание конфигураций (Ansible/Chef).
Пользователь/Power User:
- Проверить загрузку/скачивание файлов и права доступа.
- Использовать WebDAV или мобильные клиенты по HTTPS.
Критерии приёмки
- Веб-интерфейс FileRun доступен по HTTPS без предупреждений браузера.
- В базе данных созданы соответствующие схема и пользователь.
- Права на файловой системе установлены: веб-сервер может записывать требуемые каталоги.
- Сертификат Let’s Encrypt корректно установлен и настраивается на автоматическое продление.
- Прохождение встроенной проверки требований в установщике FileRun.
Частые проблемы и способы их устранения
- Ошибка проверки PHP модулей: убедитесь, что php-imagick, php-mbstring и другие модули установлены и активированы, затем перезапустите Apache.
- 500 Internal Server Error: проверьте логи Apache и php-fpm (если используется). Часто это права доступа или неправильная конфигурация .htaccess.
- Certbot не может верифицировать домен: проверьте DNS, убедитесь, что домен указывает на IP сервера и порт 80 открыт.
- Проблемы с загрузкой больших файлов: увеличьте upload_max_filesize и post_max_size в PHP и перезагрузите сервис.
Альтернативные подходы
- Nginx вместо Apache: используйте php-fpm и соответствующие правила location для FileRun.
- Docker/Kubernetes: можно запустить FileRun в контейнерах, особенно если требуется изоляция и простота масштабирования.
- Использовать внешнюю БД (отдельный сервер MariaDB) для больших инсталляций.
Безопасность и соответствие приватности
- Если вы храните личные данные пользователей, соблюдайте требования местного законодательства по защите данных (например, GDPR для ЕС). Обеспечьте шифрование каналов связи (HTTPS) и контроль доступа к данным.
- Логи доступа и ошибки содержат метаданные; ограничьте их доступ и хранение по политике конфиденциальности.
Проверка работоспособности и тесты приёмки
- Откройте страницу входа по HTTPS и выполните вход под админом.
- Загрузите файлы разного размера и типов (фото, видео, архивы).
- Проверьте синхронизацию через WebDAV и мобильное приложение.
- Восстановите базу из дампа на тестовой среде для проверки резервного копирования.
Заключение
Вы успешно развернули FileRun на Debian 11 с Apache и Let’s Encrypt. Следите за обновлениями пакетов, настраивайте резервные копии и регулярно проверяйте автоматическое продление сертификатов.
Важные заметки
- Всегда используйте уникальные и сложные пароли для баз данных и админов.
- Тестируйте резервные копии — не дожидайтесь реального инцидента.
Сводка основных шагов завершена. Если необходимо, добавьте мониторинг и автоматизацию развертывания для продакшен-среды.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента