Как правильно настроить виртуальный хост на Debian?

// по понятным причинам поменял IP, домен, названия папок и т.п.
Доброго времени суток однокашники!
Обращаюсь к вам за помощью! Ввожу в курс дела. Имеются в наличии:
  • VPS с Debian-ом
  • LAMP на нём
  • домен test.ru зареганым на 2domains.ru


Настройка dns:
  • @ A 178.62.35.234
  • www A 178.62.35.234
  • * A 178.62.35.234 (на всякий случай :-) )


В sites-available конфиг для сайта (с его ссылкой в sites-enabled):
<VirtualHost *:80>                                                                                                                      
        ServerAdmin     tretjakov.pavel@gmail.com                                                                                       
        ServerName      test.ru                                                                                                      
        ServerAlias     test.ru www.test.ru                                                                                       
        DocumentRoot    /var/www/test.ru/public_html                                                                                 
        <Directory />                                                                                                                   
                Options FollowSymLinks                                                                                                  
                AllowOverride None                                                                                                      
        </Directory>                                                                                                                    
        <Directory /var/www>                                                                                                            
                Options Indexes FollowSymLinks MultiViews                                                                               
                AllowOverride None                                                                                                      
                Order allow,deny                                                                                                        
                allow from all                                                                                                          
        </Directory>                                                                                                            
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/                                                                                         
        <Directory "/usr/lib/cgi-bin">                                                                                                  
                AllowOverride None                                                                                                      
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch                                                                      
                Order allow,deny                                                                                                        
                Allow from all                                                                                                          
        </Directory>                                                                 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn                                                                                                                                        
        CustomLog ${APACHE_LOG_DIR}/access.log combined                                                                                 
</VirtualHost>


Строка в hosts: 178.62.35.234 test.ru

В общем проблема заключается в том, что при переходе по адресу www.test.ru, сервер отлично реагирует и возвращает клиенту /var/www/test.ru/public_html (где автоматом открывается index.php),
но если переходить просто по test.ru (без www), то возвращается содержимое каталога /var/www/,
где соответственно помимо test.ru есть еще куча других каталогов!
Я понимаю, что это фундаментальные вещи и у меня, походу, руки из попы растут, ну блин >< сколько не рыл интернет, и сколько не занимался алхимией с этими файлами и параметрами - всё одно и тоже.
Помогите, ну пазязя!

UPDATE 1
Всем спасибо за внимание и потраченное время. Не знаю каким макаром, но вспомнил, что лет 5 назад читал статью по настройке вертуалных хостов, потратив часов 5 на её поиски нашёл...
Теперь sites-available/test.ru выглядет так:

<VirtualHost *:80>                                                                                                                      
        ServerAdmin webmaster@localhost                                                                                                 
        ServerName test.ru
        DocumentRoot /var/www/test.ru
                                                                                                                                        
        <Directory />                                                                                                                   
                Options FollowSymLinks                                                                                                  
                AllowOverride All                                                                                                       
        </Directory>                                                                                                                    
                                                                                                                                        
        <Directory /var/www/test.ru>                                                                                                
                Options Indexes FollowSymLinks MultiViews                                                                               
                AllowOverride All                                                                                                       
                Order allow,deny                                                                                                        
                allow from all                                                                                                          
        </Directory>                                                                                                                    
                                                                                                                                        
        ErrorLog ${APACHE_LOG_DIR}/error.log                                                                                            
                                                                                                                                        
        # Possible values include: debug, info, notice, warn, error, crit,                                                              
        # alert, emerg.                                                                                                                 
        LogLevel warn                                                                                                                   
                                                                                                                                        
        CustomLog ${APACHE_LOG_DIR}/access.log combined                                                                                 
                                                                                                                                        
</VirtualHost>


Соответственно структура каталогов стала /var/www/test.ru/ -> и здесь содержимое.
Все заработало.
Кому интересно вот статья -> https://clck.ru/9UgJA
  • Вопрос задан
  • 738 просмотров
Пригласить эксперта
Ответы на вопрос 2
Bessome
@Bessome
Администратор Linux, Windows. 1С программист
<Directory /var/www>                                                                                                            
                Options Indexes FollowSymLinks MultiViews                                                                               
                AllowOverride None                                                                                                      
                Order allow,deny                                                                                                        
                allow from all                                                                                                          
 </Directory>


меняем на

<Directory /var/www/test.ru/public_html/www>                                                                                                            
                Options Indexes FollowSymLinks MultiViews                                                                               
                AllowOverride None                                                                                                      
                Order allow,deny                                                                                                        
                allow from all                                                                                                          
 </Directory>


если есть "www" в public_html; иначе вообще эта часть конфига не нужна.

P.S. разбей
ServerAlias test.ru www.test.ru на:
ServerAlias test.ru
ServerAlias www.test.ru
Ответ написан
@ShamblerR
Добрый день у вас достаточно простая проблема и вообще она часто вылазиет в конфигурации nginx+apache но в вашем случае самый простой способ будет делать линку на папку www, собственно можно обойтись без апача вообще.
Так же вполне логично было бы написать конфиг без ввв поскольку это домен 3 уровня, как- то туповато выглядет прикрутыть костыль к домену 2 уровня.
Ну и да

ServerAlias www.test.ru
ServerName test.ru
DocumentRoot /var/www/test.ru

Вполне должно хватить для вас
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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