baks-dev / files-cdn
Модуль CDN файловых ресурсов
Installs: 79
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.3
- baks-dev/core: ^7.1
Requires (Dev)
- roave/security-advisories: dev-latest
- symfony/test-pack: ^1.0
README
Модуль CDN файловых ресурсов
Установка
Рекомендуется установить на отдельный сервер с отдельным доменом!
$ composer require baks-dev/files-cdn
Настройки
Добавить директорию и установить права для загрузки файлов:
$ sudo mkdir <path_to_project>/public/upload $ chown -R unit:unit <path_to_project>/public/upload
Генерируем дайджест пароля:
$ php bin/console security:hash-password
В файле конфигурации <path_to_cdn_project>/config/packages/security.php
указываем настройку авторизации, указав результат хеширования пароля
<user>
- пользователь<hash-password-result>
- результат хеширования пароля
<?php namespace Symfony\Component\DependencyInjection\Loader\Configurator; use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface; use Symfony\Config\SecurityConfig; return static function(SecurityConfig $config) { $config->enableAuthenticatorManager(true); $config->firewall('dev') ->pattern('^/(_(profiler|wdt)|css|images|js)/') ->security(false) ; $config->passwordHasher(PasswordAuthenticatedUserInterface::class)->algorithm('bcrypt'); $config->provider('in_memory_users') ->memory() ->user('<user>') ->password('<hash-password-result>') ->roles(['ROLE_CDN']) ; $config->firewall('main') ->pattern('^/cdn/upload') ->provider('in_memory_users') ->httpBasic() ; };
В основном проекте в файле environment <path_to_cdn_project>/.env
указываем хост CDN и пароль для авторизации доступа
<user>
- пользователь<you-plain-password>
- тектсовое представление пароля
###> CDN ### CDN_HOST=cdn.example.host CDN_USER=<user> CDN_PASS=<you-plain-password>
Лицензия
The MIT License (MIT). Обратитесь к Файлу лицензии за дополнительной информацией.