Структура каталогов yii2 на сервере
Структура каталогов yii2 на сервере
Добрый день. Подскажите, как правильно вынести все каталоги кроме backend/web и frontend/web вне доступа из веб? На сервере есть только один каталог httpdocs. Как я понимаю, в него нужно перенести frontend/web, а остальное оставить уровнем выше? А куда девать backend/web?
Re: Структура каталогов yii2 на сервере
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
- onmotion
- Сообщения: 31
- Зарегистрирован: 2015.12.25, 16:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Структура каталогов yii2 на сервере
Вам ничего не нужно выносить, просто настраиваете webroot на директории web внутри frontend и backend.
Re: Структура каталогов yii2 на сервере
Спасибо. Получилось. Только в инструкции не сказано что пути надо поменять ещё и в обоих test.php:
Код: Выделить всё
<?php
return [
'id' => 'app-backend-tests',
'components' => [
'assetManager' => [
//'basePath' => __DIR__ . '/../web/assets',
'basePath' => __DIR__ . '/../../httpdocs/admin/assets',
],
],
];
<?php
return [
'id' => 'app-frontend-tests',
'components' => [
'assetManager' => [
//'basePath' => __DIR__ . '/../web/assets',
'basePath' => __DIR__ . '/../../httpdocs/assets',
],
],
];
имеется в виду, все файлы фреймворка будут лежать в webroot? Попробовал и такое решение, работает, но как по мне, правильнее туда выносить только web каталоги. Так ведь и задумывалось.
- onmotion
- Сообщения: 31
- Зарегистрирован: 2015.12.25, 16:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Структура каталогов yii2 на сервере
Вы не поверите, но задумывалось именно так, как это сделано.
Что вас конкретно смущает? Если веб сервер сконфигурирован на директорию frontend/web, то выше вы не залезете.
Например для nginx:
И будет у вас 2 независимых хоста domain.ru и admin.domain.ru
Что вас конкретно смущает? Если веб сервер сконфигурирован на директорию frontend/web, то выше вы не залезете.
Например для nginx:
Код: Выделить всё
server {
listen 80;
server_name admin.domain.ru;
set $host_path "/var/www/domain/backend/web";
access_log /var/www/domain/backend/access.log;
client_max_body_size 10M;
charset utf-8;
set $yii_bootstrap "index.php";
location / {
root $host_path;
index index.php index.html index.htm;
try_files $uri $uri/ /$yii_bootstrap?$args;
}
# Настройки статики
location ~* \.(jpeg|ico|jpg|gif|png|css|js|pdf|txt|tar|gz|wof|csv|zip|xml|yml) {
access_log off;
expires 365d;
add_header Access-Control-Allow-Origin *;
add_header Cache-Control public;
root $host_path;
}
location ~ \.php$ {
root $host_path;
proxy_read_timeout 120s;
try_files $uri $uri/ =404;
include fastcgi_params;
}
}
Код: Выделить всё
server {
listen 80;
server_name domain.ru;
set $host_path "/var/www/domain/frontend/web";
access_log /var/www/domain/frontend/access.log;
client_max_body_size 10M;
charset utf-8;
set $yii_bootstrap "index.php";
location / {
root $host_path;
index index.php index.html index.htm;
try_files $uri $uri/ /$yii_bootstrap?$args;
}
# Настройки статики
location ~* \.(jpeg|ico|jpg|gif|png|css|js|pdf|txt|tar|gz|wof|csv|zip|xml|yml) {
access_log off;
expires 365d;
add_header Access-Control-Allow-Origin *;
add_header Cache-Control public;
root $host_path;
}
location ~ \.php$ {
root $host_path;
proxy_read_timeout 120s;
try_files $uri $uri/ =404;
include fastcgi_params;
}
}
Re: Структура каталогов yii2 на сервере
Нет, composer обновляет только папку vendor.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.