Хотите использовать быстро весь функционал ISPmanager? Эта статья поможет Вам в этом!
Часто владельцам и администраторам серверов приходится сталкиваться с рутинными задачами, на реализацию которых нужно потратить немало времени, выполняя их через web интерфейс панели управления ISPmanager 5 версии, VMmanager/VEmanager. Добавление большого числа доменных имен, www доменов, установка пакетов. Все это та рутина, которая может занять много времени, если это делать "руками" через панель ISPManager. Обойти эти сложности можно воспользовавшись командами для работы с API панели управления ISPManager через SSH.
Наши администраторы подобрали список наиболее часто используемых и востребованных команд для работы с API ISPmanager на сервере с операционной системой Linux. Для их использования достаточно иметь root доступ к серверу, следовательно мануал пригодится многим владельцам серверов с этой замечательной панелью управления.Также, чтобы обеспечить корректную работу с сетевыми настройками, рекомендуем воспользоваться сервисом который быстро определит IP адрес компьютера с которого вы подклюены к интернету . Это поможет в диагностике соединения и дальнейшей настройке вашего сервера.
Список основных команд для работы с API
Ниже представлен список полезных команд для работы с API панели управления ISPmanager 5 версии. Список конечно же не полный, но пытались собрать самое нужное и часто используемое:
Вывести/показать список команд для работы с API
/usr/local/mgr5/sbin/mgrctl -m [manager] —i
-m <manager> - краткое названием панели управления - ispmgr, billmgr, vmmgr, vemgr, dcimgr, ipmgr, dnsmgr.
Вывести/показать список всех добавленных www доменов с настройками и опциями
/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain
Вывести/показать лог (журнал) всех авторизаций и входов в панель управления ISPmanager 5
/usr/local/mgr5/sbin/mgrctl -m ispmgr authlog
Вывести/показать список всех баз данных mysql на сервере с опциями и настройками
/usr/local/mgr5/sbin/mgrctl -m ispmgr db
Вывести/показать список всех пользователей созданных для баз данных mysql
/usr/local/mgr5/sbin/mgrctl -m ispmgr db.users
Удалить www домен для примера hyperhost.ua
/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain.delete elid= hyperhost.ua
добавить www домен hyperhost.ua или изменить опции домена hyperhost.ua (hyperhost.ua используется для примера)
/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain.edit elid= hyperhost.ua
VMmanager/VEmanager
Добавление IP адреса для домена
/usr/local/mgr5/sbin/mgrctl -m vemgr iplist.edit domain=domain.com family=ipv4 iptype=public plid=ID_VDS sok=ok
Удаление IP адреса
/usr/local/mgr5/sbin/mgrctl -m vemgr iplist.delete elid=ID_IP plid=ID_VDS sok=ok
Смена домена для IP адреса (домен hyperhost.ua рассмотрен для примера)
/usr/local/mgr5/sbin/mgrctl -m vemgr iplist.edit domain= hyperhost.ua plid=368 elid=324 sok=ok
Массовая смена доменных имен
Работает при условии, что все PTR заданные по порядке, как это сделано в панели управления, выполняем при помощи цикла for
for i in {1..2}; do a=`cat f1.txt | head -$i | tail -n1`; b=`cat f2.txt | head -$i | tail -n1`; /usr/local/mgr5/sbin/mgrctl -m vemgr iplist.edit plid=ID-VPS elid=$a domain=$b sok=ok ; sleep 5; done
- f1.txt - список ID IP адресов, который можно узнать в панели "Список IP адресов"
- f2.txt - Нужные домены
Чтобы не накосячить, можно еще дополнительно сделать проверочку.
for i in {1..2}; do a=`cat f1.txt | head -$i | tail -n1`; b=`cat f2.txt | head -$i | tail -n1`; echo "$a $b" >> f3.txt; done
проверяем f3.txt все ли сходится, ID IP и домены
Используемые параметры
- plid - уникальный идентификатор родительского списка (элемент id из функции vm). - это ID самого сервера
- elid - уникальный идентификатор (элемент id из функции iplist) - это ID IP адреса
- family - можно указать автоматический ipv4, ipv6 или определенный IP (special), в таком случае нужно указать желаемый IP через параметр ip=111.222.333.444
- iptype - Тип IP адреса, public или private, по умолчанию задается публичный
- domain - Доменное имя, закрепленное за указанным IP-адресом
Примеры команд для работы с API + использование циклов
Вывод всех баз данных нужного нам пользователя
/usr/local/mgr5/sbin/mgrctl -m ispmgr db |grep owner=USER| awk '{print $2}' | cut -d '=' -f2
Вывод/отображение на экране всех баз данных mysql нужного пользователя + Дамп всех серверных баз даннях mysql
for i in `/usr/local/mgr5/sbin/mgrctl -m ispmgr db |grep owner=USER| awk '{print $2}' | cut -d '=' -f2`; do mysqldump $i > $i.sql; done
Вывод/отображение на экране в один ряд WWW доменов нужного пользователя
/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain su=USER| awk '{print $1}' | cut -d '=' -f2| tr '\n' ' '
Вывод/отображение на экране доменных имен нужного нам пользователя
/usr/local/mgr5/sbin/mgrctl -m ispmgr domain su=USER| awk '{print $2}' | cut -d '=' -f2
Пример добавления доменных имен (в файле domain.txt список нужных для добавления доменов)
for i in `cat domain.txt`;do /usr/local/mgr5/sbin/mgrctl -m ispmgr domain.edit ip_existing=IP name=$i owner=USER sok=ok ; done
Пример добавления нужного нам WWW домена через API
/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain.edit name=DOMAIN.NAME home=www/path aliases=www.DOMAIN.NAME email=domainowner@hyperhost.ua charset=UTF-8 srv_gzip=on gzip_level=5 srv_cache=on expire_times=expire_times_d expire_period=7 sok=ok
Пример добавления списка WWW доменов, с включенным сжатием - 5 уровня ( этот параметр задается выполняемой нами командой в конфигурационном файле nginx для домена), кэшированием - 7 дней.
for i in `cat DOMAIN.txt` ; do /usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain.edit aliases=www.$i name=$i owner=USER email=webmaster@$i charset=UTF-8 srv_gzip=on gzip_level=5 srv_cache=on expire_times=expire_times_d expire_period=7 sok=ok; done
Установка необходимых нам пакетов в обход веб интерфейса панели управления ISP
Отключаем в «возможностях» Веб-сервер (WWW), все кроме awstats и logrotate.
/usr/local/mgr5/sbin/mgrctl -m ispmgr feature.edit clicked_button=ok elid=web package_awstats=on package_logrotate=on package_nginx=off package_php=off package_php-fpm=off packagegroup_apache=turn_off sok=ok
Установка вебсерверов nginx, apache-itk, а также модуль РНР, PHP-FPM FastCGI
/usr/local/mgr5/sbin/mgrctl -m ispmgr feature.edit clicked_button=ok elid=web package_awstats=on package_logrotate=on package_nginx=on package_php=on package_php-fpm=on packagegroup_apache=apache-itk sok=ok
Установка из «возможностей» альтернативной версии РНР, как CGI, PHP-FPM, Apache
/usr/local/mgr5/sbin/mgrctl -m ispmgr feature.edit clicked_button=ok elid=altphp56 package_ispphp56_fpm=on package_ispphp56_mod_apache=on packagegroup_altphp56gr=ispphp56 sok=ok
Установка веб-интерфейса phpMyAdmin для работы с базами данных mysql
/usr/local/mgr5/sbin/mgrctl -m ispmgr feature.edit clicked_button=ok elid=phpmyadmin package_phpmyadmin=on sok=ok
Устанавливаем дополнительные модули (ioncube, imagick,i ntl, memcache, opcache, xmlwriter, xmlreader, timezonedb, zip, bcmath, zendguardloader, mysql )для определенной версии РНР, в данном случае РНР 5.6
/usr/local/mgr5/sbin/mgrctl -m ispmgr phpextensions.resume elid=ioncube elid=imagick elid=intl elid=memcache elid=opcache elid=xmlwriter elid=xmlreader elid=timezonedb elid=zip elid=bcmath elid=zendguardloader elid=mysql plid=isp-php56 sok=ok
Установка почтового клиента roundcube
/usr/local/mgr5/sbin/mgrctl -m ispmgr feature.edit clicked_button=ok elid=email package_afterlogic=off package_clamav=off package_clamav-postfix=off package_clamav-sendmail=off package_dovecot=on package_greylist-postfix=off package_greylist-sendmail=off package_opendkim=off package_opendkim-postfix=off package_opendkim-sendmail=off package_postgrey=off package_roundcube=on package_sieve=on package_spamassassin=off package_spamassassin-postfix=off package_spamassassin-sendmail=off packagegroup_mta=exim sok=ok
Указываем параметры РНР
Устанавливаем версию РНР 5.6, как модуль apache
/usr/local/mgr5/sbin/mgrctl -m ispmgr setapache clicked_button=ok elid=isp-php56 elname=5.6.31-alt sok=ok
Задаем значение параметру max_execution_time для версии РНР 5.6
/usr/local/mgr5/sbin/mgrctl -m ispmgr phpconf.edit elid=max_execution_time plid=isp-php56 value=1200 sok=ok
Задаем значение параметру post_max_size для версии РНР 5.6
/usr/local/mgr5/sbin/mgrctl -m ispmgr phpconf.edit elid=post_max_size plid=isp-php56 value=2048M sok=ok
Задаем значение параметру upload_max_filesize для версии РНР 5.6
/usr/local/mgr5/sbin/mgrctl -m ispmgr phpconf.edit elid=upload_max_filesize plid=isp-php56 value=2048M sok=ok;
Отключить disable_functions для версии РНР 5.6
/usr/local/mgr5/sbin/mgrctl -m ispmgr phpconf.edit elid=disable_functions plid=isp-php56 value= sok=ok;
Надеемся эта статья будет вам полезна, уважаемые читатели нашего блога. Если у Вас будут какие либо вопросы, возражения или дополнения, пишите их в комментариях к этой статье.
Приятного Вам администрирования! ;)