Обновление phpBB 3.2.7 до phpBB 3.3.3

Однажды на одном сервере нужно было обновить форум phpBB 3.2.7 до версии phpBB 3.3.3, по этому опишу процесс как я это делал.

Читать далее «Обновление phpBB 3.2.7 до phpBB 3.3.3»

Обновление phpBB 3.1.x до phpBB 3.2.x

На тесте обновлю форум phpBB 3.1.9 до версии phpBB 3.2.2.

Системные требования phpBB 3.2 при необходимости можно посмотреть тут https://www.phpbb.com/support/docs/en/3.2/ug/

Обязательно делаем резервную копию базы и файлов форума.

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

Приступим к обновлению, скачиваем архив с новой версией phpBB 3.2.x и распаковываем его:

wget https://www.phpbb.com/files/release/phpBB-3.2.2.zip
unzip phpBB-3.2.2.zip

В распакованных данных форума удалим файл config.php и директории files/, images/, store/.

В данных phpBB что находятся на веб сервере удалим всё кроме директорий ext/, files/, images/, store/ и файла config.php.

Переместим оставшиеся скачанные данные в директорию с данными форума, согласимся на перезапись файла в директории ext/.

Если изменятся права на файлы и владелец, то например можно указать их так:

sudo chown -R www-data:www-data /var/www/forum/

Если база данных форума большая, то можно выполнить команду в корневой директории форума:

php ./bin/phpbbcli.php db:migrate --safe-mode

Откроем в браузере адрес форума добавив в конце /install/app.php/update или /install/database_update.php, выберем вкладку «Update», выберем «Update database only», запустим процесс обновления и дождемся завершения.

После успешного обновления удалим директорию install:

rm install

Смотрите также мои статьи:
Решение ошибки «A module already exists» и «The installer detected a timeout» при обновлении phpBB
Импорт и экспорт MySQL баз данных
Обновление phpBB 3.1.8 до phpBB 3.1.9
Обновление phpBB 3.0.x на phpBB 3.1.x
Прочее о phpBB

Решение ошибки «A module already exists» и «The installer detected a timeout» при обновлении phpBB

Обновлял однажды phpBB 3.1.9 до версии phpBB 3.2.2 и заметил следующую ошибку:

The installer detected a timeout
The installer has detected a timeout, you may try to refresh the page, which may lead to data corruption. We suggest that you either increase your timeout settings or try to use the CLI.

Очистил таблицу «phpbb_migrations» в базе форума:

TRUNCATE TABLE phpbb_migrations;

И снова запустил обновление, но получил уже другую ошибку:

A module already exists: UCP_AUTH_LINK_MANAGE

Стандартный модуль Profile естественно был установлен, его можно было отключить, но не удалить.
Поэтому, я нашел его в таблице «phpbb_modules» и удалил, тем самым заставив скрипт обновления думать что он не установлен:

SELECT * FROM `phpbb_modules` WHERE `module_langname` LIKE 'UCP_AUTH_LINK_MANAGE';

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

A module already exists: ACP_CONTACT_SETTINGS

Модуль Contact даже не был установлен, после этого я также нашел его в таблице и удалил, а также нашел и удалил еще раз UCP_AUTH_LINK_MANAGE, так как скрипт обновления его восстановил:

SELECT * FROM `phpbb_modules` WHERE `module_langname` LIKE 'ACP_CONTACT_SETTINGS';
SELECT * FROM `phpbb_modules` WHERE `module_langname` LIKE 'UCP_AUTH_LINK_MANAGE';

После удаления модулей из таблицы «phpbb_modules» я очистил таблицу «phpbb_migrations»:

TRUNCATE TABLE phpbb_migrations;

Запустил обновление phpBB и оно завершилось успешно.

Смотрите также:
Обновление phpBB 3.0.x на phpBB 3.1.x

Скрытие имени сайта в шапке phpBB

Делал как-то большой логотип в шапке форума phpBB и естественно имя сайта и описание было наложено на него и мешало.
Чтобы скрыть имя сайта и описание в директории активной темы (стиля) найдем файл /style/stylename/template/overall_header.html

Откроем его в текстовом редакторе и найдём в нем две следующие строки:

<h1>{SITENAME}</h1>
<p>{SITE_DESCRIPTION}</p>

Как раз они и отвечают за отображение имени сайта и описания в шапке форума, удалять их не будем, вдруг пригодятся, а просто закомментируем:

<!-- <h1>{SITENAME}</h1>
<p>{SITE_DESCRIPTION}</p> -->

После этого очистим кеш форума нажав на кнопку в пенели администратора. Все.

Обновление phpBB 3.1.8 до phpBB 3.1.9

Сегодня обновил форум phpBB 3.1.8 на phpBB 3.1.9 автоматическим пакетом обновления.

Ниже опишу порядок действий для выполнения обновления:

1) Сделаем резервную копию файлов и базы форума.
В Linux это можно сделать например командами:

sudo tar -cvjf backup_forum_files.tar.bz2 /var/www/forum/
mysqldump -u ПОЛЬЗОВАТЕЛЬ -h localhost -p БАЗА | gzip -c > backup_forum_base.sql.gz

2) Теперь нужно скачать архив с пакетом обновления «https://www.phpbb.com/downloads/#update».

3) Распакуем из архива только install/ и vendor/ в директорию с форумом. Если папка install находится в директории с форумом, он автоматически отключается, то есть никто на нем не будет писать и ходить.
Если файлы перемещали из терминала, то на них возможно будут установлены права владельца от которого перемещали и web сервер не сможет получить к ним доступ, поэтому укажем группу и владельца от которого работает web север командами:

sudo chown -R user:user /var/www/forum/install/
sudo chown -R user:user /var/www/forum/vendor/

4) Откроем в браузере ссылку на форум добавив к ней install, например http://example.com/forum/install/.
Теперь осталось нажать Update и следовать инструкциям.

Если в коде каких-то файлов вы делали изменения и они затрагиваются обновлением, об этому будет сообщено и предложено выбрать какую версию файлов оставить, на мой взгляд лучше ставить новую версию из обновления, а изменения потом внести после обновления сравнив оба файла например в Notepad++ с использованием плагина Notepad++ Compare plugin который показывает отличия в коде файлов.

Обновление phpBB 3.0.x на phpBB 3.1.x

Обновлял недавно phpBB 3.0.12 на 3.1.8, авто обновление тут не поможет, поэтому опишу по пунктам процедуру обновления:

1) Обязательно сделаем резервную копию файлов и базы данных форума. Cделаем стандартной темой prosilver, отключим остальные стили и модули, так как они не будут работать на новой версии phpBB.

2) Скачаем архив с новой версией phpBB с официального сайта «https://www.phpbb.com/downloads/».

3) На сервере удалим все файлы и папки форума кроме файла config.php и директорий images, files, store.

4) Распакуем скачанный архив, удалим файл config.php и директории images, files, store. Переместим остальные файлы на сервер.

5) В браузере откроем адрес форума указав на скрипт обновления базы, например http://FORUM/install/database_update.php и следуя инструкциям выполним обновление.
На этом этапе у меня произошла ошибка:

PHP Fatal error:  Uncaught exception 'Twig_Error_Loader' with message 'Unable to find template "login_body.html" ...
...

Подозреваю что информация в базе данных, в таблице phpbb_migrations не дала скрипту полностью выполнить обновление. По этому решил проблему восстановив старую базу форума, очистив эту таблицу phpbb_migrations через phpMyAdmin или можно sql запросом:

TRUNCATE TABLE phpbb_migrations

И снова выполнив скрипт обновления базы http://FORUM/install/database_update.php, который на этот раз выполнил обновление правильно.

По окончанию обновления удалим директорию install и очистим кеш через панель администрирования форума. Готово.

Смотрите также:
Решение ошибки «A module already exists» и «The installer detected a timeout» при обновлении phpBB

Установка OneALL Social Login в phpBB

Кратко опишу по пунктам как установить расширение OneALL Social Login, позволяющее входить на форум используя учетные записи социальных сетей.

Читать далее «Установка OneALL Social Login в phpBB»