
script-ы для работы в Cpanel и WHM
В своей статье «script-ы для работы в Cpanel и WHM» я хотел бы собрать и рассказать о скриптах WHM/Cpanel. Они помогают решать различные проблемы связанные с данной панелью.
Пути базовых модулей
PHP
/usr/bin/php
MySQL
/var/lib/mysql
Sendmail
/usr/bin/sendmail
ImageMagick
/usr/local/bin/convert or /usr/bin/convert
Tomcat
/usr/local/jakarta/tomcat
Perl
/usr/bin/perl
Ruby
/usr/lib/ruby/
Ruby Gems
/usr/lib/ruby/gems
FFMPEG
/usr/bin/ffmpeg
Mplayer
/usr/bin/mplayer
LAME
/usr/local/bin/lame
FLV Tool
/usr/local/bin/flvtool2
Каталоги пользователей
Document Root
/home/username
Путь где лежат сайты пользователей
/home/username/public_html
Путь директории где лежат скрипты CGI
/home/username/public_html/cgi-bin
Cpanel / WHM Core каталогов и файлов
/usr/local/cpanel/bin
Дома только скриптов и исполняемых файлов, которые обеспечивают установку и настройку многих услуг CPanel.
/var/cpanel
Дома собственных данных конфигурации для Cpanel, в том числе:
- Первичная конфигурация CPanel
- Пользовательских конфигураций
- Конфигураций ресселеров
- Аккаунты, преобразования и обновления логов
- Пропускная способность данных (Bandwidth)
- Индивидуальные шаблоны служб
/var/cpanel/cpanel.config
Основной конфигурационный файл CPanel. Если этот файл не существует в CPanel, то он используется по умолчанию.
/var/cpanel/resellers
Списки ресурсов которые разделены запятыми, которые назначаются для WHM ресселеров.
/var/cpanel/accounting.log
Содержит список функций для аккаунтов, выполняемых через WHM, включая удаление учетной записей и создания новых.
/var/cpanel/bandwidth
Файлы содержат список истории пропускной полосы для каждой учетной записи, каждый названный в честь своего соответствующего пользователя. История файлов хранится в формате удобочитаемый, в то время как фактические данные пропускной способности хранятся в robin базах данных.
/var/cpanel/features
Имя файла наследуется от имени списка особенностей. Содержит строки с разделителями переменных с нулевым или заданным значением. Переменные контролируют ресурсы для пользователей в Cpanel.
/var/cpanel/packages
Содержит список пакетов, названных в честь пакетов, которые они представляют. Если пакет принадлежит реселлерам, то имя файла назначается с префиксом реселлера. Каждое из этих значений определяет стоимость, созданную в CPanel.
/var/cpanel/users
Содержит список конфигурационных файлов CPanel для пользователей. Переменные определяют счета ресурсов, тем, доменов и т.д.
Другие директории /var/cpanel
LOGS
Этот каталог содержит логи со счетами копий/трансфертов.
UPDATELOGS
Содержит выход каждого обновления CPANEL которое выполняется на сервере.
MAINIPS
Названный в честь соответствующих реселлеров пользователей, которые они представляют, каждый из которых содержит только IP-адрес, который должен быть использован в качестве ресселера в основных IP.
ZONETEMPLATES
Содержит пользовательские шаблоны зон DNS созданные в WHM.
/scripts
Этом каталоге находится большое количество скриптов, которые служат для использования в Cpanel / WHM. Эти скрипты могут быть использованы для:
- Для обновления Cpanel и многих из ее услуг
- Для настройки, создание аккаунтов
- Для выполнения резервного копирования аккаунтов в CPanel
- Для установки и обновления управляемых услуг в cPanel
Скрипты для обслуживания cPanel
По умолчанию все обновления применяется в CPanel в 2:13 утра с помощью корневого кронтаба.
/scripts/upcp отправляет эти обновления, используя следующие ключевые компоненты:
Примеры использования.
# /scripts/upcp
или
# /scripts/upcp --force
/scripts/updatenow – синхронизирует каталоги/ крипты
/scripts/sysup – обновления rpm пакетов в CPanel
Пример:
# /scripts/sysup
/scripts/rpmup – обновляет все другие системные обновления
Пример:
# /scripts/rpmup
или
# /scripts/rpmup --force
Обновления записываются в файлы которые лежат в /var/cpanel/updatelogs. Конфигурация обновление хранится в/etc/cpupdate.conf
Скрипты для управления учетными записями
/scripts/wwwacct — создание учетной записи, пользовательского аккаунта
Пример:
# /scripts/wwwacct linux-notes.org user_name password_for_username 50 advanced n
/scripts/killacct — удалить аккаунт
Пример:
# /scripts/killacct cpanel_user
или удалить принудительно
# /scripts/killacct cpanel_user_name --force
еще примеры:
# /scripts/killacct --user=user_name --force # /scripts/killacct --user=user_name --killdns
/scripts/pkgacct
Создание бекапа всех файлов, почты и так далее для указанного уккаунта в cPanel
# /scripts/pkgacct user_name
Пример:
# /scripts/pkgacct linuxnotes
/scripts/restorepkg
Restores a package. For more information, read our Restore Package Script documentation.
Примеры:
# /scripts/restorepkg --force backUP_name
или
# /scripts/restorepkg --force -- makempi0 backup.tar.gz
или
# /scripts/restorepkg --newuser new_user_name backup.tar.gz
/scripts/cpbackup
Создать бекапы для всех аккаунтов которые имеются в cPanel.
/scripts/suspendacct — заморозить учетную запись (suspend)
Пример:
# /scripts/suspendacct cpanel_user
или удалить принудительно
# /scripts/suspendacct cpanel_user_name --force
/scripts/unsuspendacct — возобновление учетной записи
Пример:
# /scripts/unsuspendacct cpanel_user
или удалить принудительно
# /scripts/unsuspendacct cpanel_user_name --force
/scripts/removeacct
Удалить cPanel аккаунт.
Пример:
# /scripts/removeacct linuxnotes
/scripts/addpop
Создание аккаунта pop.
/scripts/delpop
Удаление аккаунта pop.
/scripts/updateuserdomains
Пример:
# /scripts/updateuserdomains
Обновление пользователя: владелец и пользователь: домен таблицы хранятся в:
- /etc/userdomains
- /etc/trueuserdomains
- /etc/trueuserowners
Эти таблицы используются для перечисления и отслеживания счетов и их владельцев.
Управление пакетами
/scripts/ensurerpm
Обновление указаных пакетов.
Пример:
# /scripts/ensurerpm gmp gmp-devel bzip2-devel
/scripts/ensurepkg
Аналог ensurerpm для FreeBSD. Обновления указаных пакетов от портов.
/scripts/realperlinstaller
Возьмет аргументы Perl модулей для установки с помощью CPAN. Каждый из вышеупомянутых сценариев может принять аргумент «—force» в принудительных установках.
Примеры:
# /scripts/realperlinstaller --force Getopt::Long # /scripts/realperlinstaller --force DBI # /scripts/realperlinstaller --force DBD::mysql # /scripts/realperlinstaller --force Term::ReadKey
Данный скрипт установит указанные пакеты перл.
/scripts/rebuildnamedconf
Перестроит named.conf на основе существующих файлов зон
Пример:
# /scripts/rebuildnamedconf
MYSQL
/scripts/mysqlup
Данный скрипт выполняет обновления для MySQL, аналог upcp
Пример:
# /scripts/mysqlup --force
/scripts/cleanupmysqlprivs
Будет убирать таблицы с привилегиями по умолчанию для MySQL , установив более строгие схемы привилегий.
Пример:
# /scripts/cleanupmysqlprivs
/scripts/mysqlconnectioncheck
Попытки подключения к MySQL, SQL перезагружается, если это необходимо. Будет проверять доступен ли MySQL с паролем сохраненным в /root/.my.cnf и будет вызывать сброс случайной строки с 16 символов, если недоступен.
Пример:
# /scripts/mysqlconnectioncheck
/scripts/mysqldeluserdb
Удалить базу данных и пользователя MySQL.
/scripts/mysql
Перезапуск сервера баз данных MySQL.
Пример:
# /scripts/mysql
POSTGRESQL
/scripts/installpostgres
Установка PostgreSQL.
Пример:
# /scripts/installpostgres
/scripts/postgres или postgresql
Перезапуск сервиса баз данных PostgreSQL.
Пример:
#/scripts/postgres
или
#/scripts/postgresql
EXIM
/scripts/eximup
Данный скрипт выполняет обновления для exim и аналогичен ему upcp.
Привет:
# /scripts/eximup
/scripts/buildeximconf
Будет восстанавливать (ребилдить) exim.conf, и объединит локальные конфигурации Cpanel.
Пример:
# /scripts/buildeximconf
/scripts/exim
Перезапуск Exim.
Пример:
# /scripts/exim
/scripts/eximstats
Перезапуск статистики почты трекера Exim.
Пример:
# /scripts/eximstats
/scripts/slurp_exim_mainlog
Импорт Exim лога mainlog в базу данных eximstats.
/scripts/eximup
Обновить сервер почты Exim.
Пример:
# /scripts/eximup
COURIER
/scripts/courier
Перезапуск сервера почты Courier.
Пример:
# /scripts/courier
/scripts/imap
Перезапуск IMAP сервера (Courier или Dovecot).
Пример:
# /scripts/imap
/scripts/courierup
Обновить емейл сервер Courier.
Пример:
# /scripts/courierup
/scripts/imapup
Обновить сервер почты IMAP.
Пример:
# /scripts/imapup
DOVECOT
/scripts/dovecot_auto_expunge_trash
Этот сценарий запускается ночью и удаляет сообщения из папок trash, которые старше, чем указан параметр в trash в интерфейсе конфигурации Mailserver Configuration interface (Home >> Service Configuration >> Mailserver Configuration).
Для активации скрипта, выберите флажок (чекбокс) Auto Expunge Trash.
/scripts/dovecot
Перезапуск dovecot.
Пример:
# /scripts/dovecot
/scripts/imap
Перезапуск IMAP сервера (Courier или Dovecot).
Пример:
# /scripts/imap
/scripts/dovecotup
Обновить сервер почты Dovecot.
Пример:
# /scripts/dovecotup
/scripts/imapup
Обновить сервер почты IMAP.
Пример:
# /scripts/imapup
HORDE
/scripts/fullhordereset
Обновления horde и сбросит пароль пользователя horde в MySQL.
Пример:
# /scripts/fullhordereset
ROUNDCUBE
/scripts/convert_roundcube_mysql2sqlite
Преобразует базу данных Roundcube c MySQL® к SQLite.
Внимание:
Вы возможно захотите сконвертировать отдельные аккаунты, даже после преобразования данных. Чтобы преобразовать отдельные аккаунты в Cpanel, которые используют Roundcube в SQLite, добавить имя пользователя в качестве параметра:
# /usr/local/cpanel/scripts/convert_roundcube_mysql2sqlite user
CLAMAV
/scripts/clamd
Перезапуск антивируса ClamAV.
Пример:
# /scripts/clamd
DNS
/scripts/chkmydns
Выполняет простую проверку конфигурации MyDNS.
Пример:
# /scripts/chkmydns
Добавляем DNS:
# /scripts//adddns --domain linux-notes.org
Или
# /scripts//adddns --domain linux-notes.org --ip 199.116.253.185
Удаляем DNS:
# /scripts/killdns --domain linux-notes.org
или
# /scripts/killdns --domain linux-notes.org --ip 199.116.253.185
/scripts/exportmydnsdb
Экспорт зон с MyDNS для использования с BIND и NSD.
Пример:
# /scripts/exportmydnsdb
или
# /scripts/exportmydnsdb --without-change-serial
/scripts/importmydnsdb
Импорт зон с MyDNS для использования с BIND и NSD.
Пример:
# /scripts/importmydnsdb
/scripts/bind
Перезапустить BIND.
Пример:
# /scripts/bind
/scripts/dnsadmin
Перезапукс демона dnsadmin.
Пример:
# /scripts/dnsadmin
/scripts/named
Перезапуск nameserver BIND.
Пример:
# /scripts/named
/scripts/mydns
Перезапуск ФТП сервер MyDNS.
Пример:
# /scripts/mydns
/scripts/mydnsup
Установить и обновить пакеты MyDNS.
Пример:
# /scripts/mydnsup
/scripts/nsdup
Обновить сервер имен BIND.
Пример:
# /scripts/nsdup
Синхранизация DNS зон
/scripts/dnscluster synczone domain_name
Пример:
# /scripts/dnscluster synczone doitrightfromhome.com
APACHE (HTTP), tomcat
/scripts/tomcat
Перезапуск веб-сервера Apache Tomcat.
/scripts/easyapache
Скачивает, распаковает и выполняет скрипты для сборки apache (или переустановки)
Пример:
# /scripts/easyapache
/scripts/rebuildhttpdconf
Перестраивает httpd.conf на основе записей DNS который найдет в каждой конфигурации пользователя Cpanel
Пример:
# /scripts/rebuildhttpdconf
/scripts/httpd
Перезапуск веб-сервера Apache.
Пример:
# /scripts/httpd
/scripts/apache
Перезапуск веб-сервера Apache.
PHP
/scripts/phpup
Обновление текущей версии PHP.
Пример:
# /scripts/phpup
/scripts/suphpup
Обновление инструмента suPHP для обработки PHP запросов.
Пример:
# /scripts/suphpup
/scripts/update_php_timezonedb
Обновление базы данных часового пояса, который использует PHP.
Пример:
# /scripts/update_php_timezonedb
/scripts/phpextensionmgr
Управление расширениями PHP.
RUBY
/scripts/installruby
Установка Ruby.
Пример:
# /scripts/installruby
FTP
/scripts/ftpd или ftpserver
Перезапуск сконфигурированного FTP сервиса (ProFTPd или Pure-FTPd).
Пример:
# /scripts/ftpd
или
# /scripts/ftpserver
/scripts/proftpd
Перезапуск демона сервера ФТП ProFTPd.
Пример:
# /scripts/proftpd
/scripts/pureftpd
Перезапуск сервера Pure-FTPd.
Пример:
# /scripts/pureftpd
/scripts/setupftpserver
Позволяет переключаться между FTP-серверами.
Пример:
# /scripts/setupftpserver
/scripts/ftpup
Обновить серверы FTP (ProFTPd и Pure-FTPd).
Пример:
# /scripts/ftpup
WebDAV
/scripts/cpdavd
Перезапуск WebDAV сервера в Cpanel.
Пример:
# /scripts/cpdavd
Другие скрипты cPanel
/scripts/restartsrv_ service_name
Большинство управляемых в CPanel услуг можно перезапустить службы по названию скриптов соответствующим образом.
Например, перезапустим апач:
# /scripts/restartsrv httpd
/scripts/makecpphp
Будет восстанавливать РНР используя внутри cpsrvd.
/usr/local/cpanel/bin/checkperlmodules
Будет сканировать и устанавливать какие-либо модули Perl которые необходимы CPanel.
/scripts/fixquotas
Будет пытаться восстановить базы данных квот основываясь на информации хранящейся в /etc/quota.conf
Пример:
# /scripts/fixquotas
/usr/local/cpanel/scripts/check_cpanel_rpms
Исправляет ошибки в rpm пакетах
Пример:
# /usr/local/cpanel/scripts/check_cpanel_rpms --fix
/scripts/build_maxemails_config
Устанавливает ограничения на количество электронной почты, которые пользователи могут посылать с доменов на сервере.
# /scripts/build_maxemails_config
/scripts/check_users_my_cnf
Проверьте учетные записи для ~ / .my.cnf файлов, которые не работают, и отключить их. Этот сценарий возвращает только выходную информацию, когда он обнаруживает плохой файл .my.cnf.
Для более подробной информации, выполните:
# /usr/local/cpanel/scripts/check_users_my_cnf --help
/scripts/comparecdb
Сравнение содержимого двух файлов CDB. Укажите два CDB файла которые вы хотите сравнивать после названия скрипта.
Примечание:
Для примера запустим слудующую команду где $file1 и $file2 два файла, которые вы хотите сравнить:
# /usr/local/cpanel/scripts/comparecdb $file1 $file2
/scripts/configure_rh_ipv6_firewall_for_cpanel
Управляет IPv6 для брандмауэра. Любой пользователь с привилегиями суперпользователя может запустить этот скрипт. Запустите этот скрипт, если любое из следующих утверждений верны:
- Вы не должны управлять своими правилам IPv6 для брандмауэра с любыми другими инструментами или утилитами.
- Вы не можете подключиться к IPv6-адресам или IPv6 с поддержкой веб-сайты на порту 80.
Этот сценарий выполняет следующие действия:
- Открывает порт 22 для SSH.
- Открывает порт 53 для DNS.
- Открывает порт 80 для HTTP.
Примечание:
Правила, которые создает этот сценарий являются постоянными, и они остаются активными даже если вы перезагрузите сервер.
/scripts/dumpcdb
Отображает содержимое файла CDB. Укажите файл CDB который вы хотите просмотреть.
Примечание:
Например, выполните следующую команду, где $file представляет файл, который вы хотите просмотреть:
# /usr/local/cpanel/scripts/dumpcdb $file
/scripts/fixmailinglistperms
Ремонт прав для всех списков почты и директорий.
/scripts/gather-update-logs
Посылает обновления log-ов в Cpanel для их анализа.
/scripts/hook
Executes any hooks that the system would normally call in the specified context.
/scripts/is_script_stuck
Проверка как долго работают скрипты и как долго запущен PID и разрешить тебе выбрать процесс для его «убийства » (kill).
/scripts/maintenance
Performs system updates, and terminates the processes that you specify in the Background Process Killer interface (Home >> System Health >> Background Process Killer).
Note:
This script runs as a part of the /scripts/upcp script.
/scripts/modsec_vendor
Списки, аддоны, удаления или обновления от ModSecurity™.
/scripts/purge_modsec_log
Удаляет устаревшие записи из базы данных modsec.
/scripts/realperlinstaller
«Оберточный скрипт», который автоматизирует установку модулей CPAN.
/scripts/chkservd
Перезапуск службы обработкилогов- TailWatch в CPanel.
/scripts/cpanellogd
Перезапуск демона cpanellogd.
/scripts/cphulkd
Перезапуск cPHulk.
/scripts/cpsrvd
Перезапуск демона cpsrvd.
/scripts/crond
Перезапуск демона crond.
/scripts/entropychat
Перезапуск чат клиента Entropy.
/scripts/inetd
Перезапуск super-server демона который управляет интернет-услугами (сервисами).
/scripts/ipaliases
Перезапуск алиасов IP.
/scripts/mailman
Перезапуск Mailman.
/scripts/nsd
Перезапуск демона Open-source NSD nameserver.
/scripts/queueprocd
Перезапуск демона queueprocd.
/scripts/rsyslogd
Перезапуск демона open-source log forwarder.
/scripts/spamd
Перезапуск демонаApache SpamAssassin™.
/scripts/sshd
Перезапуск демона Secure shell.
/scripts/syslogd
Перезапуск демона Log forwarder.
Тема «script-ы для работы в Cpanel и WHM» завершена, но я буду добавлять различные скрипты и рассказывать что и как работает, а на этом все 🙂