Это заметка для тех, кто пользуется услугами виртуального хостинга для размещения своих сайтов, задумывается о выборе другого хостинг-провайдера, но не знает как выполнить перенос сайтов и с чего вообще начать. Она кратко описывает наш опыт выбора нового хостинг-провайдера и процедуры переноса блога на движке WordPress и форума на движке phpBB на мощности этого хостера.
Начну с того, что недавно я получил письмо от российского интернет-хостера SmartApe с предложением о сотрудничестве. Так как ранее об этом хостере я ничего не слышал, стал с любопытством изучать предлагаемые им услуги. Конкретно меня интересовали услуги виртуального хостинга для потенциального размещения сайтов нашего блога и форума. Не то, чтобы у нас стояла какая-то сверхзадача по смене хостера по причине того, что на текущий момент наш хостер нас чем-то явно не устраивал. Ситуация на перспективу выглядела так, что с текущим положением вещей нам пришлось бы менять тарифный план на более дорогостоящий, так как, по мере увеличения контента блога, рос и объём используемого на хостинге дискового пространства, к тому же показатели посещаемости с начала перехода на платный хостинг медленно, но верно увеличивались (спасибо нашим читателям).
Изначально при переходе с WordPress.com на платный хостинг IHC.ru был выбран самый скромный тарифный план "Лёгкий", которого хватало до определённого момента, пока не стало ясно, что в силу вышеописанных причин и повышенной активности DDoS-ботов, нам таки придётся сменить тарифный план на более серьёзный. И к моменту написания этой статьи мы уже несколько месяцев использовали тарифный план "Оптимальный" с соотношением ограничений и стоимости, которые хорошо видно на скриншоте, сделанном на сайте хостера
Однако результаты работы второй половины прошлого года показали, как я уже говорил, не очень приятную активность всевозможных сетевых ботов, которые периодически "долбили" блог тысячами запросов. По результатам этих атак хостер слал нам грозные письма, как правило, с показателями высокой загрузки процессора серверов хостинга и предупреждением о возможной блокировке услуги, если мы таки не разберёмся с этими злодеями. Испробованные всевозможные плагины WordPress (бесплатные) по автоматизации блокировок либо не работали вовсе, либо были мало-эффективными, но при этом прилично нагружали движок блога. Всё это заставляло периодически анализировать логи посещаемости за прошлые сутки, выявлять IP адреса с большим количество запросов и добавлять их в директивы .htaccess. Вся эта канитель порой удручала и где-то на заднем фоне стала созревать мысль о поиске альтернативных вариантов хостинга. Но всё это была предыстория, вернёмся в настоящее время…
Знакомимся со SmartApe. Уровень цен
Начав изучать возможности, предлагаемые другим российским хостером SmartApe, я пришёл к мысли, что момент смены хостера "назрел" и SmartApe - это действительно заслуживающий внимания кандидат на роль нового хостера. Чтобы не быть голословным, я покажу ценник на услуги виртуального хостинга у SmartApe, благо, что выше уже был представлен ценник IHC и сравнивать есть с чем.
Как видим, цены довольно приемлемые, а при оплате сразу за 3 года, можно сказать смешные. К тому же, если вы в данный момент находитесь в стадии выбора хостинга для новых проектов, то, полагаю, будет удобным и наличие месячного тестового периода на бесплатной основе.
Безлимитный хостинг
Здесь же мы увидим характеристики хостинга…
Очевидно, что заявленное хостером отсутствие ограничений на дисковое пространство/количество сайтов/доменов/количества и места под базы MySQL и т.д., это очень интересное предложение, которое позволит нам больше не задумываться о смене тарифного плана из-за того, что по мере роста наших сайтов возрос и размер хранимых данных. Полагаю, что это будет интересная информация и для тех, кто вынужден был перебраться на более дорогостоящий VSP из-за подобных ограничений.
Когда же я увидел, что под аккаунт хостинга выделяется 1GB оперативной памяти, мне стало интересно, - а на каком объёме ОЗУ работали наши сайты у IHC. Здесь меня ждало ещё одно удивление, когда я узнал, что на IНC предоставляется всего 128MB согласно условиям их публичной оферты. Здесь, как говорится, цифры говорят сами за себя.
Железо
Теперь посмотрим, что SmartApe говорит о ЦОД, в котором будут крутиться наши сайты…
Защита от DDoS
Информация о предоставляемой ЦОД-ом, в котором работает хостер SmartApe, защите от DDoS-атак, на мой взгляд, может стать одним из значимых аргументов при выборе хостера. Процитирую источник:
Между SmartApe и ЦОД Оверсан достигнута договорённость о защите нашего оборудования от DDoS-атак. Для защиты от сетевых атак применяется ряд фильтров, подключенных к интернет-каналу с большой пропускной способностью. Фильтры действуют таким образом, что последовательно анализируют проходящий трафик, выявляя нестандартную сетевую активность и ошибки. В число анализируемых шаблонов нестандартного трафика входят все известные на сегодняшний день методы атак, в том числе реализуемые и при помощи распределённых бот-сетей.
Вспоминая ранее описанные обстоятельства постоянной, практически рукопашной, борьбы с этой бедой сомнений в правильности выбора хостера у меня уже почти не осталось.
Лицензия
Разумеется, при выборе хостера всегда стоит обращать внимание на наличие действующей лицензии на оказание соответствующих услуг. Как я уже и говорил, SmartApe это российский хостер и ООО «Смарт Эйп» ведет деятельность в полном соответствии с требованиями законодательства РФ, ему выдана лицензия на оказание телематических услуг связи Роскомнадзора (Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций) за номером 106256.
Заказываем услугу хостинга
Лично меня указанные выше аргументы вполне убедили. Почитав отзывы клиентов о работе SmartApe (в общем и целом положительные) на нескольких разных сайтах, занимающихся обзорами хостингов, мы приняли решение о переезде на этот хостинг. И поэтому далее будет рассмотрен процесс заказа услуги хостинга и описаны процедуры, необходимые для переноса уже функционирующего блога WordPress и форума phpBB на мощности нового хостинга на реальном примере (перенос нашего блога и форума).
Итак, переходим на сайт SmartApe (обязательно по нашей ссылке), и на главной странице жмём большую кнопку "ЗАКАЗАТЬ". Откроется простая форма заказа услуги хостинга. Я выбрал вариант регистрации с бесплатным тестовым периодом и пока без привязки к доменному имени наших сайтов. На время тестового месячного периода под наши задачи будет создан домен в зоне smrtp.ru.
В процессе регистрации укажем пароль и email, на который через несколько минут придёт письмо об успешной регистрации и информация о логине вида sa*****, который нужен для подключения к панели управления заказами/оплатами по адресу https://cp.smartape.ru
Затем сразу придёт второе письмо, с информацией об активации услуги "Бесплатный хостинг"…
В этом же письме будет изложена информация об учётной записи для доступа к активированной услуги виртуального хостинга, адрес панели управления этим хостингом, а также назначенном IP адресе, FQDN имён серверов NS, FTP, MySQL.
Планируем процедуру миграции сайтов
Теперь у нас на руках есть все учётные данные, необходимые для работы с новым хостингом, и мы можем приступить к процедуре миграции наших сайтов со старого хостинга. Справедливости ради стоит сказать, что SmartApe может взять на себя перенос ваших сайтов силами специалистов тех.поддержки при условии, что вы предоставите им полный административный доступ к своему старому хостингу, и эта услуга, как я понял, бесплатна. Однако в нашем случае, для наглядности, перенос будет выполнятся нами самостоятельно, прибегая к помощи тех.поддержки нового хостера для получения консультаций по правильному планированию переноса и в случае возникновения каких-то сложностей.
Итак, для инициации процесса переноса сайтов в панели управления заказами хостинга (выбираем Центр поддержки > Список запросов > Создать) мной был создан запрос с категорией Техническая поддержка, где я изложил информацию о том, что хочу выполнить перенос сайтов с другого хостинга и попросил дать рекомендации о более правильном порядке действий.
Служба тех.поддержки уже через несколько минут ответила на запрос, где изложила план действий. Его я и буду использовать в дальнейшем.
- Создаём записи о WWW-домене
- Переводим сайты в режим обслуживания
- Копируем файлы сайтов со старого хостинга на новый в ~/www/
- Копируем базы данных со старого хостинга на новый
- Меняем конфигурационные файлы сайтов
- Делегируем домен новому хостеру
Поехали…
Создаём записи о WWW-домене
Переходим в панель управления нашим виртуальным хостингом по адресу, указанному во втором письме, которое мы ранее получили от хостера (в моём случае это https://shared-19.smartape.ru), аутентифицируемся пользователем вида user99999 (имя и пароль пользователя в этом же письме). В панели управления переходим в раздел World Wide Web > WWW домены и создаём запись о новом домене, где указываем информацию о нашем домене
Обязательно включаем поддержку PHP, так как без неё наши движки форума и блога работать не будут. Так как в нашем случае у домена it-kb.ru имеются поддомены (blog и forum), мы разместим их в отдельных каталогах. Для того, чтобы эта возможность работала, при настройке нашего основного домена в параметре Авто поддомены нужно выбрать значение В отдельной директории. Сохраним информацию об основном домене и по аналогии создадим соответствующие нужные нам поддомены
После создания домена и поддоменов на хостинге в папке ~/www/ будут автоматически созданы каталоги под файлы этих доменов. Доступ к этим каталогам можно будет получить через Инструменты > Менеджер файлов
Теперь инфраструктура под файлы наших сайтов готова и можно приступать к их копированию со старого хостинга, предварительно ограничив доступ к сайтам.
Переводим сайты в режим обслуживания
Перед тем, как копировать файлы со старого хостинга на новый, мы должны сделать так, чтобы на старом хостинге (именно туда ещё пока ведут записи DNS нашего домена) интернет-пользователи не смогли больше модифицировать наши сайты. Если об этом не позаботиться, то может получиться так, что часть данных, например, новые комментарии в блоге, сообщения в форуме, которые были добавлены пользователями после копирования баз данных на новый хостинг будут потеряны. Для того, чтобы ограничить доступ к сайтам, мы переведём наши сайты в режим обслуживания.
Для блога на WordPress (в нашем случае используется версия 4.4) для возможности включения режима обслуживания существует целый ряд бесплатных плагинов. Я выбрал один из самых простых - плагин Maintenance и установил его в панели управления блогом.
После активации плагина в меню навигации панели администрирования появляется новый пункт Maintenance, в котором одним щелчком мыши можно ограничить доступ к блогу
После этого, при обращении интернет-пользователей к сайту будет выдано соответствующее оповещение (внешний вывод страницы обслуживания можно изменить при желании).
<
p align="center">***
Для форума phpBB (в нашем примере используется версия 3.0) функция перевода в режим обслуживания уже встроена в движок. Авторизуемся на форуме с правами администратора и переходим в Администраторский раздел, где на вкладке Общие > Настройка конференции > включим опцию Отключить конференцию.
После этого доступ интернет-пользователей к форуму будет органичен…
Теперь со спокойной душой можем приступать к процедуре копирования файлов и баз данных наших сайтов на новый хостинг.
Копируем файлы сайтов со старого хостинга на новый
На старом хостинге, используя функцию архивации был создан полный архив сайтов, включая директории сайтов со скриптами блога и форума, а также дампы баз данных MySQL. После загрузки архива со старого хостинга я перепаковал в файлы в отдельный архив для загрузки файлов на новый хостинг.
Вернёмся в веб-панель управления виртуальным хостингом в раздел Инструменты > Менеджер файлов. В списке папок и файлов откроем папку ~/www/ и используем кнопку Закачать для загрузки архива с нашими файлами на хостинг.
В моём случае попытки загрузки файла большого размера каждый раз приводили к ошибке разрыва соединения со стороны сервера. Техподдержка подсказала, что в таком случае рекомендуется использовать передачу файлов по протоколу FTP (учётные данные для доступа к FTP мы получили ранее в письме об активации услуги хостинга). После успешной загрузки архива по протоколу FTP возвращаемся в веб-консоль и здесь-же, в Менеджере файлов используем кнопку Извлечь для распаковки содержимого нашего архива в текущем каталоге ~/www. После извлечения не забываем удалить архив из каталога ~/www. В конечном итоге мы получим туже структуру файлов, что и на старом хостинге:
Файлы скопированы, теперь перейдём к копированию баз данных MySQL
Копируем базы данных MySQL со старого хостинга на новый
Для копирования баз данных MySQL от нашего блога и форума нам сначала потребуется на новом хостинге создать соответствующие новые пустые базы данных, а затем "залить" в них дамп сделанный на старом хостинге.
Создадим на новом хостинге пустую базу данных для блога WordPress в меню панели-управления Инструменты > Базы данных > кнопка Создать
Имя базы, имя пользователя и пароль зададим новые, либо можно использовать старые значения, которые можно найти в файле wp-config.php в каталоге файлов блога (в нашем случае файл расположен в каталоге ~/www/blog.it-kb.ru). Особое внимание стоит обратить на переменную DB_CHARSET (в нашем случае она имеет значение utf8). Это же значение должно использоваться при создании новой базы для блога на новом хостинге.
Обратите внимание на то, что при создании БД в имя базы и пользователя базы на этом хостинге автоматически будет добавлен префикс в виде логина вашего хостинга, например, в нашем случае будет создана БД user99999_blog с пользователем user99999_mydbuser. Именно поэтому в процессе создания БД постарайтесь не использовать длинных имён для базы и пользователя, так как это может вызвать ошибку создания базы.
Новая пустая БД создана на новом хостинге, и настало время выполнить импорт данных дампа БД снятого на старом хостинге. Для этого нам потребуется воспользоваться веб-утилитой phpMyAdmin, которая может быть вызвана из меню Доп.приложения > phpMyAdmin
Ссылка приведёт нас на URL-адрес аналогичный панели управления хостингом, только с другим подкаталогом, в нашем случае это https://shared-19.smartape.ru/myadmin/
При открытии ссылки браузер запросит учётные данные. Введём имя пользователя базы и пароль указанные нами чуть раньше при создании БД.
Далее перейдём в саму базу данных нажав на нее в левом меню PhpMyAdmin, после чего откроем вкладку Импорт. Здесь мы и сможем импортировать дамп БД из sql файла
В процессе импорта дампа БД могут возникнуть всевозможные ошибки, например ошибки связанные с различием версий MySQL на старом хостинге и на новом. В случае возникновения ошибок импорта самым правильным решением будет обращение к специалисту тех.поддержки нового хостинга. В моём случае, после успешного импорта ряда таблиц БД, процедура прервалась с ошибкой несовместимости порядка сортировки очередной импортируемой таблицы wp_commentmeta - #1273 - Unknown collation: 'utf8mb4_unicode_ci' :
После обращения по данной проблеме к тех.поддержке SmartApe мне любезно было предложено указать месторасположение файла дампа с последующей возможностью самостоятельно исправить дамп и выполнить импорт. Однако мы не ищем легких путей, и нам интересно своими руками заломать грабли, которыми мы получили полбу . В моём случае получилось так, что на старом хостинге использовалась версия MySQL 5.5.45-37.4-log - Percona Server (GPL), Release 37.4, Revision 042e02b а на новом хостинге более ранняя - 5.1.73 - Source distribution.
Пока ждал ответа от специалиста тех.поддержки, нашёл в Интернете решение похожее на то, что после получил от тех.поддержки. В этом решении предлагается открыть sql файл дампа в обычном текстовом редакторе с поддержкой кодировки моей БД (utf8), например Notepad++, и выполнить поиск и замену вхождений "utf8mb4_unicode_ci" на "utf8_unicode_ci". Однако специалист тех.поддержки подсказал более точное в данном вопросе решение – заменить все вхождения "utf8mb4" на "utf8". И действительно, в моём файле дампа оказалось 65 вхождений "utf8mb4_unicode_ci" и 77 вхождений "utf8mb4". Вывод напрашивался сам, и я произвёл замену всех вхождений "utf8mb4" на значение "utf8", после чего сохранил файл дампа с новым именем, оставив резервную копию неизменённого дампа (на всякий случай).
Затем, закрыв веб-консоль phpMyAdmin, я вернулся в консоль управления хостингом и удалил некорректно импортированную БД, а затем сразу заново повторно создал новую БД с прежними параметрами. После чего снова открыл консоль phpMyAdmin и повторно запустил процедуру импорта данных из уже исправленного файла дампа. На этот раз процесс завершился без ошибок.
***
Аналогичным образом создаём базу данных для форума phpBB в меню панели-управления нашим виртуальным хостингом.
После создания базы данных переходим в веб-утилиту phpMyAdmin и по аналогии с ранее описанным методом импортируем файл дампа (*.sql) базы данных форума, извлечённого из архива резервной копии сайтов, сделанной нами ранее на старом хостинге.
В моём случае импорт данных в базу форума прошёл без ошибок.
Меняем конфигурационные файлы сайтов
Итак, мы скопировали на новый хостинг и файлы и базы данных наших сайтов. И теперь нам нужно поправить конфигурационные файлы сайтов таким образом, чтобы они ссылались на новое месторасположение баз данных.
Как уже упоминалось ранее, настройки подключения блога WordPress к базе данных MySQL хранятся в файле wp-config.php (в нашем случае он расположен в каталоге ~/www/blog.it-kb.ru). С помощью кнопки Изменить на панели кнопок Менеджера файлов откроем файл на редактирование и найдём следующий фрагмент кода, где описаны все параметры базы данных блога:
...
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'user99999_blog');
/** MySQL database username */
define('DB_USER', 'user99999_mydbuser');
/** MySQL database password */
define('DB_PASSWORD', 'mydPassw0rd');
/** MySQL hostname */
define('DB_HOST', 'mysql-19.smartape.ru:');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
...
Как и говорилось ранее, здесь в параметре DB_CHARSET мы увидим кодировку, которую нам нужно было указать при создании базы на новом хостинге. Менять это значение здесь не нужно. Имя базы (DB_NAME), имя пользователя БД (DB_USER) и пароль (DB_PASSWORD) здесь изменим на те, что были использованы ранее при создании новой БД. В параметр DB_HOST впишем то имя, которое было указано в поле со странным названием Тип базы данных при создании новой БД на новом хостинге.
***
Для форума phpBB находим в Менеджере файлов файл config.php (в нашем случае он расположен в каталоге ~/www/forum.it-kb.ru). С помощью кнопки Изменить на панели кнопок Менеджера файлов откроем файл на редактирование и найдём следующий фрагмент кода, где описаны все параметры базы данных блога:
...
$dbms = 'mysql';
$dbhost = 'mysql-19.smartape.ru';
$dbport = '';
$dbname = 'user99999_forum';
$dbuser = 'user99999_fdbusr';
$dbpasswd = 'fdbPaSS0rd';
...
Здесь нужно изменить значение переменных $dbhost, $dbname, $dbuser и $dbpasswd на те значения, которые мы использовали ранее при создании новой БД под форум.
Данных настроек должно хватить для того, чтобы скрипты нашего блога и форума смогли подключиться и полноценно работать со своими базами данных на новом хостинге.
Делегируем домен новому хостеру
По большому счёту, управление DNS-доменом и управление виртуальным хостингом это две никак не связанные между собой услуги, которые хостеры просто зачастую для удобства предоставляют своим новым клиентам параллельно. То есть сам виртуальный хостинг может быть расположен у одного хостера, а DNS-зона нашего домена у совсем другого хостера, и при этом наши сайты будут работать в обычном режиме.
Как я понимаю, в большинстве случаев при смене хостера логично не только делегировать ему новый домен (разрешить управление записями в DNS-зоне), но и в дальнейшем выполнить процедуру полного трансфера домена между хостерами (разрешить владение и полное управление DNS-зоной), чтобы полностью "отвязаться" от старого хостера. Однако если процедура делегирования домена выполняется просто и требует лишь некоторого времени, то процедура полного трансфера домена может оказаться хлопотным занятием, так как, в случае если зона оформлена на физическое лицо, главный Регистратор зоны может потребовать нотариально заверенное заявление (с копией паспорта этого самого физического лица) на полный перенос зоны (трансфер) от одного хостера к другому.
Пример процедуры простого делегирования нашего домена (DNS-зоны) новому хостеру мы рассмотрим в рамках этой заметки, а вопрос трансфера зоны оставим для одной из следующих заметок.
Итак, на данный момент мы только перенесли файлы и базы наших сайтов на мощности нового хостера, но записи в DNS, по которым интернет-пользователи находят наш сайт в сети, продолжают указывать на то, что наш DNS-домен находится на NS-серверах старого хостера. Для того, чтобы перенаправить пользователей, обращающихся к нашему домену it-kb.ru, на IP-адрес нового хостера, у нас есть как минимум 2 варианта.
- Первый вариант - это зайти в панель управления нашей зоной DNS у старого хостера и вручную исправить IP-адрес расположения наших веб-сайтов, указав адрес выданный новым хостером. Этот вариант не предусматривает делегирования зоны, то есть зона по сути полностью остаётся у старого хостера.
- Второй вариант - делегировать домен новому хостеру, то есть изменить в свойствах нашей DNS-зоны адресы NS-серверов старого хостера на адресы NS-серверов нового хостера. В большинстве случаев, при таком варианте через некоторое время все записи ссылающиеся на наши сайты будут обновлены на новые IP-адресы автоматически.
Рассмотрим второй вариант. Для делегирования DNS-домена на новый хостинг нужно изменить для него NS-серверы в настройках панели управления старого хостинга, так как на данный момент именно он управляет нашим DNS-доменом. Впишем в качестве новых нейм-серверов для нашей DNS-зоны NS-серверы нашего нового провайдера SmartApe - ns1.smartape.ru и ns2.smartape.ru
После проделанных изменений необходимо подождать некоторое время, чтобы информация об изменениях DNS-зоны разошлась по нейм-серверам Интернета. На это может уйти от нескольких часов до суток. Самое время отдохнуть и оставить нашу задачу "дозревать"
Через некоторое время пробуем проверить с любого компьютера, подключенного к сети Интернет, информацию о том, какие серверы возвращаются нам в качестве NS-серверов при запросе информации о нашем DNS-домене. Сделать это можно, например, с помощью утилиты nslookup:
Как видим, теперь в качестве нейм-серверов для нашего домена уже отображаются DNS серверы нового хостера SmartApe и именно они будут отвечать интернет-пользователям, которые пытаются разрешить имя нашего домена и хосты в нашем домене.
Проверяем результат
Итак, на данный момент на хостинге SmartApe мы имеем копию файлов и баз данных наших сайтов, а также выполнили делегирование нашего домена новому хостеру. Отключаем на наших сайтах включённый ранее режим обслуживания, чтобы полностью восстановить доступ интернет-пользователей к контенту сайтов и проверяем полноценность работы сайтов на новом хостинге. Если результаты проверки нас вполне удовлетворяют, то можно запланировать удаление заказа услуги виртуального хостинга вместе с контентом сайтов у старого хостера.
С радостью сообщаю, что специально для читателей нашего Блога хостинг-провайдер SmartApe предоставляет промо-код, дающий право получить 50% скидку на услугу "Безлимитный хостинг" на первые 6 месяцев использования после регистрации.
Обратите внимание на то, что промо-код необходимо ввести первоначально при создании заказа на услугу "Безлимитный хостинг", даже если сначала Вы решили заказать тестовый период 1 месяц.
Для получения промо-кода обращайтесь к нам через форму обратной связи https://blog.it-kb.ru/cform/
сколько вам заплатили обезьянки за эту статью? пользуюсь их хостингом полгода, работает 1 сайт время от времени виснет нещадно, подумываю о смене хостинга. вобщем безлимитный хостинг такой безлимитный...
Если сайт кривой, то "от перестановки слагаемых сумма не меняется". Переходите на VSP, и желательно на какой-нибудь буржуйский хостинг, да подороже. Ведь это круто.
Алексей, можете подсказать, как вы защищаете форум PHPBB от спама?
Лично я устал бороться, Капча не помогает, фразы типа "сколько будет дважды три" имеют слабый эффект.
Спасибо!
Думаю тут всё дело в пред-модерации регистрации пользователей. Как минимум, нужно запретить автоматическую регистрацию. При регистрации новых пользователей из всех перепробованных мной методов является только вопрос-ответ. Причём вопрос должен быть не такой, на который вы получаете почти однозначный ответ в результате поискового запроса в нескольких разных поисковиках, а с заковыркой, возможно с дополнительными требованиями к тому как должен быть написан ответ. Посмотрите для примера регистрацию у нас. Такая мера защиты намного облегчает ситуацию.
Сейчас есть ещё гугл-сервис удобный reCAPCHA, который тоже пока действенен (посмотрите форму обратной связи у нас на блоге), - его, полагаю, тоже можно прикрутить к phpBB при желании.
Ещё один вариант, полное отключение встроенной регистрации форума и авторизация только через социальные сети (хотя этот вариант я пока щупаю и его подводные камни не известны).
Спасибо за ответ!
Отключить самостоятельную регистрацию это не вариант, но остальные шаги гляну.
Алексей, посмотрел как устроена ваша регистрация и сделал так же у себя. Это существенно уменьшило количество ботов, спасибо :)
Всё дело оказалось в вопросах и ответах "с заковыркой".