Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: помощь в настройке apach2 virtualhost  (Прочитано 1332 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lex396

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
помощь в настройке apach2 virtualhost
« : 02 Ноября 2019, 19:10:18 »
Добрый день
машина расположена за роутером
ОС        Ubuntu 18.04.3 LTS
сервер       apach2

статичный ip от провайдера 123.123.123.123
в локальной сети за машиной закреплен ip 192.168.0.123

есть домен    example.com
два субдомена    test.example.com
      test2.example.com
ресурсные записи A @ и субдоменов перенесены на домашнюю машину

созданы соответствующие каталоги
      /home/example.com
      /home/test.example.com
      /home/test2.example.com

созадны виртуальные сервера для домена и двух субдоменов

при любом из запросов (test.example.com, test2.example.com) идет перенаправление на основной домен (example.com)

конфиги

000-default
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /home/

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

example.com
<VirtualHost example.com:80>
DocumentRoot /home/example.com
<Directory /home/example.com>
allow from all
Options None
Require all granted
</Directory>
ServerName example.com
</VirtualHost>

test.example.com
<VirtualHost test.example.com:80>
DocumentRoot /home/test.example.com
ServerName test.example.com
<Directory /home/test.example.com>
allow from all
Options None
Require all granted
</Directory>
UseCanonicalName off
</VirtualHost>

apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd01::62a4:4cff:fe3c:76b3. Set the 'ServerName' directive globally to suppress this message
Syntax OK

apache2ctl graceful
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd01::62a4:4cff:fe3c:76b3. Set the 'ServerName' directive globally to suppress this message
httpd not running, trying to start
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'graceful' failed.
The Apache error log may have more information.

error.log
[Sat Nov 02 22:33:29.934030 2019] [rewrite:error] [pid 8217] [client 123.123.123.123:37649] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/example.com/

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1751
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #1 : 02 Ноября 2019, 19:54:55 »
<VirtualHost example.com:80>

<VirtualHost *:80>смотрите docs

DocumentRoot /home/

а чем вам /var/www/ не нравится?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #2 : 02 Ноября 2019, 20:25:48 »
а чем вам /var/www/ не нравится?
При чём тут нравится - не нравится?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Lex396

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #3 : 03 Ноября 2019, 08:30:23 »
docs посмотрел
если в "<VirtualHost *:80>" стоит "*" то идет сравнение по "ServerName" и выполняется соответствующая конфигурация виртуального хоста

заменил во всех виртуальных хостах адрес на "*". вместо Forbidden открывается example.com.
при попытке открыть test.example.com идет перенаправление на example.com

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1751
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #4 : 03 Ноября 2019, 09:27:08 »
DocumentRoot /home/example.com

попробуйте выяснить назначение папки /home

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #5 : 03 Ноября 2019, 12:30:53 »
bezbo, хватит по мелочам придираться.
Lex396, показывайте `apachectl -S`
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Lex396

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #6 : 03 Ноября 2019, 14:19:36 »
/home - каталог для размещения личных файлов пользователей
var/www - каталог для часто изменяющихся файлов, из за того что у меня сайт размещен не в той директории, поэтому не работают виртуальные хосты?

Пользователь добавил сообщение 03 Ноября 2019, 14:26:04:
apachectl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd01::62a4:4cff:fe3c:76b3. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server fd01::62a4:4cff:fe3c:76b3 (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost fd01::62a4:4cff:fe3c:76b3 (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost test.example.com (/etc/apache2/sites-enabled/test.example.com.conf:1)
         port 80 namevhost example.com (/etc/apache2/sites-enabled/example.com.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/home/"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex rewrite-map: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
« Последнее редактирование: 03 Ноября 2019, 14:26:04 от Lex396 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #7 : 03 Ноября 2019, 16:41:06 »
Ню. Апач видит три сайта - test.example.com, example.com и "всё остальное".
Показывайте
`curl -skv http://test.example.com/`
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Lex396

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #8 : 03 Ноября 2019, 18:01:17 »
как я понимаю curl видит страницу и выдает содержимое, но в браузере идет перенаправление с test.example.com на example.com
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to test.example.com (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> Host: test.example.com
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sun, 03 Nov 2019 14:57:12 GMT
< Server: Apache/2.4.29 (Ubuntu)
< Content-Length: 33
< Content-Type: text/html; charset=UTF-8
<
* Connection #0 to host test.example.com left intact
страница test.example.com

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #9 : 03 Ноября 2019, 20:08:02 »
Значит, сама ваша страница вызывает перенаправление.
Смотрите в браузере network log.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Lex396

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #10 : 04 Ноября 2019, 05:56:44 »
спасибо за помощь
причина была... и пока остается в браузере. браузер (Yandex) почему то ставит 301 редирект.
в других браузерах все работает исправно.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: помощь в настройке apach2 virtualhost
« Ответ #11 : 04 Ноября 2019, 16:38:59 »
Браузер сам ничего не ставит.
Попробуйте очистить кэш.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.054 секунд. Запросов: 25.