Плагин «Домен для статики»
Описание
Плагин предназначен для переноса статических файлов на отдельный домен (поддомен).
Обязательным условием является использование одного сервера (общей файловой системы для сайта и для статических файлов).
GitHub: github.com/wasja1982/livestreet_staticdomain
Настройка
Настройка плагина осуществляется редактированием файла "/plugins/staticdomain/config/config.php".
Поддерживаемые директивы:
1) $config['static_web'] — Домен для статических файлов.
2) $config['static_server'] — Путь к каталогу для статических файлов.
3) $config['use_static_cache'] — Привязать JS и CSS к статическому домену. По умолчанию отключено (false).
Установка
1. Скопировать плагин в каталог /plugins/
2. Создать требуемую структуру каталогов.
3. Настроить работу домена для статических файлов.
4. Через панель управления плагинами (/admin/plugins/) запустить активацию плагина.
Пример настройки (отдельный поддомен для статики)
1) Настройка двух виртуальных серверов в Apache
Задаются пути для корневых каталогов основного домена и поддомена для статики:
# Основной домен
<VirtualHost *:8080>
ServerName site.ru
ServerAdmin [email protected]
ServerAlias www.site.ru
DocumentRoot /var/sites/site.ru/htdocs
</VirtualHost>
## Поддомен для статики (настраивается при отсутствии nginx)
#<VirtualHost *:8080>
# ServerName img.site.ru
# ServerAdmin [email protected]
# ServerAlias img.site.ru
# DocumentRoot /var/sites/img.site.ru/htdocs
#</VirtualHost>
2) Настройка nginx
Настраивается передача всех запросов на основной сервер и непосредственный доступ к файлам у поддомена для статики:
# Основной домен
server {
listen 80;
server_name site.ru www.site.ru;
location / {
proxy_pass http://127.0.0.1:8080;
}
location ~ /\.ht {
deny all;
}
}
# Поддомен для статики
server {
listen 80;
server_name img.site.ru;
location / {
root /var/sites/img.site.ru/htdocs;
}
location ~ /\.ht {
deny all;
}
}
3) Перенос статических файлов шаблона (не обязательно)
Необходимо скопировать все статические файлы (изображения, CSS, JS) из каталога "/var/sites/site.ru/htdocs/templates" в каталог "/var/sites/img.site.ru/htdocs/templates" с обязательным сохранением структуры каталогов.
Задать в файле «config.local.php» LiveStreet значение переменной
$config['path']['static']['root'] = 'http://img.site.ru';
4) Настройка плагина
В файле "/plugins/staticdomain/config/config.php" задать:
— домен для статики;
$config['static_web']='___path.static.root___';
или (если не настраивался пункт 3)
$config['static_web']='http://img.site.ru';
— путь к каталогу для статических файлов
$config['static_server']='/var/sites/img.site.ru/htdocs';
— разрешить привязку JS и CSS к статическому домену
$config['use_static_cache']=true;
5) Активировать плагин
Если не работает, то проверьте, чтобы были выставлены права доступа к каталогу "/var/sites/img.site.ru/htdocs" и для всех вложенных (0x755).
2 комментария