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

Перенести сайт с виртуального хостинга на vps

Я хочу перенести свой веб-сайт (скажем, www.mydomain.com), который в настоящее время работает на общем хостинге, на мой VPS-сервер, который я недавно купил.

Я создал домен в DirectAdmin моего VPS-сервера с тем же именем, что и доменное имя, которое в настоящее время работает на общем хостинге (www.mydomain.com). Теперь я загрузил веб-сайт и базу данных в этот домен на моем VPS, и он работает правильно.

Теперь мне нужно только сменить DNS с моего текущего виртуального хостинга на этот VPS. Но вот здесь меня это немного сбивает с толку.

Допустим, сервер VPS имеет IP-адрес 12.12.12.12. Тогда домен, который я создал через DirectAdmin, будет запущен 12.12.12.12/~admin/. Я уже создал DNS-запись (server.mydomain.com) на моем общем хостинге, которая указывает на IP-адрес сервера. Но когда я пытаюсь достичь этого рекорда, он не показывает мне веб-сайт, а только «Apache работает нормально».

Теперь, что мне нужно изменить в настройках DNS, чтобы домен указывал на веб-сайт, работающий на моем сервере VPS (12.12.12.12/~admin/)?

Сделав запись A для www.mydomain.com, указывающую на 12.12.12.12, вы только достигли цели - заставить веб-запросы доходить до сервера. Сервер должен быть настроен для приема запросов к хосту: www.mydomain.com и их обслуживания из вашей папки ~ / admin.

На самом деле, есть (по крайней мере) два способа добиться этого.

  1. Если это единственное веб-приложение, которое вы будете размещать на сервере, вы можете изменить корень документа на веб-сервере VPS (вы не сказали нам, какой именно, поэтому я не могу дать более подробную информацию), чтобы указать, где "/ ~ admin / "проживает.

РЕДАКТИРОВАТЬ: Вот как вы можете изменить docroot - он уже был задан в stackoverflow: https://stackoverflow.com/q/5891802/708198

  1. Если у вас несколько веб-приложений или вы по какой-либо причине не хотите изменять корневой каталог по умолчанию, вам необходимо создать виртуальный хост для домена. Вы можете легко найти в Интернете информацию о настройке виртуального хоста для любого веб-сервера, который вы используете на VPS.

Обычно на apache это можно сделать так. Пожалуйста, не копируйте / вставляйте это вслепую, я быстро сделал это со своего собственного веб-сервера:

Установите vhost по умолчанию:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin webmaster@mydomain.com
    DocumentRoot "/path/to/docroot"
    ServerName hostname.mydomain.com
        <Directory "/path/to/docroot">
      AllowOverride None
      Options None
      Order allow,deny
      Allow from all
    </Directory>
    ErrorLog "/var/log/apache/httpd-default-error.log"
    CustomLog "/var/log/apache/httpd-default-access.log" combined
</VirtualHost>

с последующим

<Virtualhost *:80>
    ServerAdmin webmaster@mydomain.com
    DocumentRoot "/path/to/webapp/admin/"
    ServerName www.mydomain.com
    ServerAlias mydomain.com
<Directory "/path/to/webapp/admin/">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymlinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>
    ErrorLog /var/log/www.mydomain.com/httpd-error.log
    CustomLog /var/log/www.mydomain.com/httpd-access.log combined
</Virtualhost>