A free and open-source book on ZF3 for beginners


2.4. Виртуальный хост Apache

Теперь мы почти готовы к запуску нашего сайта! Последним, что мы сделаем, будет настройка виртуального хоста Apache. Термин "виртуальный хост" означает, что вы можете держать несколько сайтов на одном компьютере. Виртуальные сайты отличаются доменным именем (как например, site.mydomain.com и site2.mydomain.com) или номером порта (как localhost и localhost:8080). Виртуальные хосты работают прозрачно для пользователей сайта, то есть, они не будут знать, на одной машине работают сайты или же на нескольких.

На данный момент наше скелетное приложение находится в домашнем каталоге. Чтобы оповестить о нем Apache, нам нужно изменить файл виртуального хоста.

Файл виртуального хоста может находиться в разных местах, это зависит от вашей операционной системы. Например, в Linux Ubuntu он расположен в файле /etc/apache2/sites-available/000-default.conf. Для информации о виртуальных хостах, касающейся разных ОС, смотрите Приложение A. Организация среды веб-разработки.

Теперь внесем изменения в стандартный файл виртуального хоста, чтобы он выглядел, как представлено ниже (мы подразумеваем, что вы используете версию 2.4 Apache):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/username/helloworld/public
    
	<Directory /home/username/helloworld/public/>
        DirectoryIndex index.php
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>

Строка 1 указывает Apache слушать все (*) IP-адреса с портом 80.

Строка 2 определяет электронный адрес вебмастера. Если с сайтом что-то случится, Apache вышлет оповещение на этот адрес. Вы можете ввести здесь ваш e-mail.

Строка 4 определяет корневой каталог документов (APP_DIR/public). Все хранящиеся тут файлы и каталоги будут доступны пользователям. Следует установить здесь абсолютный путь к каталогу public скелетного приложения. Таким образом, каталоги и файлы внутри public (такие как index.php, css, js и др.) будут доступны, в то время как каталоги и файлы над этой директорией public (такие как config, module и др.) будут недоступны пользователям, что повышает безопасность сайта.

Строки 6-10 определяют правила для корневого каталога документов (APP_DIR/public). Например, директива DirectoryIndex указывает Apache, что файл index.php является индексным файлом по умолчанию. Директива AllowOverride All позволяет определять любые правила в файле .htaccess. Директива Require all granted делает сайт доступным для всех посетителей.

Zend Framework 3 использует модуль перезаписи URL Apache для перенаправления пользователей на скрипт входа вашего сайта. Пожалуйста, убедитесь, что у вашего веб-сервера включен модуль mod_rewrite. Инструкции о том, как его подключить, вы можете найти в Приложение А. Организация среды веб-разработки.

После изменения файла конфигурации не забудьте перезапустить Apache, чтобы сохранить ваши изменения.


Top