Я пытаюсь выполнить миграцию со своего старого сервера (Сервер 1) от провайдера 1 на новый сервер (Сервер B) у провайдера 2, сохраняя процесс как можно более плавным.
Одна из первых вещей, которые я заметил в перенесенной мной тестовой папке, - это то, что несколько функций PHP не поддерживаются Сервером 2, например apache_request_headers (). Предположительно это связано с тем, что PHP не был скомпилирован как модуль Apache на сервере 2. Могут быть другие отличия, которые могут вызвать фатальные ошибки сценария, которых я еще не обнаружил. Оба сервера работают под управлением CentOS с WHM. Есть ли способ настроить новый сервер так, чтобы он был точно таким же, как старый, без этой специальной проверки?
Такие инструменты, как Puppet, Cfengine или Bcfg2, помогут вам в этом, если вы планируете делать это часто. Но это больше усилий, чем стоит для одной миграции, и вы действительно сможете сделать это, используя только резервные копии, которые вы храните. И вы должны были уже попрактиковаться в восстановлении из этих резервных копий, поэтому вам не следует задавать этот вопрос сейчас.
Мы перенесли веб-сервер Ubuntu 9.04 на Ubuntu 10.04, когда пару недель назад вышло из строя оборудование. Это была отличная проверка нашей стратегии резервного копирования, и мы узнали, что есть пара дополнительных вещей, которые мы, вероятно, должны резервировать (например, сценарии, которые запускают резервные копии, поэтому у нас есть документированный способ восстановления).
Но, по сути, вам нужен список всего программного обеспечения, установленного на вашем текущем компьютере, дамп баз данных (с включенной опцией create-databases!) И резервная копия / etc, / var / www, / home и всего остального, что вам сейчас нужно. .
Если вы говорите только об Apache и PHP, просто убедитесь, что версии совпадают, и скопируйте файлы конфигурации. Если какие-либо модули / расширения Apache или PHP отсутствуют, установите их заранее.
Ты можешь использовать phpinfo()
чтобы показать текущие конфигурации PHP и активные расширения.
Точно так же, если вы используете PHP как модуль, вы можете использовать apache_get_modules()
для вывода списка активных модулей Apache. В противном случае попробуйте:
apache2 -t -D DUMP_MODULES
или
httpd -M
В приведенных выше командах перечислены все активные модули. Чтобы проверить, какие статические модули включены, используйте:
httpd -l