Решение ошибки Permission denied: .htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Заметил как-то следующую ошибку:

[Mon Sep 05 10:24:38 2016] [crit] [client 192.168.1.1] (13)Permission denied: /home/user/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

До появлением ошибки я перемещал файлы через sudo (от root пользователя) и чтобы вернуть права выполнил команду:

sudo chown user:user -R /home/user/public_html

Которая изменила владельца на указанного во всех подпапках и файлах, однако на саму директорию public_html (не её содержимое) должен был быть указан другой владелец, из-за чего apache2 и писал что доступ запрещен. По этому если указать на public_html пользователя и группу от которого работает apache2, то ошибка исчезнет.
Может также помочь указание прав 777 на эту папку, это даст полный доступ всем пользователям (но этот вариант лучше не использовать в целях безопасности).

Установка и использование Partclone

Partclone — утилита для клонирования и восстановления разделов диска.

Выполним установку Partclone в Ubuntu:

sudo apt-get update
sudo apt-get install partclone

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

partclone.btrfs (btrfs)
partclone.ext2/ext3/ext4 (ext2, ext3, ext4)
partclone.reiserfs (reiserfs 3.5)
partclone.reiser4 (reiser 4)
partclone.xfs (xfs)
partclone.ufs (ufs/ufs2)
partclone.jfs (jfs)
partclone.hfs+/hfsplus (hfs plusfs)
partclone.vmfs (vmfs)
partclone.ntfs (ntfs)
partclone.fat12/fat16/fat32 (fat12, fat16, fat32)
partclone.exfat (exfat)
partclone.minix (minix)
partclone.f2fs (f2fs)
partclone.nilfs2 (nilfs2)

Приведу возможные опции запуска:

-s ФАЙЛ, --source ФАЙЛ

Источник данных, указывается файл или раздел который будет клонироваться или из которого будут восстанавливаться данные.

-o ФАЙЛ, --output ФАЙЛ

Выходной файл в который будут сохраняться данные или раздел на который будут восстанавливаться данные.

-O ФАЙЛ, --overwrite ФАЙЛ

Перезаписать файл если он существует.

-c, --clone

Сохранение

-r, --restore

Восстановление

-b, --dev-to-dev

Режим копирования с устройства на устройство

-l ФАЙЛ, --logfile ФАЙЛ

Путь к файлу логов (стандартно /var/log/partclone.log)

-R, --rescue

Продолжить после ошибок чтения диска

-C, --no_check

Не проверять размер диска и количество свободного пространства

-N, --ncurse

Ncurses текстовый пользовательский интерфейс

-X, --dialog

Вывод сообщений в формате диалога

-I, --ignore_fschk

Игнорировать проверку файловой системы

--ignore_crc

Игнорировать crc ошибки

-F, --force

Принудительный режим

-f СЕКУНДЫ, --UI-fresh СЕКУНДЫ

Изменение интервала

-z РАЗМЕР, --buffer_size РАЗМЕР

Размер буфера чтения/записи (стандартно: 1048576)

-q, --quiet

Краткий режим, не будет отображаться информации о процессе выполнения

-dlevel, --debug level

Уровень режима отладки 1/2/3

-h, --help

Отображение справки

-v, --version

Отображение версии программы

Приведу примеры запуска partclone.
Сначала посмотрим какие диски в системе используются:

sudo fdisk -l | grep '/dev/'

Пример клонирования раздела в файл:

sudo partclone.ext3 -c -d -s /dev/sda1 -o sda1.img

Пример клонирования раздела в архив:

sudo partclone.ext3 -c -d -s /dev/sda1 | gzip -c > /dev/sdb2/sda1.gz

Восстанавливаем из файла раздел:

sudo partclone.ext3 -r -d -s sda1.img -o /dev/sda1

Восстановление раздела их архива:

sudo gzip -d /dev/sdb2/sda1.gz | partclone.ext3 -d -r -o /dev/sda1

Клонируем раздел в раздел другого диска:

sudo partclone.ext3 -b -d -s /dev/sda1 -o /dev/sdb2

Решение ошибки NMI watchdog: BUG: soft lockup — CPU#0 stuck for 23s!

Заметил несколько раз зависание сервера с установленным Ubuntu Server 14.04.01, после чего помогала только жесткая перезагрузка с выключением электропитания.

Читать далее «Решение ошибки NMI watchdog: BUG: soft lockup — CPU#0 stuck for 23s!»

Как включить короткие теги PHP?

Понадобилось недавно включить короткие теги PHP так как код сайта который я переносил на другой сервер был написан с их использованием.
По умолчанию они отключены.
Например обычные теги выглядят так:

<?php  код  ?>

А короткие так:

<? код ?>

Чтобы включить короткие необходимо в файле конфигурации php.ini найти параметр short_open_tag и указать его значение в On, например:

short_open_tag=On

php.ini обычно находится в директории /etc/php5/, если используется cpanel, то в /usr/local/lib/php.ini.

Необходимо перезагрузить веб сервер чтобы применить изменение, в Ubuntu apache2 перезагружается командой:

sudo service apache2 restart

Проброс портов на Ubiquiti (UBNT) устройствах

Так как настройки почти одинаковы на airMAX® M Series Ubiquiti устройствах, то эта инструкция подойдет к Rocket, NanoBridge, LiteBeam, NanoBeam, airGrid и т.д.

Читать далее «Проброс портов на Ubiquiti (UBNT) устройствах»

Настройка Fail2Ban под Asterisk

На тесте буду использовать Asterisk 13.1.0 и Fail2Ban 0.9.3-1 установленные в Ubuntu Server 16.04.1 LTS.

Установим Fail2Ban как я писал в этой статье — Установка и настройка Fail2ban

Откроем конфигурационный файл Asterisk отвечающий за логирование событий в /var/log/asterisk/messages:

sudo nano /etc/asterisk/logger.conf

Добавим security в messages:

messages => notice,warning,error,security

Перезапустим систему логирования asterisk:

sudo asterisk -rvv
logger reload
quit

Добавим файл настроек Asterisk в директорию с конфигурацией Fail2Ban тем самым активировав наблюдение его логов:

sudo nano /etc/fail2ban/jail.d/asterisk.conf

где 86400 в секундах = 24 часа, то есть злоумышленник будет блокироваться на сутки.

[asterisk]
enabled = true
bantime = 86400

Либо изменим в файле /etc/fail2ban/jail.conf где [asterisk-tcp] и [asterisk-udp] параметр false на true.

Перезапустим fail2ban чтобы новый файл настроек загрузился:

sudo fail2ban-client reload

Проверим работу:

sudo fail2ban-client status asterisk

Все, теперь Fail2Ban будет блокировать IP-адреса с которых не верно вводятся пароли к аккаунтам Asterisk.

Настройка email оповещений в Zabbix через iRedMail

На тесте буду использовать Zabbix 3.0.3 и iRedMail 0.9.4 установленные в Ubuntu Server 14.04.4 LTS.

Сначала в панели Zabbix активируем действие открыв вкладку «Настройка» — «Действия» и активируем «Report problems to Zabbix administrators«. В нем я также, чтобы видеть имена хостов, изменил обе темы письма с:

{TRIGGER.STATUS}: {TRIGGER.NAME}

на

{TRIGGER.STATUS}: {HOST.NAME1} {TRIGGER.NAME}

В Zabbix изначально добавлен способ оповещения через Email, но в зависимости от настроек почтового сервера он может работать либо не работать. Найти его можно зайдя в Zabbix под администратором и открыв вкладку «Администрирование» — «Способы оповещений» — «Email«.

При настройке с iRedMail я указывал следующие параметры:

Имя: Email
Тип: Email
SMTP сервер: mail.example.com
Порт SMTP сервера: 25
SMTP helo: example.com
SMTP email: user@example.com
Безопасность подключения: STARTTLS
Галочки на «Проверка SSL узла» и «Проверка SSL хоста» не ставил
Аутентификация: Обычный пароль
Имя пользователя: user@example.com
Пароль: ПАРОЛЬ_К_ПОЧТЕ
галочка на «Активировано»

Если почтовый сервер находится в одной системе с Zabbix сервером, то можно попробовать настроить как выше, но где «Безопасность подключения» и «Аутентификация» выбрать «Нет».

Также в профиле пользователя, во вкладке «Оповещения» нужно добавить:

Тип: Email
Отправлять на: почта на которую должны приходить оповещения
Когда активен: время когда разрешено приходить оповещениям
Использовать, если важность: какой важности оповещения присылать
Состояние: Активировано

Вот и все.