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

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

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

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

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

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

1 ответ

Решение

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

Есть (по крайней мере) два способа сделать это на самом деле.

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

РЕДАКТИРОВАТЬ: Вот как вы можете изменить документацию - это уже спрашивали в 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>
Другие вопросы по тегам