Как настроить yii2 на linux?

У меня не получается чтобы, сайт выводил из фреймворка yii2. Я примерно реализовывал виртуальный хост для yii2 следующие действие Сам проект yii2 у меня находится в директории /var/www/html/trainingYii. Только там символическая ссылка стоит. Потом я создал файл в директории /etc/apache2/sites-available/yii2-app.conf И в нем прописал
<VirtualHost *:80>
        ServerName yii2-app
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/trainingYii

         <Directory /var/www/html/trainingYii>
        Options Indexes FollowSymlinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

        ErrorLog /var/www/yii2-app/logs/error.log
        CustomLog /var/www/yii2-app/logs/access.log combined
</VirtualHost>

И делаю символическую ссылку
sudo ln -s /etc/apache2/sites-available/yii2-app.conf /etc/apache2/sites-enabled/yii2-app.conf
Получаю ссылку и потом я в /etc/hosts вписал 127.0.0.1 yii2-app И потом я перезарузил apache2 и получил вот такой ответ
ruslan@debian:/etc/apache2/sites-available$ sudo service apache2 restart
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.

Посмотрел в логах в чем причина
[Sat Feb 10 12:52:58.622686 2018] [mpm_prefork:notice] [pid 7009] AH00169: caught SIGTERM, shutting down

Как мне сделать виртуальный хост для yii2?
  • Вопрос задан
  • 1682 просмотра
Решения вопроса 2
slo_nik
@slo_nik
Добрый день.
А зачем символическую ссылку делать?
Надо отключить старую конфигурацию и подключить свою.
Делается это командами в консоли
a2dissite name_file.conf
a2ensite name_file.conf

В hosts просто оставить по умолчанию 127.0.0.1 localhost
Внутри файл yii2-app.conf скопируйте конфигурацию default.conf(или как у Вас этот файл называется) и замените пути на свои.
По завершению перегрузите apache2.
p.s. К yii2 Ваша проблема не имеет никакого отношения.
Ответ написан
Комментировать
Immortal_pony
@Immortal_pony
Посмотрел в логах в чем причина
[Sat Feb 10 12:52:58.622686 2018] [mpm_prefork:notice] [pid 7009] AH00169: caught SIGTERM, shutting down

Это не причина, ищите причину выше по логу.

1. Папка /var/www/html по умолчанию папка для файлов сайта по-умолчанию. Соответственно, складывать файлы своего сайта внутрь нее не совсем корректно. Более правильным решением будет вынести папку trainingYii на один уровень иерархии с html, то есть разместить ее по адресу /var/www/trainingYii.

2. Точка входа у Yii находится в папке "web", а не в корне. Это надо отразить в "DocumentRoot" и "Directory" в конфигурационном файле виртуального хоста.

3. Хранить логи web-server'а в /var/www тоже не очень хорошая идея. Либо складывайте их в /var/log/apache2 (по умолчанию), либо в то же место, где хранит логи Yii (...runtime/logs).

C учетом этих рекомендаций конфиг будет выглядеть примерно так:
<VirtualHost *:80>
        ServerName yii2-app
        DirectoryIndex index.php
        DocumentRoot /var/www/trainingYii/web/

        <Directory /var/www/trainingYii/web/>
                Options +FollowSymLinks +MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/www/trainingYii/runtime/logyii2-app/runtime/logs/apache-error.log
        CustomLog /var/www/trainingYii/runtime/logs/apache-access.log combined
</VirtualHost>


И делаю символическую ссылку
sudo ln -s /etc/apache2/sites-available/yii2-app.conf /etc/apache2/sites-enabled/yii2-app.conf

Не надо так делать. Еслть специальная команда a2ensite, которая, в частности, сама эту ссылку создаст.
a2ensite yii2-app
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы