Решение ошибки «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

Решение предупреждения «mismatch_cnt is not 0 on /dev/md*»

Заменил однажды нерабочий диск в программном RAID1, добавил его в рейд, он успешно синхронизировался, установил GRUB.
Через некоторое время получил email сообщение:

Subject: Cron <root@server> /usr/sbin/raid-check
WARNING: mismatch_cnt is not 0 on /dev/md2

В моем случае raid-check обнаружил что счетчик mismatch_cnt не равняется 0 для /dev/md2, а это может говорить о том что на диске возможно есть битые сектора, либо его просто нужно пересинхронизировать. Так как я установил GRUB после добавления диска в рейд, то это скорее и является причиной.

Пример просмотра счётчиков всех массивов:

cat /sys/block/md*/md/mismatch_cnt

Или каждого по очереди:

cat /sys/block/md0/md/mismatch_cnt
cat /sys/block/md1/md/mismatch_cnt
cat /sys/block/md2/md/mismatch_cnt

Просмотр состояния рейдов:

cat /sys/block/md*/md/sync_action

Если mismatch_cnt не равно 0 для какого либо массива, то можно попробовать его ресинхронизировать:

echo 'repair' >/sys/block/md2/md/sync_action

И проверить:

echo 'check' >/sys/block/md2/md/sync_action

Если понадобится отменить действие:

echo 'idle' >/sys/block/md2/md/sync_action

Посмотрим статус синхронизации и прочие данные массива:

cat /proc/mdstat

Если ошибки появляются из-за плохого диска, рекомендую посмотреть SMART и проверить его как я писал в этих статьях:
Диагностика HDD используя smartmontools
Тест диска в Linux на наличие ошибок и битых секторов

Смотрите также:
Решение проблемы с выпавшими дисками mdadm

Решение PHP Warning «Permission denied /var/cpanel/php/sessions/ea-php56/»

Однажды обновил EasyApache3 на EasyApache4 в cPanel и заметил в логах PHP следующее:

[29-Mar-2018 15:54:45 UTC] PHP Warning:  Unknown: open(/var/cpanel/php/sessions/ea-php56/sess_3d96o7nnlnnr473p8619vqkdm1, O_RDWR) failed: Permission denied (13) in Unknown on line 0
[29-Mar-2018 15:54:45 UTC] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/cpanel/php/sessions/ea-php56) in Unknown on line 0

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

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

chmod 777 /var/cpanel/php/sessions/ea-php56

Либо открыть конфигурацию PHP, например в редакторе nano:

nano /opt/cpanel/ea-php56/root/etc/php.ini

Найти:

session.save_path = "/var/cpanel/php/sessions/ea-php56"

И изменить на:

session.save_path = "/tmp"

Что раньше и было на старом EasyApache3 в конфигурации PHP /usr/local/lib/php.ini.

После этого предупреждение не появлялось.

Смотрите также:
Миграция с EasyApache 3 на EasyApache 4

Решение предупреждения «The MaxMind Geolite databases will soon be deprecated» в Cpanel

Однажды запустил проверку безопасности сервера нажав «Check Server Security» в «Main (Главная)» — «Plugins (Подключаемые модули)» — «ConfigServer Security & Firewall» и увидел предупреждение:

Firewall Check
CC_OLDGEOLITE option check
The MaxMind Geolite databases will soon be deprecated, disable CC_OLDGEOLITE to start using the new Geolite2 databases

Эта опция определяет какую использовать базу, старую MaxMind Geolite или новую MaxMind Geolite2.
Если опция «CC_OLDGEOLITE» равна 1, что и есть в моем случае, то используется старая, а если 0, то новая.

Чтобы включить использование новой, откроем конфигурацию CSF например в текстовом редакторе nano:

nano /etc/csf/csf.conf

Найдем опцию CC_OLDGEOLITE и изменим её значение с 1 на 0:

CC_OLDGEOLITE = "0"

В редакторе nano клавиши Ctrl+X используются для выхода, а y/n и Enter для сохранения или отмены изменений.

После изменений перезапустим CSF, нажав «Firewall Restart» в меню «Main (Главная)» — «Plugins (Подключаемые модули)» — «ConfigServer Security & Firewall».

Как сделать загрузочную флешку с Windows используя UltraISO

Опишу процесс создания загрузочной флешки с Windows используя UltraISO:

1) Запустим UltraISO, выберем необходимый ISO образ операционной системы нажав меню «File» > «Open».

2) Подключим USB флешку к компьютеру, в UltraISO откроем меню «Bootable» > «Write Disk Image…».
Там где «Disk Drive» выберем USB флешку и нажмем ниже кнопку «Write» для запуска процесса копирования файлов из ISO образа.
Перед началом копирования, все данный с флешки будут стерты.

По завершению процесса загрузочная USB флешка будет готова.

Смотрите также:
Как сделать загрузочную флешку с Windows

Сброс конфигурации HP A5800

На тесте сброшу конфигурацию на коммутаторе HP A5800 Series Switch JC103A.

И так, подключимся к устройству и посмотрим какие файлы находятся в памяти устройства:

dir

По умолчанию конфигурация сохраняется в файл config.cfg, допустим что так и есть, значит мы удалим её:

delete config.cfg

Файл с конфигурацией мы удалили, теперь перезагрузим устройство:

reboot

На предложение сохранить конфигурацию откажемся и на следующем вопросе согласимся на перезагрузку:

This command will reboot the device. Current configuration will be lost, save current configuration? [Y/N]:n
This command will reboot the device. Continue? [Y/N]:y

Готово, коммутатор запустится со стандартной конфигурацией, после чего можно приступить к настройке, например как я описывал в статье — Настройка HP 5800

Можно попробовать также сбросить конфигурацию так:

reset saved-configuration
reboot

Либо через Boot menu, для его открытия, при включении устройства нажмем Ctrl+D и нажав цифру 5, выберем в меню сброс конфигурации:

5. Restore to factory default configuration

Потом, нажмем 0, чтобы выбрать перезагрузку:

0. Reboot

При запуске коммутатора убедимся что конфигурация сбросилась:

display current-configuration
display saved-configuration

Решение ошибки «The transceiver type is not supported by port hardware» на HP A5800

Заметил однажды на коммутаторе HP A5800 Series Switch JC103A, при вставке модуля Foxgate SFP-1SM-1550nm-10SC (10km), следующую ошибку:

%Apr 26 12:18:56:384 2000 HP OPTMOD/4/MODULE_IN:
 GigabitEthernet1/0/24: The transceiver is UNKNOWN_SFP_PLUS.
%Apr 26 12:18:56:524 2000 HP OPTMOD/5/CHKSUM_ERR:
 GigabitEthernet1/0/24: The checksum of transceiver information is bad!
%Apr 26 12:18:56:674 2000 HP OPTMOD/3/TYPE_ERR:
 GigabitEthernet1/0/24: The transceiver type is not supported by port hardware!

Как вариант можно попробовать выполнить команду:

transceiver phony-alarm-disable

Но в моем случае эта команда не помогла.
Также заметил, что ошибка не возникала, при вставке аналогичного модуля не на 10км, а на 3км — Foxgate SFP-1SM-1550nm-3SC 3km.

Проблему решил обновлением прошивки коммутатора, как я это делал смотрите в статье — Инструкция по прошивке коммутатора HP A5800
Прошивку обновил с «A5800_5820X-CMW520-R1809P11» на «A5800_5820X-CMW520-R1810P13».
После обновления, оба модуля работали и в консоли не появлялись ошибки.

Смотрите также:
Использование сторонних SFP модулей в коммутаторах Cisco

Отправка голосовой почты Asterisk на несколько email

Допустим голосовая почта настроена как я описывал в статье — Настройка голосовой почты в Asterisk.
Имеется следующий контекст:

[voicemailcontext]
207 => 1111,Username,test@example.com,,attach=yes|tz=ua|delete=yes

Если необходимо отправить голосовое сообщение сразу на несколько email адресов, то вместо test@example.com укажем например testmail:

[voicemailcontext]
207 => 1111,Username,testmail,,attach=yes|tz=ua|delete=yes

Потом откроем файл /etc/aliases в текстовом редакторе:

sudo nano /etc/aliases

И укажем алиасы для testmail:

testmail: support@example.net,user@example.net

Чтобы изменения вступили в силу, необходимо обновить базу алиасов командой:

cd /etc
sudo newaliases

Готово, Asterisk будет отправлять сообщение на testmail, а оно автоматически пересылаться на указанные адреса.

Смотрите также:
Перенаправление почты пользователя root

Настройка ProFTPd с использованием MySQL базы данных пользователей

Допустим есть установленный ProFTPd сервер, например как я описывал в этой статье — Установка и настройка ProFTPd в Ubuntu
А также установлен MySQL сервер, например как я описывал в этой статье — Установка и настройка MySQL сервера на Ubuntu

Приведу пример настройки ProFTPd с использованием MySQL базы данных пользователей.

Читать далее «Настройка ProFTPd с использованием MySQL базы данных пользователей»