FastNetMon

Показаны сообщения с ярлыком ISPManager. Показать все сообщения
Показаны сообщения с ярлыком ISPManager. Показать все сообщения

суббота, 1 мая 2010 г.

Скрипт для оценки "популярности" функций панели ISPManager среди пользователей

cat /usr/local/ispmgr/var/ispmgr.log | grep 'INFO Request' | grep -v 'mgrctl'| awk '{print $8}' | sed "s/'//g" | tr '&' ' ' | perl -e 'do { for(split " ",$_) { /func=(.*)\./ && print $1,"\n" } } for <>' | sort | uniq -c | sort -g -r

А вот обобщенная версия скрипта для анализа лишь ротированных логов:
zcat /usr/local/ispmgr/var/ispmgr.log.*.gz | grep 'INFO Request' | grep -v 'mgrctl' | awk '{print $8}' | sed "s/'//g" | tr '&' ' ' | perl -e 'do { for(split " ",$_) { /func=(.*)\./ && print $1,"\n" } } for <>' | sort | uniq -c | sort -g -r

Запросы с mgrctl исключаются, так как это API.

суббота, 17 апреля 2010 г.

mod_ispmgr.so: wrong ELF class: ELFCLASS32

/etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: httpd: Syntax error on line 993 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /usr/local/ispmgr/etc/ispmgr.inc: Cannot load /usr/local/ispmgr/lib/apache/mod_ispmgr.so into server: /usr/local/ispmgr/lib/apache/mod_ispmgr.so: wrong ELF class: ELFCLASS32
[FAILED]
~# uname -a
Linux domain.com 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:32:21 EST 2010 x86_64 x86_64 x86_64 GNU/Linux


Я искренне жажду увидеть тех существ, что написали это говно. Мне вот крайне интересно КАК ОНИ ВЫГЛЯДЯТ.

Фикс - отключение панели.

Для CentOS:
vi /etc/httpd/conf/httpd.conf

И комментируем символом # там строку:
# Include /usr/local/ispmgr/etc/ispmgr.inc


Перезапускаем Апача:
/etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: [ OK ]

вторник, 13 апреля 2010 г.

ISPManager: No such file or directory: Timeout connecting daemon

Вот заметил в логах такую ересь:
[Mon Apr 12 22:32:52 2010] [error] [client xx.xx.xx..xx] (2)No such file or directory: Timeout connecting daemon, referer: https://xxxx.info/manager/


Чем это может быть вызвано?

суббота, 3 апреля 2010 г.

ISPManager: mysqldumpupload не работает - внутренняя ошибка malformed result

При запуске вручную ошибка становится очевидной:
/usr/local/ispmgr/addon/mysqldumpupload
Can't locate LWP/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /usr/local/ispmgr/lib/perl) at /usr/local/ispmgr/addon/mysqldumpupload line 7.
BEGIN failed--compilation aborted at /usr/local/ispmgr/addon/mysqldumpupload line 7.


Ставим требуемые зависимости:
apt-get install -y libwww-perl libxml-libxml-perl


После этого перезапускаем панель и все олжно заработать:
killall -9 -r ispmgr

пятница, 2 апреля 2010 г.

Массовая смена режима работы PHP на FastCGI в ISPManager

Вот так можно получить список всех доменов на сервере:
for i in `/usr/local/ispmgr/sbin/mgrctl -m ispmgr wwwdomain | tr '=' ' ' | awk '{print $2}'`; do echo $i ; done


А вот так определенному www домену можно сменить режим работы PHP на FastCGI:
/usr/local/ispmgr/sbin/mgrctl -m ispmgr wwwdomain.edit elid=xxx.com alias=www.xxx.com php=phpfcgi admin=xxx@xxx.com ip=x.x.x.x sok=ok


А вот скрипт для автоматической смены:

for i in `/usr/local/ispmgr/sbin/mgrctl -m ispmgr wwwdomain | tr '=' ' ' | awk '{print $2}'`; do /usr/local/ispmgr/sbin/mgrctl -m ispmgr wwwdomain.edit elid=$i alias=www.$i php=phpfcgi admin=xxx@xxx.com ip=x.x.x.x sok=ok ; done

ISPManager и задачи pbackup в CRON

У ISPManager система бэкапа создает в кроне рута (crontab -e от root) задачки pbackup, которые и выполняют бэкап. Тут все довольно просто - есть задача pbackup в CRON - бэкап включен, нету - выключена. Хотя, казалось бы, проще было в бинарике pbackup сделать проверку "активна ли задача" и после этого бэкапить или нет. Вот такая вот неприятность, да :(

понедельник, 8 марта 2010 г.

Скрипт для фикса "не видения" ISPManager'ом БД MySQL

#!/usr/bin/perl

use strict;
use warnings;

my $result = `/usr/local/ispmgr/sbin/mgrctl -m ispmgr db`;

if ($result && $result =~ /Fatal error: Invalid action db/) {
system ("killall -9 ispmgr");
# print "Found ISPManager MySQL error! Restart ISPManager!\n";
}


Добавляем скрипт в крон через 5-30 минут и живем счастливо.

четверг, 18 февраля 2010 г.

Как закрыть Apache на 8080м порту?

В связке ISPManager + Apache + Nginx есть встроенный косяк безопасности - к Апачу можно подключиться через 8080й порт снаружи.

Фиксится этот баг так:

# разрешаем локальный трафик
iptables -A INPUT -i lo -j ACCEPT
# блокируем все остальные соединения до 8080го порта
iptables -A INPUT -p tcp --dport 8080 -j DROP


Хм, фикс под сомнением.... может и не сработать.

пятница, 12 февраля 2010 г.

Как включить register_globals на сервере с ISPManager и PHP FastCGI?

Заходите в "Инструменты" -> "Менеджер файлов". Далее в домашней папке входите в папку php-bin и там видите php.ini, куда требуется добавить строку:
register_globals = On


Но ISP выдаст "Can't open file '/var/www/v001022/data/php-bin/php.ini' for writing", хотя права на файл 400 и владельцем указан владелец аккаунта :( Так что делайте это через FTP либо попросите сделать это саппорт.

Для саппорта нужно сделать следующее:
echo "register_globals = On" >> /var/www/v001022/data/php-bin/php.ini
killall -u v001022


После этого PHP воркеры благополучно погибнут и запустятся с новыми настройками.

Либо после внесения изменений в конфиг необходимо зайти в панель управления ISPManager и открыть настройки указанного www домена и просто их сохранить ничего не меняя (это вызовет релоад Апача, что необходимо для применения настройки из пользовательского php.ini).

вторник, 9 февраля 2010 г.

ISPManager в качестве вторичного DNS на Debian

При таком варианте использования у него есть баг, что добавляемые клиентами зоны добавляются в /etc/bind, что правильно. А вот когда подчиненные сервер добавляет зону вида:


zone "nrg.name" {
type slave;
file "/var/named/nrg.name";
masters {xx.xx.xx.xx;};
};


Что есть бред. Фиксица это добавление следующих строк в конфиг:

vi /usr/local/ispmgr/etc/ispmgr.conf



path DomainSlaveZonesPath /etc/bind/slave


Также эту папку необходмо создать:

mkdir /etc/bind/slave
chown bind:bind /etc/bind/slave


Ну и после необходимо рестарт ISP:
killall -9 -r ispmgr


На новых установках баг не проявляется, эта строка уже включена в конфиг, а вот апдейтер для старых ее не добавлял.

четверг, 4 февраля 2010 г.

В ISPManager на Debian отсутствует пункт "настройки PHP"

В ISPManager на Debian отсутствует пункт "настройки PHP", который позволяет управлять размером памяти PHP и register_globals.

Открываем конфиг ISP:

vi /usr/local/ispmgr/etc/ispmgr.conf


Ищем строку:
path php.ini /etc/php.ini


Изменяем на:
path php.ini /etc/php5/apache2/php.ini


Перезапускаем ИСП:
killall -9 -r ispmgr

среда, 3 февраля 2010 г.

Огромное число занятых inod`ов

Обнаружил на одном из OpenVZ серверов такую пренеприятную ситуацию:

df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 19144704 3809703 15335001 20% /
/dev/sda2 131648 43 131605 1% /boot


То есть занято аж 3809703 айнодов! Из них одним пользователем - 999117. Однако, это повод как-то контролировать данную ситуацию дабы не допускать таких издевательств над файловой системой впредь.

Плодит такие файлы частенько ISPManager в своих папках bin-tmp и mod-tmp, так что на OpenVZ нодах их можно искать вот так:
du -sh /vz/private/*/var/www/*/data/bin-tmp
du -sh /vz/private/*/var/www/*/data/mod-tmp