Let’s Encrypt Plugin в cPanel

Чтобы использовать Let’s Encrypt в cPanel, необходимо установить специальный плагин.
Для этого подключимся к серверу по SSH и выполним команду от root пользователя:

/scripts/install_lets_encrypt_autossl_provider

После установки плагина Let’s Encrypt, можно использовать его в меню управления AutoSSL (WHM >> Home >> SSL/TLS >> Manage AutoSSL).

Если понадобится удалить плагин, то выполним команду:

/usr/local/cpanel/scripts/uninstall_lets_encrypt_autossl_provider

Смотрите также:
Установка Certbot в Ubuntu

Решение предупреждения «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

Миграция с EasyApache 3 на EasyApache 4

На тесте выполнил миграцию с EasyApache 3 на EasyApache 4.

Перед началом процесса необходимо обязательно сделать резервную копию сервера.

Открыл панель «WHM» — «Home» — «Software» — «EasyApache 4» и нажал кнопку «Миграция».

Процесс миграции длился около 5 минут.
Так как на старом EasyApache 3 использовался Apache2.2, а на EasyApache 4 он не поддерживается, то он был обновлен автоматически на Apache2.4.
Конфигурация и версия PHP осталась прежней 5.5, но так как она устарела, то после миграции, я открыл это же меню (WHM — Home — Software — EasyApache 4), выбрал версию PHP 5.6, необходимые PHP модули пришлось наново выбрать, так как для каждой версии PHP они выбираются индивидуально.
Версию PHP 7 решил не выбирать чтобы меньше исправлять код сайтов.

После обновления PHP необходимо наново настроить файл php.ini, он находится по адресу /opt/cpanel/ea-php56/root/etc/php.ini, а на EasyApache 3 был тут /usr/local/lib/php.ini.

Лог файл ошибок Apache2 по умолчанию тут /etc/apache2/logs/error_log и тут /usr/local/apache/logs/error_log.

Лог файл ошибок PHP, почему-то в php.ini по умолчанию был указан без пути:

error_log = error_log

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

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

Смотрите также:
Решение PHP Warning «Permission denied /var/cpanel/php/sessions/ea-php56/»

Решение 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».

Как запустить ClamAV сканирование из командной строки на cPanel сервере

Приведу пример проверки public_html директории c удалением зараженных файлов:

/usr/local/cpanel/3rdparty/bin/clamscan -ri --remove /home/user/public_html

Аналогичным образом проверяются и другие директории.

Чтобы запустить проверку только mail и public_html директорий для всех пользователей:

/usr/local/cpanel/3rdparty/bin/clamscan -ri /home/*/mail
/usr/local/cpanel/3rdparty/bin/clamscan -ri /home/*/public_html

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

/usr/local/cpanel/3rdparty/bin/freshclam

Смотрите также мою статью:
Установка и использование ClamAV антивируса

Как перезапустить службы в Cpanel

Службы необходимо перезапускать через WHM интерфейс, открыв меню «Home» > «Restart Services».

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

/usr/local/cpanel/scripts/restartsrv_*

Если используется IPv6 и была выполнена команда:

service network restart

То IPv6 не заработает, чтобы решить проблему выполним:

/etc/init.d/cpipv6 restart (for cPanel & WHM version 11.52 and earlier)
/usr/local/cpanel/scripts/restartsrv_cpipv6 (for cPanel & WHM version 54 and later)

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

/etc/rc.d/init.d/service restart
systemctl restart service-name.service

Смотрите также:
Расположение файлов логирования cPanel

Настройка почтового адреса по умолчанию в cPanel

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

Для этого:

1) На главной странице cPanel в разделе «Электронная почта (Email)» выберем «Адрес по умолчанию (Default Address)»

2) В открывшемся окне укажем домен (если их несколько), выберем «Переслать на адрес электронной почты (Forward to Email Address)» и укажем на какой адрес пересылать.

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

Все.

Решение «Suspicious process running under user» и «Excessive resource usage»

Иногда некоторые нужные процессы используют много ресурсов на сервере и система начинает часто уведомлять об этом на email.
Например как в моем случае, после установки Zabbix агента начали приходить уведомления:

Suspicious process running under user zabbix
и
Excessive resource usage: zabbix

Чтобы исключить проверки Zabbix или других служб, необходимо в самом низу WHM панели открыть «ConfigServer Security & Firewall» и в разделе «lfd — Login Failure Daemon» где «Edit lfd ignore file» выбрать «csf.pignore, Process Tracking«, нажать «Edit» и в самом низу добавить путь к выполняемому процессу, например:

exe:/usr/sbin/zabbix_agentd

Чтобы применить изменения нажмем внизу кнопку «Change«.

Естественно если ресурсы использует неизвестный процесс, скрипт и т.д, то его необходимо исследовать.

Смотрите также мои статьи:
Как в Linux узнать PID процесса и убить его
Решение ошибки «LFD: Excessive resource usage»

Как включить Horde, SquirrelMail и RoundCube в cPanel

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

Настройки находятся в «WHM» — «Server Configuration (Конфигурация сервера)» — «Tweak Settings (Параметры настройки)» — вкладка «Mail»

Где можно указать On (включено) или Off (выключено) напротив Enable Horde Webmail, Enable RoundCube Webmail или Enable SquirrelMail Webmail.

Для сохранения изменений нужно нажать внизу кнопку «Save (Сохранить)«.