Установка и использование 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: CentOS 7, FileRun
1 комментарий
Hi, my filerun index got the blank page. I just download filerun for php 56 also ioncube has installed in my php. Chto delat?