Имам VPS, в който има уеб приложение и уебсайт. Уеб приложението и уебсайтът имат отделни cPanel.

Основната директория по подразбиране за уеб приложението е: /home/webapp/public_html Основната директория по подразбиране за уебсайта е: /home/website/public_html

Бих искал основния си домейн example.com за да отведе потребителя до уебсайта и се извиква поддомейн subdomain.example.com да отведе потребителя до уебсайта.

Първо влязох в настройките на DNS и създадох A Record за моя домейн, example.com, който сочи към IP адреса на моя VPS.

След това влязох с основния си акаунт и създадох два VirtualHosts /etc/httpd/conf/httpd.config:

 ServerAdmin [email protected] DocumentRoot /home/website/public_html ServerName www.example.com ServerAlias example.com   ServerAdmin [email protected] DocumentRoot /home/webapp/public_html ServerName subdomain.example.com ServerAlias subdomain.example.com  

И накрая, рестартирах Apache и се опитах да осъществя достъп до моя домейн и поддомейн, но за моя изненада бях откаран по подразбиране cgi-sys/defaultwebpage.cgi страница. Това е същата страница, на която съм отведен, когато отида директно на моя IP адрес.

Какво правя погрешно?

Моята операционна система е CentOS 6.

  • От интерес защо искате да използвате www. с поддомейн? просто изглежда, че умишлено удължавате домейна без никаква полза.
  • А, прав си. Не трябва да правя това. Независимо от това, изглежда, че моите виртуални хостове са напълно игнорирани.
  • 2 Вашият поддомейн има същия корен на документа („уебсайт“, а не „webapp“). Както казвате обаче, изглежда, че вашите „виртуални хостове се игнорират напълно“. Проблемът може да се крие другаде в конфигурацията на вашия сървър. Къде са включени тези контейнери vHost? Къде е дефинирана стандартната CGI страница, която виждате?
  • @DocRoot беше глупава печатна грешка от моя страна, когато зададох въпроса. Контейнерите vHost са включени в /etc/httpd/conf/httpd.conf. Също така го опитах по различен начин, като създадох папките, достъпни за сайтове и активирани сайтове, с файл, наречен example.com.conf за уебсайта virtualhost и друг с име subdomain.example.com.conf за webapp. След това създадох символна връзка в сайтове с активиран сайт. Изглежда, че и това не работи. Що се отнася до втория ви въпрос, успях да променя основната папка за IP, така че вместо това да се показва / home /.
  • В коя версия на Apache сте? „Успях да сменя основната папка за IP“ - Какво имаш предвид точно? Сменихте ли DocumentRoot (и подходящи перми) в конфигурацията на сървъра? Преди или след като сте създали тези vHosts? „Тогава създадох символна връзка ...“ - как беше това included в основната конфигурация на сървъра?

Първият проблем е, че сте настроили и двете си конфигурации на VirtualHost да използват DocumentRoot / home / website / public_html - една трябва да бъде / home / webapp / public_html.

Следващият брой звучи като DNS, споменавате добавянето на един A запис за example.com. Добавихте ли записи A или CNAME и за subdomain.example.com и www.subdomain.example.com?

  • 2 Първият брой всъщност е печатна грешка точно тук в моя въпрос. Редактирах го в момента, за да поправя грешката. По отношение на следващия брой добавих само един A запис, но не би ли трябвало да работи поне за основния ми домейн тогава, а не за поддомена? Не работи и за двамата.
  • Добавихте ли също запис A или CNAME за www.example.com? Предлагам да добавите всички DNS записи, да изчакате DNS да се разпространи и след това да рестартирате вашия уеб сървър. Тъй като име на ServerName е зададено като "www.example.com", ако DNS запис за това не съществува, той може да не работи правилно.
  • 1 @RichardZack Ако това беше проблем с DNS, те нямаше да получат страницата на сървъра по подразбиране?
  • @DocRoot не е задължително, тъй като някои доставчици на DNS използват заместващи символи, т.е. * .domain.com, който може да сочи към различен адрес. В този случай LeuName каза, че е добавил само един DNS запис, така че освен ако не е добавил заместващ символ, вероятно DNS разделителната способност е проблемът тук. LeuName трябва да потвърди, че всички DNS записи са добавени правилно.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?