Установка и использование FileRun в CentOS 7

FileRun – это написанный в PHP файловый менеджер и приложение для совместного использования файлов, которое позволяет организовывать, просматривать и редактировать файлы. FileRun можно использовать для хранения документов, фотографий, музыки и других файлов. Данное руководство поможет установить FileRun на сервер CentOS 7.

Требования

  • Сервер CentOS 7.
  • Пользователь с доступом к sudo (инструкции по настройке можно найти здесь).
  • Предварительно установленные программы Apache и MariaDB.
  • Приложение FileRun не требует много ресурсов, в большинстве случаев 512 Мб памяти будет достаточно.
  • Что касается дискового пространства, FileRun и все необходимое программное обеспечение сторонних производителей будет использовать не более 2 Гб.

1: Настройка базы данных FileRun

FileRun использует MariaDB для хранения и управления данными. Создайте БД и пользователя MariaDB для FileRun.

Войдите в MariaDB как root:

mysql -u root -p

Введите пароль root-пользователя MariaDB.

Для хранения данных FileRun необходима отдельная БД. В руководстве она будет назваться filerun; вы можете выбрать более удобное имя для БД.

CREATE DATABASE filerun;

Теперь нужно создать отдельного пользователя для базы данных filerun.

В руководстве пользователь называется 8host. При необходимости выберите другое, более описательное имя.

GRANT ALL ON filerun.* to '8host'@'localhost' IDENTIFIED BY 'your_database_password';

Теперь нужно сбросить привилегии MariaDB:

FLUSH PRIVILEGES;

Закройте MariaDB:

exit

Запомните или запишите учётные данные БД и пользователя MariaDB, они пригодятся в дальнейшей работе.

2: Настройка PHP

PHP-FPM (FastCGI Process Manager) – это альтернатива реализации PHP FastCGI, которая предлагает несколько дополнительных функций для поддержки сайтов с высокой нагрузкой. PHP-FPM рекомендуется использовать вместо mod_php, потому что при этом сценарии PHP не будут принадлежать веб-серверу (то есть, к ним можно будет получить доступ по FTP и другими методами).

FileRun требует PHP версии 5.5+. По умолчанию CentOS 7 предоставляет пакет PHP 5.4. Обновите репозитории yum:

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Установите PHP 5.6.

sudo yum install php56w-fpm

Создайте ссылку для запуска PHP-FPM и запустите сервис:

sudo systemctl enable php-fpm.service
sudo systemctl start php-fpm.service

PHP-FPM – это демон (сценарий инициализации можно найти в /etc/init.d/php-fpm), запускающий FastCGI на порте 9000. Чтобы Apache взаимодействовал с PHP-FPM, используйте директиву ProxyPassMatch в каждом виртуальном хосте, который должен иметь доступ к PHP-FPM. Отредактируйте конфигурационный файл Apache:

sudo vi /etc/httpd/conf/httpd.conf

Добавьте этот блок в конец файла перед строкой IncludeOptional conf.d/*.conf:

<IfModule proxy_module>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
</IfModule>

Файл должен выглядеть так:

. . .
#EnableMMAP off
EnableSendFile on
<IfModule proxy_module>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
</IfModule>
# Supplemental configuration
#
# Load  config files in the "/etc/httpd/conf.d" directory if any.
IncludeOptional conf.f/*.conf

Найдите в файле директиву DirectoryIndex и вставьте в эту строку index.php.

. . .
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
. . .

Перезапустите Apache, чтобы завершить настройку PHP:

sudo systemctl restart httpd.service

FileRun также необходимы следующие дополнительные PHP-модули:

  • php56w-mbstring: позволяет FileRun обрабатывать многобайтовые символы.
  • php56w-pdo и php56w-mysql: для взаимодействия с MySQL/MariaDB.
  • php56w-mcrypt: функции шифрования FileRun.
  • php56w-gd (опционально): генерирует аватары пользователей, QR-коды и т.п.
  • php56w-opcache (опционально): улучшает производительность PHP.

Чтобы установить эти модули, введите:

sudo yum install php56w-mbstring php56w-mcrypt php56w-opcache php56w-pdo php56w-mysql php56w-gd

Осталось только установить модуль ionCube, которого нет в репозитории yum. Это популярное расширение PHP для повышения защиты сайта, блокировки вредоносных программ и увеличения производительности.

Загрузите последнюю версию ionCube в каталог /usr/lib64/php/modules.

sudo wget -P /usr/lib64/php/modules http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Распакуйте файлы:

sudo tar xvfz /usr/lib64/php/modules/ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib64/php/modules

Создайте файл с конфигурациями FileRun, который будет автоматически добавлен в настройки PHP.

sudo vi /etc/php.d/filerun.ini

Вставьте в файл следующие строки:

date.timezone  = "UTC"
zend_extension = "/usr/lib64/php/modules/ioncube/ioncube_loader_lin_5.6.so"

Эти настройки определяют часовой пояс и загружают ionCube в PHP.

Примечание: Список часовых поясов можно найти по этой ссылке. С рекомендованными параметрами PHP для FileRun можно ознакомиться здесь. Директивы можно добавить в файл /etc/php.d/filerun.ini.

Перезапустите PHP-FPM:

sudo systemctl restart php-fpm.service

3: Установка FileRun

Загрузите FileRunв в root-каталог сайта (/var/www/html/).

cd /var/www/html/
sudo wget -O FileRun.zip http://www.filerun.com/download-latest

Распакуйте полученный архив FileRun с помощью unzip.

sudo yum install unzip
sudo unzip FileRun.zip

Передайте права на каталог веб-серверу Apache, чтобы PHP мог установить FileRun.

sudo chown -R apache:apache /var/www/html/

Откройте браузер и перейдите по ссылке:

http://your_server_ip

Следуйте инструкциям инсталлятора FileRun.

После установки на экране появится страница:

Welcome to FileRun!

Нажмите Next, чтобы продолжить. Просмотрите список требований приложения, убедитесь, что всё необходимое установлено. Нажмите Next.

На последней странице вы найдёте настройки БД. Укажите следующие данные:

MySQL Hostname: localhost
Database name: имя БД (в данном руководстве filerun)
MySQL user: имя пользователя, которому принадлежит БД (в руководстве такой пользователь называется 8host)
Password: Пароль БД, указанный в разделе 1.

Нажмите Next. На экране появится:

All done!

Установка FileRun успешно завершена.

Примечание: На этом экране вы увидите имя пользователя и пароль. Обязательно скопируйте или выпишите их.

Чтобы открыть FileRun, нажмите Next. На экране появится форма входа. Форма должна быть предварительно заполнена. Чтобы войти, нажмите Sign in.

4: Безопасность FileRun

После авторизации FileRun предложит вам изменить пароль. Автоматически сгенерированный пароль достаточно надёжен, однако лучше заменить его своим паролем.

Важно! Суперпользователь FileRun – единственная учётная запись, не защищённая от brute force атак. Потому её пароль должен быть сложным и уникальным и содержать символы, цифры и буквы верхнего регистра.

На данный момент у PHP (и любого другого приложения веб-сервера) нет прав на запись в файлах FileRun. Измените права на файлы:

sudo chown -R root:root /var/www/html

Каталог /var/www/html/system/data – единственное место, где PHP необходимы права на запись. Обновите права на каталог.

sudo chown -R apache:apache /var/www/html/system/data

По умолчанию домашний каталог суперпользователя находится в /var/www/html/system/data/. С помощью панели управления FileRun выберите другой каталог вне /var/www/html и установите его в качестве домашнего каталога суперпользователя.

Чтобы создать каталог /files для хранения файлов FileRun, введите:

sudo mkdir /files
sudo chown apache:apache /files

Подключитесь к серверу MariaDB:

mysql -u root -p

Обновите учётную запись пользователя MariaDB и отнимите у него привилегии ALTER и DROP.

REVOKE ALTER, DROP ON filerun.* FROM '8host'@'localhost';
FLUSH PRIVILEGES;

Закройте MariaDB (CTRL+D).

Примечание: Чтобы установить какую-либо программу, необходимую FileRun, нужно восстанавливать эти привилегии пользователя. Для этого нужно подключиться к серверу БД и запустить команды:

'8host'@'localhost';
FLUSH PRIVILEGES;

Установка FileRun защищена от атак подбора.

5: Поддержка эскизов (опционально)

Чтобы создавать эскизы для файлов изображений, фотографий и PDF-документов, вам необходимо установить ImageMagick.

sudo yum install ImageMagick*

Включите ImageMagick с помощью FileRun. Для этого откройте панель управления FileRun и перейдите в раздел System configuration →Files →Image preview (путь /usr/bin/convert).

Чтобы генерировать эскизы для видеофайлов, установите ffmpeg из репозитория ATrpms.

sudo rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms
sudo rpm -ivh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-7.el6.x86_64.rpm
sudo yum install ffmpeg

Чтобы включить ffmpeg с помощью FileRun, откройте панель управления FileRun и перейдите в раздел System configuration →Files →Image preview (путь /usr/bin/ffmpeg).

Теперь FileRun поддерживает эскизы файлов.

Заключение

Приложение FileRun успешно установлено и развёрнуто на сервере CentOS 7. Теперь вы можете добавить изображения, документы и другие файлы для совместного использования.

Создайте SSL-сертификат для FileRun. Это не только значительно увеличит безопасность FileRun, но и позволит получить к нему доступ с помощью бесплатного приложения Android.

Вы можете получить бесплатный сертификат от сервиса Let’s Encrypt. Также вы можете создать самоподписанный сертификат.

Дополнительную информацию о FileRun можно найти в документации проекта.

Tags: ,

1 комментарий

Добавить комментарий