Перенос сайтов на новый сервер / Ошибки и Полученый опыт

Ну вот и настал последний день срока который предоставил хостер для переноса сайтов. ) Как всегда все делаю в последний день, даже и не знаю почему но ничего с этим поделать не могу. Что самое интересное прихожу в налоговую сдавать отчет, ну как всегда в последний день, а там таких как я … ) Видимо это массовое явление…

и так ближе к делу, в этой статье я расскажу с какими трудностями и ошибками я столкнулся перенося свои сайты на новый сервер.

Поехали.

Т.к. конфигурации серверов разные было принято решение переносить сайты по частям вручную.
Аккаунты на серверах с Shell доступами созданы, файлы сайтов перезалиты. Базы созданы , ооо стоп , не созданы.

Первые ошибки – при попытке создать базу данных.
«Внутренняя ошибка Can’t not connect to database»

поехали , с комментами сапорта хостера

Проверьте, пожалуйста, запущен ли сервис «MySQL»:
ISPmanager -> «Инструменты» -> «Сервисы»
Если сервис на запущен, то попробуйте его запустить.

Также проверьте корректность пароля к MySQL:
ISPmanager -> «Настройки сервера» -> «Серверы баз данных» -> «MySQL»

[http://forum.ispsystem.com/ru/showthread.php?t=6616]

ниче не помогло. решение: заходим в «Серверы баз данных» открываем сервер баз данных и просто жмем на сохранить или ОК . после этого все должно создаваться.

так, исправили , дальше, базы созданы и восстановлены.

новые ошибки

PHP Deprecated: Assigning the return value of new by reference is deprecated in

что было опробовано:

стандартные советы которые там были в сети, это отключить вывод ошибок PHP в
файле /usr/local/etc/php.ini

error_reporting = E_NONE
display_errors = Off

не помогли.

1. на новом сервер стоял PHP 5.3 версии , т.к. мои сайты упорно не хотели с ним работать было принято решение сносить 5.3 и ставить 5.2

из-за этого и ошибки.

инструкция от сапорта:

Ошибки в журнальном файле системных событий говорят о том, что в php-скриптах
используются функции/операторы, которые для установленной на сервере версии PHP
являются устаревшими. То есть, варианта два – либо править скрипты, либо
установить версию PHP, с которой данные скрипты работают без проблем.
Изменить версию PHP с 5.3.x на 5.2.x можно, например, так (предварительно
необходимо получить права суперпользоваля root, с помощью команд «su», «sudo -s»).

Находим точное название php-пакета, установленного в системе:

# pkg_info | grep php

Удаляем пакет, вместе со всеми зависимостями:

# pkg_delete -r phpX.XX

где phpX.XX – название пакета

Обновляем дерево портов:

# portsnap fetch update

Далее выполняем команды:

# cd /usr/ports/lang/php52
# make config – выбираем необходимые настройки
# make install clean – выполняем установку
# cd /usr/ports/lang/php52-extensions
# make config – выбираем необходимые настройки
# make install clean – выполняем установку
# apachectl restart – перезапускаем Apache.

и так PHP переустановлен , ошибка связанная с этим исчезла. Но на ее место пришли новые ошибки :D

Your PHP installation appears to be missing the MySQL which is required for WordPress.

как выяснилось не было установлено расширение PHP для работы с MySQL

устанавливаем:

/usr/ports/lang/php52-extentions и набрать в консоли:

# make deinstall(если расширения уже установлены)
# make configure

выбрать нужные расширения, затем установить их:
(здесь имеется ввиду расширения для работы с MySQL)

# make install clean

НЕ забываем что все нужно проделывать от супер юзера . команда su

дальше оказалось что /myadmin/ не установлен ,

Index of /myadmin

Parent Directory
config.inc.php

для решения проблемы идем в «Возможности» ищем phpmyadmin и устанавливаем его и активируем.
(ISP manager у меня)

и так вроде как мне показалось все должно было работать как надо, но как оказалось нет.

на этот раз проблемы с почтой, как потом выяснилось

Не работает механизм аутентификации sendmail`a, исправить похоже не представляется
возможным.

а здесь я опубликую все из переписок с сапортом может кому нибудь поможет:

——————————————————–

Попробуйте напрямую с сервера через ssh отправить тестовое письмо, например:

echo test | mail -v XXXX@gmail.com

Пришлите нам вывод команды, который у Вас отобразится, а также проверьте пришло ли
Вам тестовое письмо на почту XXXX@gmail.com.

$ echo test | mail -v XXXX@gmail.com
XXXX@gmail.com… Connecting to [x.x.x.x] via relay…
220 XXXX ESMTP Sendmail 8.14.4/8.14.4; Mon, 3 Jan 2011 23:50:21 +0200 (EET)
>>> EHLO planetafito.com.ua
250-XXXX Hello localhost [x.x.x.x], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> MAIL From: SIZE=28 AUTH=adm1n@XXXX
553 5.3.0 … No such user here
/home/XXXX/dead.letter… Saved message in /home/XXXX/dead.letter
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 XXXX closing connection
$

——————————————————–

После того как Вы создали почтовый ящик adm1n@XXXXX видно, что письмо
уходит без ошибок. Если Вам письмо не пришло, то просмотрите и проанализируйте,
что было записано в файл-лог maillog во время отправки тестового письма. Файл-лог
Вы можете найти перейдя по следующим директориям:

/var/log/maillog

——————————————————–

Судя по логам, что Вы прислали в них отсутствуют ошибки. Ссылки, которые Вы
прислали, Вам не подходят так как у Вас нет такой ошибки как: «Relaying denied. IP
name lookup failed». Очистите maillog командой:

echo » > /var/log/maillog

После этого попробуйте отправить почту, как через клиент (the bat), так и напрямую
с сервера (через ssh). Потом пришлите нам новый файл-логов с указанием времени
отправки и адресата, которому Вы отправляли, также обязательно проверьте пришла ли
Вам на почтовый ящик почта.

——————————————————–

Если у Вас отображается такая ошибка, то необходимо прописать PTR-запись для ip
x.x.x.x. Вам прописать mail.XXXXX. ?

——————————————————–

Данная ошибка скорее всего связана с работой mail-сервера senadmail.
Мы можем установить на сервер другой mail-сервер, но для этого нам придётся
полностью переустановить операционную систему и панель управления виртуальным
хостингом ISPmanager с полным уничтожением существующих на сервере данных.

——————————————————–

Также, как вариант, направьте поддомен mail.XXXX. на ip-адрес
x.x.x.x.

Для ip-адреса x.x.x.x со своей стороны мы прописали PTR
mail.XXXX.

——————————————————–

XXXXX – ваш почтовый домен

После выполнения команды
echo «XXXXX» > /etc/mail/relay-domains

необходимо перезапустить sendmail:
cd /etc/mail
make restart

Кроме этого попробуйте следующий вариант:
в /etc/mail/access дописать строчку
x.x.x.x OK (или RELAY)

и пересобрать access.db
# make maps

——————————————————–

В каталоге /etc/mail должен быть файл типа имя_хоста.mc, добавьте в него строку

define(`confAUTH_MECHANISMS’, `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl

потом выполните команды:

cd /etc/mail
make (создается имя.хоста.cf)
make install (имя.хоста.cf копируется в sendmail.cf)
make stop
make start

————————————

Не работает механизм аутентификации sendmail`a, исправить похоже не представляется
возможным. Остается попробовать следующие варианты:

1) Переустановить sendmail.
2) Установить альтернативный MTA, например exim.
3) Переустановить сервер и ПО полностью.

Пункты 1 и 2 можно выполнить через панель управления.

Вообщем переустановил sendmail и почта заработала :D