Структура каталогов yii2 на сервере

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Структура каталогов yii2 на сервере

Сообщение azz »

Добрый день. Подскажите, как правильно вынести все каталоги кроме backend/web и frontend/web вне доступа из веб? На сервере есть только один каталог httpdocs. Как я понимаю, в него нужно перенести frontend/web, а остальное оставить уровнем выше? А куда девать backend/web?
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Структура каталогов yii2 на сервере

Сообщение someweb »

Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Аватара пользователя
onmotion
Сообщения: 31
Зарегистрирован: 2015.12.25, 16:03
Откуда: Санкт-Петербург
Контактная информация:

Re: Структура каталогов yii2 на сервере

Сообщение onmotion »

Вам ничего не нужно выносить, просто настраиваете webroot на директории web внутри frontend и backend.
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Структура каталогов yii2 на сервере

Сообщение azz »

Спасибо. Получилось. Только в инструкции не сказано что пути надо поменять ещё и в обоих 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',
        ],
    ],
];
А если я теперь обновлю композером, надо будет всё править заново?
onmotion писал(а): 2017.05.06, 15:00 Вам ничего не нужно выносить, просто настраиваете webroot на директории web внутри frontend и backend.
имеется в виду, все файлы фреймворка будут лежать в webroot? Попробовал и такое решение, работает, но как по мне, правильнее туда выносить только web каталоги. Так ведь и задумывалось.
Аватара пользователя
onmotion
Сообщения: 31
Зарегистрирован: 2015.12.25, 16:03
Откуда: Санкт-Петербург
Контактная информация:

Re: Структура каталогов yii2 на сервере

Сообщение onmotion »

Вы не поверите, но задумывалось именно так, как это сделано.
Что вас конкретно смущает? Если веб сервер сконфигурирован на директорию 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;
		}
	}
И будет у вас 2 независимых хоста domain.ru и admin.domain.ru
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Структура каталогов yii2 на сервере

Сообщение someweb »

azz писал(а): 2017.05.10, 17:32 А если я теперь обновлю композером, надо будет всё править заново?
Нет, composer обновляет только папку vendor.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Ответить