Назад | Перейти на главную страницу

Добавление домена и поддомена на сервер

Приветствую и извините, если это очень простой вопрос.

Эта проблема:

В настоящее время я купил домен (crazywebsite.com) у Godaddy.com и у меня есть неуправляемый VPS на Site5.com.

Я создал Стек ЛАМП (Debian, Apache2, MySQL, PHP Laravel) в моем моем Машина Debian в Site5.com и в настоящее время мой IP-адрес и веб-сайт выглядят и доступны следующим образом:

292.168.0.1./website (Just an example IP)
292.168.0.1./forum

Вопрос:

Как я могу добиться следующего?

crazywebsite.com => 292.168.0.1./website
forum.crazywebsite.com => 292.168.0.1./forum

Таким образом, когда вы записываете домен, который я купил, вы видите содержимое веб-сайта (конечно, вместо того, чтобы обращаться к нему по IP-ссылке).

Есть идеи или ссылки, как это сделать?

В настоящее время я пробовал следующее:

Добавлены настройки в:

/ и т.д. / apache2 / сайты-доступные / по умолчанию

кому:

# website
 <VirtualHost *:80>                                                              
     ServerName crazywebsite.com                                                                      
     ServerAlias crazywebsite.com                                                   
     DocumentRoot /var/www/website                                       
 </VirtualHost>

 <VirtualHost *:80>                                                              
     ServerName www.crazywebsite.com                                                                      
     ServerAlias www.crazywebsite.com                                                   
     DocumentRoot /var/www/website                                       
 </VirtualHost>

 # forum
 <VirtualHost *:80>                                                              
     ServerName forum.crazywebsite.com                                                                      
     ServerAlias forum.crazywebsite.com                                                   
     DocumentRoot /var/www/forum                                       
 </VirtualHost>

 <VirtualHost *:80>                                                              
     ServerName www.forum.crazywebsite.com                                                                      
     ServerAlias www.forum.crazywebsite.com                                                   
     DocumentRoot /var/www/forum                                       
 </VirtualHost>

Спасибо заранее!

Редактировать:

Как подсказал @Sven, я сделал свои записи A на GoDaddy.com. Может ли кто-нибудь подтвердить, что это правильно? Я создал два домена NS1 и NS2 для серверов имен (на всякий случай) и один «реферал», который мне понадобится как поддомен.

Требуется ли мне выполнить какие-либо другие настройки на моем сервере Debian (например, BIND9 и так далее?), Или мне просто нужно подождать, пока не обновится DNS.

РЕДАКТИРОВАТЬ:

Эти настройки РАБОТАЮТ. Теперь единственная проблема, которая у меня есть, это то, что я не могу указать http://crazywebsite.com на 123.456.789.000/mywebsite. Вместо этого всегда отображается корневая папка «/». Какие-либо предложения?

Вам необходимо добавить записи DNS для

  • crazywebsite.com
  • www.crazywebsite, com
  • Форум...
  • www.forum ...

в вашу зону DNS в центре управления GoDaddy, например с A рекорд для crazywebsite.com и CNAMEs для всего остального, указывая на crazywebsite.com (но четыре A записи тоже будут работать).

Вместо добавления двух виртуальных хостов на сайт (/website и /forum) следует сделать следующее:

<VirtualHost *:80>                                                              
     ServerName  crazywebsite.com                                                                      
     ServerAlias www.crazywebsite.com                                                   
     DocumentRoot /var/www/website                                       
 </VirtualHost>

 # forum
 <VirtualHost *:80>                                                              
     ServerName forum.crazywebsite.com                                                                      
     ServerAlias www.forum.crazywebsite.com                                                   
     DocumentRoot /var/www/forum                                       
 </VirtualHost>

Я решил свою проблему, и вот решение для всех, кому это нужно:

1. Привяжите свой домен к своему IP на сервере Debian.

Сначала вам нужно привязать свое доменное имя к вашей машине Debian. Таким образом, ваш сервер Debian знает, что ему нужно ответить этому домену. Открыть и отредактировать / etc / hosts в следующий файл:

127.0.0.1               localhost.localdomain localhost                                                                                                                   
123.456.789.000         crazywebsite.com # of course, in stead of 123.456.789.000 you type the IP of your Debian server

2. Настройте виртуальные хосты для доменов и поддоменов.

Затем вы заходите в настройки apache и настраиваете виртуальные хосты своего домена и поддомена. Таким образом вы сможете указать каждому домену, на какую именно папку на вашем сервере будет указывать. Пример:

crazywebsite.com => 292.168.0.1./website forum.crazywebsite.com => 292.168.0.1./forum

Для этого вам нужно открыть файл / и т.д. / apache2 / сайты-доступные / по умолчанию и отредактируйте его следующим образом:

# This is the default  content of the file
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        <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 /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
# END: Default content of the file

# Your custom domain and subdomain content below this line
# website
 <VirtualHost *:80>                                                              
     ServerName crazywebsite.com                                                                      
     ServerAlias www.crazywebsite.com                                                   
     DocumentRoot /var/www/website                                       
 </VirtualHost>

 # forum
 <VirtualHost *:80>                                                              
     ServerName forum.crazywebsite.com                                                                      
     ServerAlias www.forum.crazywebsite.com                                                   
     DocumentRoot /var/www/forum                                       
 </VirtualHost>

3. Убедитесь, что ваш домен с «WWW» и без «WWW» указывает на одну и ту же папку.

Это была проблема, с которой я столкнулся после выполнения всех этих шагов. Только мой www.crazywebsite.com указал на / var / www / website, но crazywebite.com версия по-прежнему указывала только на / var / www.

Решение - перейти в следующий каталог:

/ var / www /

и создать .htaccess файл, который позволит как при вводе "crazywebsite.com" и "www.crazywebsite.com"перенаправить на ваш / var / www / website папка. ServerName crazywebsite.com ServerAlias ​​www.crazywebsite.com UseCanonicalName On

RewriteEngine     On
RewriteCond %{HTTP_HOST}   !^crazywebsite\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://crazywebsite.com/$1 [L,R]

Свен предложил добавить записи «forum» и «www», указывая на ваш VPS Site5. Они вам нужны, а не «ns1» и «ns2» - GoDaddy в настоящее время является вашим сервером имен, поэтому пока не беспокойтесь о создании собственного DNS.

Конфигурации Apache, предложенной Свеном, вполне достаточно. У вас почти наверняка уже есть в файле ports.conf:

NameVirtualHost *:80