Поддомен Apache перенаправляется в основной домен

Решение Скопировано из Peretz:

В предыдущей попытке я установил open-vm-dkms. Это предотвращало появление файла hgfs.

sudo apt-get purge open-vm-dkms

и повторное включение vmware-инструментов разрешало конфликт.

0
задан 12 December 2017 в 06:45

2 ответа

ОК .. наконец выяснил проблемы .. получил его на работу

в первую очередь на вашем хосте dns ... вам нужно добавить запись для вашего имени сервера. Я использую namecheap.com. Я добавил A + Dynamic DNS Record с хостом john и моим ip-адресом ... так же, как моя запись A для www ... Я предполагаю, что это только стандарт A Record где-нибудь еще

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

Хорошо теперь для файлов конфигурации, которые я использовал .. Я создал два в sites-available ..

, первый из которых был вызван 001-john.conf. Я узнал, что важно, чтобы файл был завершен в .conf, или вы не сможете использовать команду, которая казалось, исправить эту проблему.

В этой конфигурации я добавил следующее:

<VirtualHost *:80> ServerAdmin webmaster@mysite.com (of course you would use your domain name instead of mysite.com) ServerName john.mysite.com ServerAlias john.mysite.com DocumentRoot /web/john (of course you would make the root the path to the folder where the files are stored) <Directory /> Options FollowSymLinks ExecCGI AllowOverride ALL </Directory> <Directory /web/john/> Options ExecCGI FollowSymLinks Includes Indexes (or whatever directives you want) AllowOverride ALL order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /web/plus/cgi-bin/ (if you wanted to create a cgi bin use your correct path for this) <Directory "/web/plus/cgi-bin"> AllowOverride ALL Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/errorjohn.log CustomLog /var/log/apache2/accessjohn.log combined </VirtualHost>

второй файл конфигурации был для ssl, и я назвал его 001-john-ssl.conf. Он выглядел так:

<IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@mysite.com ServerName john.mysite.com ServerAlias john.mysite.com DocumentRoot /web/john <Directory /> Options FollowSymLinks AllowOverride ALL </Directory> <Directory /web/john/> Options Indexes FollowSymLinks Includes MultiViews ExecCGI AllowOverride ALL Require all granted </Directory> ScriptAlias /cgi-bin/ /web/plus/cgi-bin/ <Directory "/web/plus/cgi-bin"> AllowOverride ALL Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> LogLevel warn ErrorLog /var/log/apache2/errorjohn.log CustomLog /var/log/apache2/accessjohn.log combined SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateFile /etc/apache2/ssl/your.crt file SSLCertificateKeyFile /etc/apache2/ssl/your.key file SSLCACertificateFile /etc/apache2/ssl/your.ca-bundle SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown </VirtualHost> </IfModule>

после того, как все было сохранено, я побежал

sudo a2ensite 001-john.conf

и

sudo a2ensite 001-john-ssl.conf

Затем я побежал

sudo service apache2 reload

Затем, чтобы проверить, чтобы увидеть если бы у него было и то, и другое, что до этого не было раньше. Я только что создал ссылки с сайта, доступного для сайта. Это, похоже, не работает для меня, но после запуска a2ensite с файлами с надписью .conf extention..I ran apachectl -t -D DUMP_VHOSTS и имел этот результат:

VirtualHost configuration: *:443 is a NameVirtualHost default server mysite.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2) port 443 namevhost mysite.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2) port 443 namevhost john.mysite.com (/etc/apache2/sites-enabled/001-john-ssl.conf:2) alias john.mysite.com *:80 is a NameVirtualHost default server mysite.com (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost mysite.com (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost john.mysite.com (/etc/apache2/sites-enabled/001-john.conf:1) alias john.mysite.com

** как примечание .. мой исходный сайт находится в каталоге /web/public, а сайт поддомена находится по адресу /web/john ... так как ваш был расположен в /var/www/html, я бы, вероятно, использовал бы что-то вроде /var/www/forum для вашей папки поддомена для хранения ваших файлов форума, и я использовал бы forum.yoursite.com как ServerName и ServerAlias, но, надеюсь, с примером, который вы будете см. формат и настройку всего.

после того, как записи dns были обновлены из namecheap .. я смог получить доступ к john .mysite.com, и он покажет простой файл «under construction», и если бы я только что отправился на сайт www.mysite.com, он дал бы мне мою обычную страницу, которая была установлена ​​некогда

, так что теперь его работа с субдоменом

Надеюсь, это поможет вам и правильно настроит. Скорее всего, это потому, что файлы конфигурации, вероятно, не имеют расширений .conf, и вы не использовали a2ensite, чтобы включить их .. Это была проблема, с которой я столкнулся

0
ответ дан 18 July 2018 в 01:21

ОК .. наконец выяснил проблемы .. получил его на работу

в первую очередь на вашем хосте dns ... вам нужно добавить запись для вашего имени сервера. Я использую namecheap.com. Я добавил A + Dynamic DNS Record с хостом john и моим ip-адресом ... так же, как моя запись A для www ... Я предполагаю, что это только стандарт A Record где-нибудь еще

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

Хорошо теперь для файлов конфигурации, которые я использовал .. Я создал два в sites-available ..

, первый из которых был вызван 001-john.conf. Я узнал, что важно, чтобы файл был завершен в .conf, или вы не сможете использовать команду, которая казалось, исправить эту проблему.

В этой конфигурации я добавил следующее:

<VirtualHost *:80> ServerAdmin webmaster@mysite.com (of course you would use your domain name instead of mysite.com) ServerName john.mysite.com ServerAlias john.mysite.com DocumentRoot /web/john (of course you would make the root the path to the folder where the files are stored) <Directory /> Options FollowSymLinks ExecCGI AllowOverride ALL </Directory> <Directory /web/john/> Options ExecCGI FollowSymLinks Includes Indexes (or whatever directives you want) AllowOverride ALL order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /web/plus/cgi-bin/ (if you wanted to create a cgi bin use your correct path for this) <Directory "/web/plus/cgi-bin"> AllowOverride ALL Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/errorjohn.log CustomLog /var/log/apache2/accessjohn.log combined </VirtualHost>

второй файл конфигурации был для ssl, и я назвал его 001-john-ssl.conf. Он выглядел так:

<IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@mysite.com ServerName john.mysite.com ServerAlias john.mysite.com DocumentRoot /web/john <Directory /> Options FollowSymLinks AllowOverride ALL </Directory> <Directory /web/john/> Options Indexes FollowSymLinks Includes MultiViews ExecCGI AllowOverride ALL Require all granted </Directory> ScriptAlias /cgi-bin/ /web/plus/cgi-bin/ <Directory "/web/plus/cgi-bin"> AllowOverride ALL Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> LogLevel warn ErrorLog /var/log/apache2/errorjohn.log CustomLog /var/log/apache2/accessjohn.log combined SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateFile /etc/apache2/ssl/your.crt file SSLCertificateKeyFile /etc/apache2/ssl/your.key file SSLCACertificateFile /etc/apache2/ssl/your.ca-bundle SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown </VirtualHost> </IfModule>

после того, как все было сохранено, я побежал

sudo a2ensite 001-john.conf

и

sudo a2ensite 001-john-ssl.conf

Затем я побежал

sudo service apache2 reload

Затем, чтобы проверить, чтобы увидеть если бы у него было и то, и другое, что до этого не было раньше. Я только что создал ссылки с сайта, доступного для сайта. Это, похоже, не работает для меня, но после запуска a2ensite с файлами с надписью .conf extention..I ran apachectl -t -D DUMP_VHOSTS и имел этот результат:

VirtualHost configuration: *:443 is a NameVirtualHost default server mysite.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2) port 443 namevhost mysite.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2) port 443 namevhost john.mysite.com (/etc/apache2/sites-enabled/001-john-ssl.conf:2) alias john.mysite.com *:80 is a NameVirtualHost default server mysite.com (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost mysite.com (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost john.mysite.com (/etc/apache2/sites-enabled/001-john.conf:1) alias john.mysite.com

** как примечание .. мой исходный сайт находится в каталоге /web/public, а сайт поддомена находится по адресу /web/john ... так как ваш был расположен в /var/www/html, я бы, вероятно, использовал бы что-то вроде /var/www/forum для вашей папки поддомена для хранения ваших файлов форума, и я использовал бы forum.yoursite.com как ServerName и ServerAlias, но, надеюсь, с примером, который вы будете см. формат и настройку всего.

после того, как записи dns были обновлены из namecheap .. я смог получить доступ к john .mysite.com, и он покажет простой файл «under construction», и если бы я только что отправился на сайт www.mysite.com, он дал бы мне мою обычную страницу, которая была установлена ​​некогда

, так что теперь его работа с субдоменом

Надеюсь, это поможет вам и правильно настроит. Скорее всего, это потому, что файлы конфигурации, вероятно, не имеют расширений .conf, и вы не использовали a2ensite, чтобы включить их .. Это была проблема, с которой я столкнулся

0
ответ дан 24 July 2018 в 17:22
  • 1
    спасибо за это, я проверю это, как только выясню, как исправить apache2 bc, он просто случайно перестает работать на меня. не может подключаться к каким-либо моим IP-адресам или моим DNS-серверам. (это произошло до того, как я добавил ваши вещи, так что не волнуйтесь) – Bwookzy 12 December 2017 в 10:10
  • 2
    ahh bummer .. вы проверили error.log после попытки запустить сервер .. он может дать вам несколько ответов /var/log/apache2/error.log обычно по умолчанию – John Orion 12 December 2017 в 10:15
  • 3
    если у вас есть время .. вы можете подключиться к этой ссылке в других ответах, которые я дал, что говорит .... присоединяйтесь ко мне здесь .. у меня все еще есть комната активная .. может быть, я не могу стрелять в вас – John Orion 12 December 2017 в 10:18
  • 4
    нет, askubuntu говорит, что мне нужно как минимум 20 представителей, чтобы поговорить там :( – Bwookzy 12 December 2017 в 10:26
  • 5
    ahh damn :( извините .. хорошо вы заглянули в журнал. Выполняется ли apache2 .. вы пытались перезапустить его в терминале sudo service apache2 start и посмотреть, не вызывает ли он какие-либо ошибки или говорит вам что-то проверить? уже работает .. может быть sudo service apache2 stop, то вышеприведенная команда, чтобы запустить его снова – John Orion 12 December 2017 в 10:34

Другие вопросы по тегам:

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