FAQ по ISPmanager в контексте настройки VPS/VDS на CentOS частозадаваемые вопросы по настройке VDS
Опыт настройке ISPmanager изложенный в виде вопросов и ответов.
Как восстанавливать бэкапы в ISPManager 5.x?
Если вручную, то все сложно. Если автоматически из панели, то делать это надо авторизовавшись от имени пользователя и, важно, учтя, что восстановление это никакое не восстановление, а простое разархивирование файлов из резервной копии поверх существующих с заменой.
Таким образом, если злобохакер залил к вам на хостинг shell и запрятал его поглубже, то после "восстановления" бэкапа, shell останется на своем месте. Решение проблемы -- в подобных случаях перед восстановлением полностью удалять исходную директорию.
Каким образом узнать, на какой домен идет атака, если у вас много сайтов на 1 сервере?
В консоли набрать top
, будет множество процессов от имени атакуемого пользователя. Разумеется, сервер должен быть организован так, чтобы у каждой группы сайтов был свой владелец-пользователь.
Где хранятся файлы резервных копий, созданные в ISP Manager 4 от имени Пользователя (владельца сайта)?
%указанный путь от корня родительской папки данного пользователя% /
Если же не указывать путь, то автоматом сделается вот такой:/var/www/%USER_NAME%/data/%USER_NAME%
Установка дисковых квот для Пользователей
Для подключения дисковых квот в ISPmanager Lite необходимо в разделе "Возможности" найти и установить пакет "Дисковые квоты". Дисковые квоты нужны, например, за тем, чтобы один взломанный/сломавшийся сайт с утечкой дискового пространства не утянул с собой весь сервер целиком.
Куда девается место на VDS? И почему это происходит?
Операционная система при своей работе пишет различные логи и вносит некоторые часто используемые файлы в кеш, чем собственно и занимает место. Также место занимает сама CentOS и пакеты ее обновлений. С течением времени -- все больше и больше, но на конец 2018 года развернутая на VDS CentOS требует ~4ГБ. пространства. Кэш обновлений может легко занять до 1ГБ. (он сам очищается, когда обновления ставятся, а это происходит по неизвестному алгоритму), их можно почистить командой yum clean all
, но это не долгосрочное решение проблемы. Обновления снова сами скачаются через какое-то время.
Как настраивать ping-admin.ru и другие средства мониторинга?
Лучше всего наблюдать каждый ключевой домен отдельно. По-умолчанию, назначайте один и тот же IP-адрес всей группе связанных сайтов, то есть ключевому домену и всем вспомогательным.
ping-admin.ru надо настраивать так:
- метод GET
- обязательно задействовать пункт «Искать в коде страницы». А что искать? Любой уникальный текст, который точно не будет меняться. Например, номер телефона компании или уникальное название какого-то CSS-класса.
Почему все так? Долго объяснять, поверьте, или спросите в комментариях.
Как заводить простые поддомены?
Предположим мы хотим сделать так, чтобы одному пользователю принадлежал сайт example.com и его поддомены.
При создании сайта можно включить "Авто поддмены" -> "В отдельной директории". В результате этого действия:
- для домена example.com будет добавлена A запить *, направляющая на IP-адрес сервера. Теперь любые комбинации доменных имен 3 уровня будут обрабатываться сервером. Если у вас один IP-адрес на домен, то задача решена. Но если сайтов у много, отдаваться будет первый попавшийся.
- достаточно в папке /www сайта создать директорию с новым доменным именем и оно начнет работать. Это работает, опять же, только если ваш сайт единственный на этом IP.
- иначе придется прописывать нужный нам поддомен в синонимы сайта в ISP-менеджере.
Как правильно удалять логи?
Если в /var/log много логов, которые уже не нужны, их можно "занулить" командой cat /dev/null > /var/log/namelog
, где namelog - имя лога. При этом "предыдущие" (с порядковым номером) можно просто удалить.
Также рекомендуется пройтись по свойствам www доменов и уменьшить число хранящихся журналов с 50 до 3-7. Это можно сделать автоматически в ISP-менеджере, в разделе Настройки -> Ротация логов, поставив галку "Применить для всех разделов."
Как правильно удалять логи сайтов вида access.log и error.log
Кратко: никак, так как удалять их нельзя, поскольку по-умолчанию они - суть хардлинки (жесткие ссылки), удалив которые вы просто перестанете их видеть. Более полный ответ:
Web-сервер apache пишет логи в
/home/httpd-logs/sitename.ru.access.log /home/httpd-logs/sitename.ru.error.logЛоги вынесены из домашней директории пользователя на уровень выше, чтобы удаление папки logs пользователем не привело к падению веб-сервера (т.к. при рестарте если apache не сможет писать логи - не запустится и для дополнительной безопасности, тут долго рассказывать, описывать не буду)
В директории пользователя созданы линки на вышеописанные файлы вида:
/home/username/data/logs/sitename.ru.access.log /home/username/data/logs/sitename.ru.error.logРотация логов работает в директории пользователя то есть в
/home/username/data/logs/И создает там файлы:
/home/username/data/logs/sitename.ru.access.log.0.gz /home/username/data/logs/sitename.ru.error.log.0.gzТем самым удалив лог вы нарушите работу ротации логов и awstats (webaliazer).
ISPmanager использует собственный механизм ротации логов, есть задача rotate в crontab пользователя root, работает если запускается она в период с 00 до 01 часов, она ротирует логи и запускает скрипт статистики webstat, конфиг его лежит в /usr/local/ispmgr/etc/rotate.conf, но руками него править не надо, настраивается ротация логов через ISPmanager в меню WWW-домены
Если какой-то лог сильно разросся, то его надо просто обнулить
cp /dev/null /home/httpd-logs/sitename.ru.error.log, но не удалять, иначе вам прийдется удалить также файл в директории пользователя, перезапустить веб-сервер (т.к. место не освободится) и пересоздать линк командой:
ln /home/httpd-logs/sitename.ru.error.log /home/username/data/logs/sitename.ru.error.logвзято с firstVDS.ru