Приветствую и извините, если это очень простой вопрос.
В настоящее время я купил домен (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 для
в вашу зону DNS в центре управления GoDaddy, например с A
рекорд для crazywebsite.com и CNAME
s для всего остального, указывая на 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>
Я решил свою проблему, и вот решение для всех, кому это нужно:
Сначала вам нужно привязать свое доменное имя к вашей машине 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
Затем вы заходите в настройки 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>
Это была проблема, с которой я столкнулся после выполнения всех этих шагов. Только мой 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