6.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Окружение виртуального хостинга
Окружение виртуальных хостингов зачастую весьма ограничено в настройках конфигурации и структуры директорий. Тем не менее, в большинстве случаев, внеся некоторые корректировки возможно запустить Yii2 на виртуальном хостинге.
Установка Basic приложения.
Поскольку на виртуальном хостинге обычно только один webroot, то лучше использовать Basic приложение. Прочитайте раздел Установка Yii и установите Basic приложение локально. После того как приложение работает локально, можно сделать некоторые корректировки, которые помогут разместить приложение на виртуальном хостинге.
Переименование webroot
Подключитесь к вашему виртуальному хостингу используя FTP или другой способ. Вероятнее всего вы увидите следующее:
config
logs
www
В приведенном выше описании, www - это webroot директория вебсервера. Она может называться по-другому. Возможные названия:
www, htdocs или public_html.
В Basic приложении webroot называется web. Перед загрузкой своего приложения на виртуальный хостинг, переименуйте
локальный webroot на название webroot виртуального хостинга. Например web в www или public_html, в зависимости от
наименования webroot вашего хостинга.
Корневая директория FTP доступна для записи
Если вы можете записать в корневую директорию, так где располагаются config, logs и www, то загрузите сюда же
assets, commands и остальные директории, также как у вас локально.
Добавим настройки для вебсервера
Если ваш сервер Apache, то вы можете добавить в web(или public_html, или наподобие, там где располагается index.php файл)
директорию один файл .htaccess со следующим содержимым:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
В случае использования nginx не требуется каких-либо дополнительных настроек.
Проверка требований
Для того чтобы запустить Yii, ваш веб-сервер должен соответствовать его требованиям. Минимальное требование к PHP - это
его версия 5.4. Для того, чтобы проверить требования, скопируйте requirements.php из корневого каталога в каталог webroot
и запустить его с помощью браузера, используя url http://example.com/requirements.php. Не забудьте после проверки требований
удалить файл requirements.php.
Установка Advanced приложения
Установка Advanced приложения немного сложнее, чем установка Basic, из-за того, что в Advanced приложении имеются две директории webroot, работа с которыми на виртуальном хостинге не поддерживается. Нам нужно внести изменения в структуру директорий.
Перемещение входных скриптов в одну директорию webroot
Для начала нам необходимо директория webroot. Создайте новую директорию и назовите её, так же как на виртуальном хостинге,
например как описывалось выше в Переименование webroot www или public_html, или наподобие.
Затем создайте следующую структуру в www директории, которую вы только что создали:
www
    admin
backend
common
console
environments
frontend
...
www будет нашей фронтенд директорией, переместите в неё всё из frontend/web. Также поступите и для  backend/web,
скопировав всё в www/admin. В каждом случае нужно настроить пути внутри файлов index.php и index-test.php.
Отдельные сессии и куки
Изначально подразумевалось, что приложения бекенд и фронтенд располагаются на разных доменах. Когда мы перенесли всё в
один домен, то куки и сессии из бекенда и фронтенда будут пересекаться. Для исправления этого внесите следующие настройки
в конфигурацию backend приложения backend/config/main.php:
'components' => [
    'request' => [
        'csrfParam' => '_backendCSRF',
        'csrfCookie' => [
            'httpOnly' => true,
            'path' => '/admin',
        ],
    ],
    'user' => [
        'identityCookie' => [
            'name' => '_backendIdentity',
            'path' => '/admin',
            'httpOnly' => true,
        ],
    ],
    'session' => [
        'name' => 'BACKENDSESSID',
        'cookieParams' => [
            'path' => '/admin',
        ],
    ],
],