Решение 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» и «Excessive resource usage»»

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

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

Читать далее «Как включить Horde, SquirrelMail и RoundCube в cPanel»

Решение ошибки Cpanel::MailAuth: cphulk blocked login for user to access service ‘mail’

Заметил однажды что не открывается почта из Cpanel через веб Roundcube, SquirrelMail, Horde, а также нельзя подключиться к почте из PHP скриптов.

Читать далее «Решение ошибки Cpanel::MailAuth: cphulk blocked login for user to access service ‘mail’»

Настройка Cron заданий в cPanel и WHM

Cron задания добавляются отдельно для каждого пользователя через cPanel и WHM web-интерфейс, а именно в cPanel «Advanced» -> «Cron Jobs«.
Через WHM панель «Home» -> «Server Configuration» -> «Configure cPanel Cron Jobs» (Главная -> Конфигурация сервера -> Настроить запланированные задания в cPanel)

Но есть также системные задания которые нельзя увидеть через панель.
Их можно увидеть подключившись через SSH к серверу и выполнив команду от root пользователя:

crontab -e

либо от другого пользователя через sudo:

sudo crontab -e

В редакторе nano комбинация клавиш Ctrl+X служит для выхода, а y/n для сохранения или отмены изменений.
Сам файл с заданиями находится по пути /var/spool/cron/root

Если при выполнении какого либо задания приходит надоедливый отчет на e-mail, то вывод результата выполнения задания можно скрыть добавив к концу нужной команды код:

>/dev/null 2>&1

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

service crond restart

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