настройка субдомена на сервере Ubuntu


40

У меня есть сервер на mysite.no-ip.org. Все работает нормально, и у меня есть блог и owncloud, к которым я обращаюсь при написании mysite.no-ip.org/blog и mysite.no-ip.org/owncloud. Теперь я хочу создать субдомены, чтобы я мог написать blog.mysite.no-ip.org и owncloud.mysite.no-ip.org.

Я много изучал, и самым простым уроком был этот, которому я следовал. http://www.bcat.eu/blog/local-subdomains-under-ubuntu-linux-and-apache-2-4-tutorial/ За исключением того, что я не на моем сервере, но ssh на него удаленно, поэтому, если я использую localhost Я не могу видеть, работает ли это, я верю. Это мое первое препятствие, могу ли я следовать этому руководству, не присутствуя рядом с сервером?

Я также только что обнаружил записи CNAME, которые (я не совсем уверен) кажутся необходимыми для того, что я хочу сделать. Я использую no-ip.org, и я пытался следовать что-то вроде этого, но это не совсем понятно, либо https://support.uberflip.com/entries/235780-4-4-5-how-to-setup-a -cname переадресация # NOIP

У кого-нибудь есть указатели? Это довольно сомнительно для меня, и я понятия не имею, далек ли я от решения или действительно близок (по крайней мере, если бы я мог попробовать localhost, это было бы первым шагом для проверки моей конфигурации Apache, но я даже не могу этого сделать так как я сш).

В любом случае, спасибо за вашу помощь заранее. Любая помощь, ссылка приветствуется.

Ответы:


56

Это на самом деле очень легко.

Сначала убедитесь, что ваш DNS работает. Вы можете использовать A, AAAAили CNAMEзаписывать до тех пор , как он указывает на ваш IP - адрес.

Пожалуйста, проверьте, работает ли он, прежде чем продолжить! Это избавит вас от многих проблем. Вы можете проверить с помощью ping subdomain.mydomain.comили nslookup subdomain.mydomain.com. Если он указывает на ваш IP-адрес, вы в порядке.

Обратите внимание, что изменение DNS может занять до 24 часов. Если вы хотите продолжить сейчас, вы можете отредактировать файл hosts, чтобы вручную добавить поддомен. Обратите внимание, что это будет работать только для вашего текущего ПК, поэтому вы должны проверить свой DNS еще раз через 24 часа, чтобы убедиться, что он работает и в другом месте (не забудьте отменить изменения в файле hosts, прежде чем проверять).

Сделать это:

sudo nano /etc/hosts

добавьте строку вроде (замена IP и имени хоста конечно):

34.54.235.64 subdomain.mydomain.com

и сохраните файл.

Теперь обновите конфигурацию Apache2.

Просто добавление этого VirtualHost сделает:

<VirtualHost *:80>
    ServerName subdomain.mydomain.com
    DocumentRoot /var/www/subdomain.mydomain.com
</VirtualHost>

Теперь создайте /var/www/subdomain.mydomain.comи перезапустите Apache2:

mkdir -p /var/www/subdomain.mydomain.com
sudo service apache2 restart

включить сайт:

sudo a2ensite subdomain.mydomain.com

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


2
Отлично, это работает! Большое спасибо. Последний пункт, но это может быть из-за no-ip, мне удалось заставить его работать, но используя адрес blog-mysite.no-ip.org, когда я зарегистрировал поддомен. Я не могу написать blog.mysite.no-ip.org (сообщение: неверное имя хоста) ... сейчас, это потому, что no-ip хочет, чтобы я заплатил, или я сделал что-то не так?
user1983400

Я не знаю, позволяет ли no-ip создавать субдомены. Если они это сделают, это может занять 24 часа, прежде чем он заработает, как я сказал в своем ответе. Попробуй добраться до завтра снова. Кроме того, я вижу, что вы используете blog-mysiteсначала, а потом blog.mysite. Это не то же самое, поэтому, если вы выбрали первый, вам придется использовать тот. Не забудьте обновить вашу конфигурацию Apache2 в этом случае.
Луи Матейссен

Эй, да, извини, это то, что я имел в виду. No-ip позволил бы мне создать поддомен только с тире, а не с точкой. Это не-ip ограничивает мою бесплатную учетную запись с ними? Не должно быть причины, по которой ты не мог бы поступить иначе?
user1983400

Я так думаю. Я не использую no-ip. Если вы действительно хотите знать, вы должны связаться с их поддержкой. Вы также можете купить свой собственный домен (например, mydomain.com). Таким образом, вы получите полный контроль над DNS и сможете добавить столько поддоменов, сколько захотите. Это не так дорого, просто убедитесь, что вы не заказываете хостинг с ним (это делает его дорогим). Цены, как правило, в год, и я думаю, вы можете получить домен примерно за 10 $ / год.
Луи Матейссен

Я откатил последнее изменение, так как смена владельца на пользователя apache в корневом каталоге документа не требуется и может даже представлять угрозу безопасности. Достаточно дать доступ на чтение к каталогу.
Дан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.