Установка Apache MPM-ITK на CentOS и ISPmanager

Проверка наличия mpm-itk
Проверим, есть ли бинарный файл mpm-itk на сервере, который обычно расположен в /usr/sbin/httpd.itk:
# stat /usr/sbin/httpd.itk
File: `/usr/sbin/httpd.itk'
Size: 363168 Blocks: 712 IO Block: 4096 regular file
Device: 6801h/26625d Inode: 5512117 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-09-29 17:00:18.420030023 +0400
Modify: 2014-08-18 18:54:55.000000000 +0400
Change: 2014-09-29 16:48:48.768699179 +0400
Если имеется, то приступаем к настройкам, в противном случае начинаем установку.

Установка MPM-ITK
Apache MPM-ITK отсутствует в стандартном репозитории. Все популярные руководства по его устанвке ссылаются на репозиторий CentAlt, который в последнее время недоступен. Однако существуют и другие альтернативные решения. Для CentOS версии 6.Х Apache MPM-ITK присутствует в репозитории Epel.

Подключение репозитория для установки Apache MPM-ITK
Подключение репозитория EPEL для CentOS 6.5 x64:
# rpm --import mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
# rpm -ihv mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm
Подключение репозитория EPEL для CentOS 6.5 x32:
# rpm --import mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
# rpm -ihv mirror.yandex.ru/epel/6/i386/epel-release-6-8.noarch.rpm

Установка Apache MPM-ITK на CentOS
Для установки из репозитория EPEL выполните следующее:
# yum install httpd-itk

Настройка файлов конфигурации
Отредактируйте файл /etc/sysconfig/httpd — раскомментируйте либо добавьте строчку:
HTTPD=/usr/sbin/httpd.itk
Отредактируйте конфигурацию Apache, для этого добавьте в файл /etc/httpd/conf.d/php.conf следующие строки:
<IfModule itk.c>
LoadModule php5_module modules/libphp5.so


Если на сервере уже присутствуют домены и настроены какие-либо VirtualHost, то отредактируйте файл /etc/httpd/conf/httpd.conf, для этого поменяйте в нем SuexecUserGroup на AssignUserID (если такие записи имеются). Процесс можно автоматизировать одной из команд:
# perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf
либо:
# sed -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf
Отредактируйте файл /etc/httpd/conf/httpd.conf, добавьте в него по аналогии с <IfModule prefork.c> следующее:
# MPM-ITK
<IfModule itk.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000

Внимание! У вас могут быть совсем другие значения! Конкретные данные берите по аналогии со своим блоком <IfModule prefork.c>.
Перезапустите вебсервер Apache:
# service httpd restart
Убедитесь, что Apache MPM-ITK работает:
# ps ax|grep htt
13554? S 0:00 /usr/sbin/httpd.itk
13580? S 0:00 /usr/sbin/httpd.itk
13588? S 0:00 /usr/sbin/httpd.itk
в выводе в конце строк обязательно должно быть itk.

Настройка конфигурации панели ISPmanager
Отредактируйте файл /usr/local/ispmgr/etc/ispmgr.conf, добавьте в его начало следующее:
Option ApacheMPM
ApacheProcName httpd.itk
Это необходимо для корректной работы панели ISPManager с MPM-ITK, и чтобы при добавлении новых доменов в была указана строка AssignUserID.
Перезапустите панель:
# killall ispmgr
На этом установка и настройка закончены.

ISPmanager 4 как защитить панель от перебора паролей

Как защитить панель от перебора паролей ?
Очень часто боты ломятся в ISP manager, за месяц там тысячами станицы в журнале засираются. Дада.

добавляем в /etc/fail2ban/jail.conf
[isp-manager]
enabled = true
filter = isp-manager
action = iptables[name=ISP, port=http,https protocol=tcp]
logpath = /usr/local/ispmgr/var/ispmgr.journal
findtime = 600
maxretry = 10
bantime = 2592000


создаем файл /etc/fail2ban/filter.d/isp-manager.conf
[Definition]
failregex = <HOST>\s+nobody\s+auth\s+username=
ignoreregex =
# к сожалению избавится от \s+ не удалось, переставало работать


для проверки запускаем
# fail2ban-regex /usr/local/ispmgr/var/ispmgr.journal  /etc/fail2ban/filter.d/isp-manager.conf


если все устраивает то
# fail2ban-client reload

Бесплатно создаем хостинги

У вас должно быть
  1. Готовый сайт хостинга. Чем красивее он будет, ну современный, стильный такой — тем больше будут продажи. Кто-то фанатаеет от честности и аниме картинок, но это только для интернетчиков хостинг. Если вы хотите для других слоев общества — вам нужен престижный сайт. SSL сертификат я вам бесплатно сделаю на домены. Домены купите сами конечно.
  2. Иметь регистрации в платежных процессингах, на выбор ispsystem.com/ru/software/billmanager/integration/#payment
  3. Иметь ежемесячные расходы на биллинг, 960р/сервер и 370р/мес биллинг. Или же экономия, против надежности 370р/vds + 370р/мес лицуха биллинга.
  4. Иметь ежемесячные расходы на первый сервер шаред хостинга. Примеры. Далее при росте, будут так же закупаться, настраиваться сервера. Если вы не хотите следить за серверами, нету админов, за ежемесячную плату я найду людей, админов полно.
    • Intel Xeon E3-1230V2 3300MHz / 32GB RAM ECC / 2*3TB HDD / IP-KVM / 10TB / доп IP по 100р/шт = 3600р/мес +2500р/установка +1500р/установка лицухи ISP manager
    • Intel i7-3770 / 16 Гб DDR3 / 2x3000 Гб SATA Raid 1 / 1 IPv4 no IPv6 = 2500р/мес +3000р/установка +1500р/установка лицухи ISP manager
    • Intel i7-3770 / 16 Гб DDR3 / 2x3000 Гб SATA Raid 1 / 1 IPv4 no IPv6 = 15000р/пол года +1500р/установка лицухи ISP manager



Далее я вам абсолютно бесплатно, за 3 дня создам и настрою все что нужно.
Биллинг, первые сервера. Добавлю нужные услуги. Будет все как этот пример.

Плюс добавлю туда дополнительные услуги. Не обязательно, но если хотите больше услуг — я короче это вам оформлю.
  • Лицензии ISP system для перепродажи через мой аккаунт (наценку свою ставите)
  • Выделенные сервера из 3-10 дата центров, какие нужно. (наценку свою ставите)
  • Дешевые VDS от 100р до 500р (наценку свою ставите)
    • 1 ядро процессора | 512 мб озу DDR3 ECC | 30 ГБ hdd sata raid1 | ISP manager lite v5
    • 2 ядра процессора | 1024 мб озу DDR3 ECC | 60 ГБ hdd sata raid1 | ISP manager lite v5
    • 3 ядра процессора | 2048 мб озу DDR3 ECC | 90 ГБ hdd sata raid1 | ISP manager lite v5
    • 4 ядра процессора | 4096 мб озу DDR3 ECC | 120 ГБ hdd sata raid1 | ISP manager lite v5
  • CloudFlare платные аккаунты
  • SSL сертификаты
  • Игровые серверы, Counter-Strike, GTA SAMP, Team Fortress 2, Minecraft

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

Отчистка папки mod-tmp и проблемы с Debian + ispmanager

Переименовываем папку mod_tmp в mod_tmp_old. Для новых сессий создаем новую папку mod_tmp

Чистим папку mod_tmp_old командой:
find tmp/ -type f -mmin +360 -delete
где tmp/ — путь к папке со старыми сессиями, а +360 время за которое удалять сессии. Например при таком значении, будут удалены все файлы сессий, время создания которых более 6 часов.

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

Исправляем проблему с неудалением сессий.
В конфиг файле /etc/php.d/apache/php.ini

Ставим session.gc_probability=1
По умолчанию стоит 0

Перезагружаем apache
/etc/init.d/apache2 restart

ISPmanager: Account disabled by server administrator

Полезно хостерам, которые хотят сделать информативную страницу. Как изменить в ISPmanager страницу «Account disabled by server administrator»?
Если в ISPmanager отключить аккаунт, то при попытке зайти на сайт, выпадет страница блокировки:

Неинформативно, напишем или сверстаем страницу в стиле «хостинг-провайдера».

#ls /usr/local/ispmgr/www/disabled/


В этой директории лежат файлы — index.html и nagr.html

В index.html содержится запись «Account disabled by server administrator», вместо нее можно написать свой или всунуть сверстанную страницу.
Если аккаунт превышает допустимую нагрузку, выводится содержимое файла nagr.html, ее тоже можно изменить.

Как быстро настроить VDS/дедик ?

Очень часто обращались люди, которые ничего не понимают в администрировании. Я обычно им давал ссылки на хостеров, где VDS + isp lite по тарифу.
НО иногда они таки выбирали, контору, где не выдаются бесплатные панели.

Итак, как быть, если вы все же купили чистый vds. Например на KVM.

В этом нам пожет панель ISP manager lite/pro
1. Покупаем vds, нам присылают ip сервера, root и его пароль.
2. Идем сюда, регистрируемся.





Потом, скачиваем программу putty.


После этого пробуем любую из команд.
fetch "http://download.ispsystem.com/install.sh"
curl -o install.sh "http://download.ispsystem.com/install.sh"
wget "http://download.ispsystem.com/install.sh"

Для популярной centos например
wget "http://download.ispsystem.com/install.sh"


Если все ок, тогда.
sh install.sh


Дальше везде жмем ОК например :) все понятно будет.

После этого, у вас есть 2 недели, чтобы надобавлять все нужные домены, перенести файлы, создать базы, дополнительные фтп и прочее прочее, что обычно делают. Через 2 недели, либо купите панель, либо она просто перестанет работать. НО все ваши настройки сохранятся. Если вы больше не планируете добавлять доменов — самое оно.

Проблемы с занятым местом

Со стороны, админа сервера:
Очень часто при работе с ISPmanager возникает проблема с «утечкой» места». Панель показывает, что занято пользователем места больше, чем в сумме с
составляют файлы пользователя в домашней директории (/home/usr, /var/www/usr) и базы данных.

На самом деле в место, занятое пользователем включается также и логи apache, nginx, которые часто занимают много места.

В первую очередь при недостатке места нужно очистить логи в разделе Журнал ISPmanager, и настроить ротацию логов (в частности уменьшить кол-во сохраняемых архивов).
Если же проблема не исчезла, то можно найти все файлы, которые считаются в квоте командой
find / -group имя_пользователя.
Ну и на последок можно выполнить ремонт квот из ISPmanager.

Иногда, бывает, что заканчивается место, у хостера, на ноде.
Warning: Unknown: open(/var/www/a2k/data/mod-tmp/sess_ea4333e3b35d18afc952a58f7eeb9ff7, O_RDWR) failed: No space left on device (28) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/a2k/data/mod-tmp) in Unknown on line 0
Подключаемся по ssh, смотрим сравнительный вывод df -h и df -i

Еще, хочу отметить, что Пользователь в ISPmanager удаляется(сразу) при удалении аккаунта хостинга(услуги) в BILLmanager (Пользователь ISPmanager != Клиент BILLmanager).
А бекапы этого пользователя ISPmanager(если делались) еще живут некоторое время. До глобальных ребутов обычно.

Со стороны, админа vds ISP manager.
Обязательно всегда проверяйте, в панели — Информация о системе(/manager/ispmgr?startpage=sysinfo) — там где hdd, двойным щелчком. (/dev/simfs)
Остальные подсчеты, в ISP панелях могут сбиваться. А ремонт дисковых квот, не доступен, для vds обычно.

Точно так же, проверяйте ротацию логов. Что хранятся последние там 5 архивов, потом удаляется.
А если все проверено, но по /dev/simfs все равно занимает больше, чем /www/ всех ваших пользователей. Ну, вы же следите, знаете что к чему.

То вперед в консоль, du -h --max-depth 1 /
и далее смотреть от корня, где вам кажется, занимать не должно :)

Полезные советы:
repquota -g / | grep user (покажет сколько места занято у пользователя)

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

Еще, бывает, что в ISPmanager Pro перестает скачивать и закачивать файлы на сервер.
Увеличиваем лимит на кол-во открытых файлов (на самой VDS значение в limits.conf)
например: * — nofile 931200000

Подробнее про quotacheck
0) заходим в ssh
1) убиваем апач
2) убиваем энжынкс (если есть)
3) убиваем остальные пишущие на диск процессы, вроде вочдогов
3) quotacheck -bcguvf /dev/<диск>
где <диск> — раздел, который нужно проверить. например, /dev/sda3
4) ждем (полтора-терабайтный раздел, занято 900гб, сканировался минут 20)
5) если все ок, то радуемся.
также стоит проверить квоты в панели — у нас они все сбросились на 0 (т.е. неограниченно). если то же самое будет — выставить квоты вручную (да, ад)