Содержание
Панель управления хостингом ISPmanager 5
Домашняя страница | Список изменений | Демо | Документация
rtfm.wiki: Общая информация ISPmanager | 4-я ветка ISPmanager
https://doc.ispsystem.ru/index.php/Настройка_адреса_панели_управления
NEW
Плагины
Нагрузка HTTP для ISP 5
KernelCare
Что это такое
Устанавливается, как и все другие модули (Интеграция → Модули → KernelCare).
Нужен аккаунт в firstvds или ispsystem
В первом случае лицензия 160 рублей/месяц, во втором случае €3 (на январь 2018 это ~200 рублей). В Firstvds также можно сразу купить лицензию на год за 1920 рублей. А вот в Ispsystem только ежемесячная подписка.
HowTo - Как сделать xyz?
DocRoot
Проблемы с phpmyadmin
Включить TLS 1.3
В файл /usr/local/mgr5/etc/templates/default/nginx-vhosts-ssl.template
вместо ssl_protocols [% $SSL_SECURE_PROTOCOLS %];
добавить
ssl_protocols TLSv1.2 TLSv1.3;
после надо пересохранить все вирт хосты через панель, что выглядит достаточно бредово.
для 1.3 nginx должен быть собран с новым openssl 1.1.1+, а в centos7 к примеру
built with OpenSSL 1.0.2k-fips 26 Jan 2017
Как открыть архив из part файлов
copy 'file1.js' + 'file2.js' + 'file3.js' /b 'file.full.js'
SFTP бэкап по ключу
ssh-keygen -t rsa
Отправляю публичный ключ на удаленный сервер:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip_servera
Как запустить бэкап через консоль
Команда для запуска
cd /usr/local/mgr5 && ./sbin/backup2 &
Пример лога
May 25 23:57:57 [4061:1] main INFO Size control started May 25 23:57:57 [4064:1] main INFO Global size control. Size limit: 9223372036854775807, limit full: 4, limit daily: 3 May 25 23:57:57 [4064:1] main INFO Add node '', size limit: 9223372036854775807, 0x23abe78 May 25 23:57:57 [4064:1] proc EXTINFO Run '/usr/local/mgr5/sbin/backup2_cp --client' pid 4065 May 25 23:57:57 [4064:1] main EXTINFO Backup size: 0, limit: 9223372036854775807 May 25 23:57:57 [4065:1] main INFO Open control socket 'tmp/backup2_cp.sock' May 25 23:57:57 [4065:1] main INFO Client. Backup token = 'path=/home/backup;type=local' May 25 23:57:57 [4061:1] main INFO Size control server is ready. Date: 2018-05-25 --- May 26 00:05:10 [4064:1] proc EXTINFO Process 4065 finished with status 0 May 26 00:05:10 [4064:1] log INFO Finished
Как отключить двухфакторную авторизацию для root пользователя
Нужен root к ssh. Далее выполнить запрос к sqlite базе
# sqlite3 /usr/local/mgr5/etc/ispmgr.db SQLite version 3.7.17 2013-05-20 00:56:22 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> select * from totp; 1|root|sh.iddqd.net(root)|<наборбнопни> sqlite> delete from totp where user='root'; sqlite> .q
Работа с mgrctl или API с продуктами компании ISPsystem
Закрыть порт 1500
http://forum.ispsystem.ru/showthread.php?32781-Закрытие-порта-1500
iptables -A INPUT -p tcp --dport 1500 ! -s IP_сервера -j DROP
добавить в конфигурационный файл панели /usr/local/mgr5/etc/ispmgr.conf
опцию Option FirewallCheckAccess
, это позволит редактировать правила iptables так, чтобы панель не проверяла их
ISPmanager PHP7 для скриптов запускаемых через крон
Пересборка pdo_mysql php 7.1
https://sabotage.name/compile-php-extensions-pdo-mysql/
cd /usr/local/src mkdir php_source7.1.22 cd php_source7.1.22 wget http://be2.php.net/distributions/php-7.1.22.tar.gz gunzip php-7.1.22.tar.gz tar xvf php-7.1.22.tar cd /usr/local/src/php_source7.1.22/php-7.1.22/ext/pdo_mysql /opt/php71/bin/phpize Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303 ./configure --with-php-config=/opt/php71/bin/php-config make
Сборка PHP расширения
via https://it-notepad.ru/сборка-php-расширения-на-сервере-с-ispmanager-5.html
# apt-get install autoconf gcc make -y # git clone https://github.com/phpredis/phpredis.git # cd phpredis/ # /opt/php71/bin/phpize # ./configure --with-php-config=/opt/php71/bin/php-config # make && make install && make clean # echo "extension=/opt/php71/lib/php/modules/redis.so" > /opt/php71/etc/mods-available/redis.ini
Переконфигурирование web-сервера
https://doc.ispsystem.ru/index.php/Конфигурация_web_сервера#Переконфигурирование_web-сервера
Для выполнения операции последовательно нужно выполнить следующие функции
webreconfigure.initialize с параметром shutdown=on webreconfigure.restore
Пример выполнения с помощью mgrctl для ISPmanager Lite
/usr/local/mgr5/sbin/mgrctl -m ispmgr webreconfigure.initialize shutdown=on /usr/local/mgr5/sbin/mgrctl -m ispmgr webreconfigure.restore
Как же устроен бэкап в ispmgr?
Параметры резервного копирования isptar
Логика работы модуля резервного копирования такова, что каждое воскресенье делается полная резервная копия, в остальные дни - диффиренциальная. То есть вы можете исправить в кроне время запуска резервного копирования, оставив только ночь с субботы на воскресенье - тогда будет только полная резервная копия создаваться.
Либо отрегулировать количество резервных копий параметром файла конфигурации BackupCountLimit. Подробнее в документации.
Поменялся IP сервера. Где прописать новый?
# killall -9 ihttpd
Вносим новый IP в /usr/local/mgr5/etc/ihttpd.conf
/usr/local/mgr5/sbin/ihttpd 192.168.1.77 1500
Как включить старую систему бэкапа вместо DAR?
В файл /usr/local/mgr5/etc/ispmgr.conf
добавить
Option EnableOldBackup
Не работает ЧПУ (rewrite правила) в Wordpress+nginx+fpm
Меняем
location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } }
На
location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } location / { try_files $uri $uri/ /index.php?$args; # permalinks } }
Сей трюк я нашёл на тостере. Это работает, но… Так делать нельзя и второе но - панель перезапишет ваш конфиг, как ей надо и всё сломается.
Для работы ЧПУ нам достаточно сделать
location / { try_files $uri $uri/ /index.php?$args; }
как сказано на сайте Wordpress или на сайте nginx
Прочитал статью Работа с ручными правками конфигурационных файлов web-сервера.
Существует некая специальная опция Option DisableWebDBReadConf (см. Список параметров конфигурации ISPmanager 5, которая помогает работать с ручными правками конфигов. В данном случае это не работает. Если внесли изменения в конфиг nginx через панель и потом для домена к примеру изменили количество копий access-логов, то конфиг будет перезаписан.
Существует Шаблонизатор конфигурационных файлов, но ради одного домена переписывать всё явно перебор.
Как обычно всё оказалось проще простого. Добавляем try_files $uri $uri/ /index.php?$args;
после location / {
и перед location ~ [^/]\.ph(p\d*|tml)$ {
.
location / { try_files $uri $uri/ /index.php?$args; location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; }
UPD
https://ok2web.ru/sohranenie-shablonov-host-conf-pri-sozdanii-domenov-nginx-conf-php-fpm/
https://ok2web.ru/nastrojka-php-fpm-v-shablonizatore-isp-5-v-rezhime-nginx-php-fpm/
Ошибки
"The gateway did not receive a timely response from the upstream server or application
или Timeout waiting for output from CGI script
В режиме PHP как CGI скрипты отваливаются по таймауту.
В файл /etc/httpd/conf/httpd.conf
добавить
Timeout 300
Для nginx дополнительно добавить
proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_timeout 600; send_timeout 600;
Доступ к панели заблокирован администратором
Ошибка Доступ к панели заблокирован администратором. Возможно панель в данный момент обновляется
Удалить lock файл /usr/local/mgr5/tmp/ispmgr.lock
Timeout waiting for output from CGI script
В режиме CGI некоторые сайты зависают на долгих запросах
Добавить для Apache
<VirtualHost 127.0.0.1:8080> Timeout 600 </VirtualHost>
Добавить для nginx в location @fallback
send_timeout 600; proxy_read_timeout 600; proxy_send_timeout 600; proxy_connect_timeout 600;
Не работает изменение настроек MySQL (MariaDB)
CentOS 7, MariaDB установлена из оф репозитория, а не из репозитория ОС.
Ошибка: Не найдена секция "mysqld" в конфигурационном файле /etc/my.cnf
Решение: делаем символьную ссылку
# mv /etc/my.cnf /etc/my.cnf.bak # ln -s /etc/my.cnf.d/server.cnf /etc/my.cnf
Не работает распаковка файлов через файловый менеджер
Под root работает. Под пользователем не перезаписывает имеющиеся файлы. Сайт на Drupal.
С правами 555 конечно же под обычным системным пользователем доступ будет запрещен.
Журнал файлового менеджера
Oct 18 13:14:21 [24675:1] proc [1;36mEXTINFO Process 24677 finished with status 50[0m Oct 18 13:14:21 [24675:1] core_module [1;31mERROR 'unzip' finished with error code 50 output: error: cannot delete old sites/default/default.settings.php Permission denied
Обновление 5.160 > 5.165 всё сломало
Обычный апдейт панели на CentOS 7 без левых repo завершился недоступностью панели и ошибкой
WARNING CORE module was not loaded due errors: Type: 'db' Object: 'query' Value: '' ERROR Error in query. result = 21. no such table: ranges, query: 'SELECT ranges.id, ranges.name FROM ranges LEFT JOIN ips ON ranges.id=ips.ranges AND ips.domain='' WHERE ips.name IS NULL' ERROR Error: Type: 'db' Object: 'query' Value: '' ERROR Query failed (Type: 'db' Object: 'query' Value: ''
Можно воспользоваться решением на форуме испов.
# sqlite3 /usr/local/mgr5/etc/ispmgr_ipdb.db SQLite version 3.7.17 2013-05-20 00:56:22 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .tables ips ranges sqlite> sqlite> .schema ranges CREATE TABLE ranges( id INT NOT NULL, name VARCHAR(80) NOT NULL, gateway VARCHAR(64), netmask VARCHAR(64), family INT, type VARCHAR(64), CONSTRAINT ranges_primary_key PRIMARY KEY (id) ON CONFLICT FAIL ); CREATE UNIQUE INDEX ranges_mgrauto_0 ON ranges(name); sqlite>
Я же просто посмотрел на ispmgr_ipdb.db на другом сервере с Debian и создал через sqlitestudio нужную таблицу.
Почему же в cpanel не бывает таких багов, а если и бывают то их через несколько часов в срочном порядке чинят. 4 года WHM/CPANEL в проде и не было такого чтобы из-за апдейта рухнула панель целиком. ISPmanager глюкавое поделие. С ужасом жду 6 ветку.
Не видно базы данных и недоступен сервер баз данных
MySQL работает, но работа с ним через ISPmanager невозможна (отсутствует параметр-путь mysqld).
Добавляем в файл /usr/local/mgr5/etc/ispmgr.conf.d/mysql.conf
path mysql_restart service mysqld restart path mysqld.ini /etc/my.cnf path mysqld /usr/libexec/mysqld
Не добавляются новые домены
Был удален DNS сервер (BIND), после повторной установки список доменов пуст, но в каталоге /etc/bind9 остались файлы зон.
Удаляем файлы зон, добавляем вручную домены, возвращаем обратно файлы зон, init.d/bind9 restart
Не создается DMARC запись
Поле 'Значение' имеет недопустимое значение. Значением TXT записи должна быть строка содержащая хотя-бы одну пару ключ=значение
Неверная SOA запись
В разных тестах получаем ошибку
SOA MNAME entry WARNING: SOA MNAME (ns1.foobar.com) is not listed as a primary nameserver at your parent nameserver!
В качестве mname панель ставит hostname вместо primary NS.
Как исправить
В файл /usr/local/mgr5/etc/ispmgr.conf
добавить
DnsHostname ns1.foobar.com
Перезапустить {ISP|CORE}manager
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit && killall core
DnsHostname - параметр, описывающий формат SOA-записи, по умолчанию берется hostname сервера (доступно с версии 5.14.7, для Business-версии параметр указывается в ispmgrnode.conf на сервере с ролью основного сервера имен) (Конфигурационный файл ISPmanager
==== Не обновляется панель libmgr.so.conflicting with already loaded one
В файле /usr/local/mgr5/var/ispmgr.log
May 27 21:12:45 [10555:1] core FATAL Library libmgr linked to lib/libmgr.so.5.104.1 conflicting with already loaded one</code Помогло изменение repo файла Было <code> ###[ispsystem-__VERSION__] ###name=ispsystem-__VERSION__ ####baseurl=http://download.ispsystem.com/repo/centos/__VERSION__/$releasever/$basearch ###mirrorlist=http://download.ispsystem.com/repo/centos/__VERSION__/mirrorlist.txt [ispsystem-5.104] name=ispsystem-5.104 failovermethod=priority gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ISPsystem enabled=1 #baseurl=http://download.ispsystem.com/repo/centos/5.104/$releasever/$basearch mirrorlist=http://download.ispsystem.com/repo/centos/5.104/mirrorlist.txt gpgcheck=1
Стало
###[ispsystem-__VERSION__] ###name=ispsystem-__VERSION__ ####baseurl=http://download.ispsystem.com/repo/centos/__VERSION__/$releasever/$basearch ###mirrorlist=http://download.ispsystem.com/repo/centos/__VERSION__/mirrorlist.txt [ispsystem-stable5] name=ispsystem-stable5 failovermethod=priority gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ISPsystem enabled=1 #baseurl=http://download.ispsystem.com/repo/centos/stable5/$releasever/$basearch mirrorlist=http://download.ispsystem.com/repo/centos/stable5/mirrorlist.txt gpgcheck=1
После апдейт прошёл успешно. Довольно странная ошибка.
Возникла ошибка при работе с файлами, код ошибки 13
Вы работаете под пользователем john, а файлы и каталоги принадлежат пользователю bob или даже root.
Исправляем права
chown -R john:john /var/www/john/data/your-path
Или через саму панель
Option Multiviews not allowed here
В error.log
[Sun Nov 30 19:30:25 2016] [alert] [client 1.2.3.4] /var/www/user/data/www/foobar.com/.htaccess: Option Multiviews not allowed here
Если панели нет, то меняем в файле /etc/httpd/conf.d/secure.conf
строку
AllowOverride FileInfo AuthConfig Limit Indexes Options
на
AllowOverride FileInfo AuthConfig Limit Indexes Options=All,MultiViews
Если установлена панель ISPmanager 5 Lite, то делаем замену в файле /etc/apache2/conf.d/z1_home.conf
После автоматического обновления не открывается панель
Команда yum update
предлагает запустить yum-complete-transaction
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
Но это приводит к предложению удалить все пакеты ispmanager и coremanager
Пробую так
# /usr/local/mgr5/sbin/pkgupgrade.sh coremanager
в итоге
package coremanager-5.86.0-2.el7.centos.x86_64 is already installed
Логи
pkg.log
Updating : coremanager-5.86.0-2.el7.centos.x86_64 1/34 warning: %post(coremanager-5.86.0-2.el7.centos.x86_64) scriptlet failed, signal 15 Error: display callback failed: [Errno 32] Broken pipe
ispmgr.log
Jan 24 09:07:38 [13397:1] core [1;31mFATAL Library libmgr linked to lib/libmgr.so.5.86.0 conflicting with already loaded one
Смотрим, что не так
# rpm -qa | grep coremanager coremanager-5.86.0-2.el7.centos.x86_64 coremanager-5.83.1-2.el7.centos.x86_64
Удаляем лишнее
# rpm --nodeps -e coremanager-5.83.1-2.el7.centos.x86_64
roundcube Неудачная попытка входа
via https://ask.sabini.ch/?qa=31763/roundcube-неудачная-попытка-входа
В файле defaults.inc.php
// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or null to use // best server supported one) $config['imap_auth_type'] = null;
лучше вынести в config.inc.php
, заменив значение null на CRAM_MD5
вместо null ставим cram_md5
$config['imap_auth_type'] = CRAM_MD5;
Starting nginx: [emerg]: bind() to IP failed (99: Cannot assign requested address)
via http://neblog.info/starting-nginx-emerg-bind-to-ip-failed-99-cannot-assign-requested-address
Добавить в /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1
Применить изменения
sysctl -p /etc/sysctl.conf
Не обновляется лицензия
Немного о лицензиях
Посмотреть информацию о лицензии
# /usr/local/mgr5/sbin/licctl info ispmgr ispmgr.lic ispmgr 2017-03-13
Получить лицензию
# /usr/local/mgr5/sbin/licctl fetch ispmgr
Лог: /usr/local/mgr5/var/licctl.log
https://servadmin.ru/2016/01/25/глюк-с-лицензией-ispmanager5/
В Ubuntu не работает php mail() после апгрейда MPM ITK
services.stop.problem
В ISPmanager накапливаются ошибки в Уведомлениях
services.stop.problem spamassassin
Убираем из мониторинга службу spamassassin
http://forum.ispsystem.ru/showthread.php?30847-Проблемы-в-панели&highlight=spamassassin
services.stop.problem postgrey
Для почтового сервера активирован Greylisting, пакет postgrey по зависимостям за собой притащил Postfix.
Что делать?
В /etc/postfix/master.cf
указываем отличный от 25 порт для Postfix, останавливаем Postfix и убираем из автозапуска.
Строку
smtp inet n - n - - smtpd
изменяем например так
1487 inet n - n - - smtpd
Postfix удалить нельзя
Dependencies Resolved
================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================ Removing: postfix x86_64 2:2.10.1-6.el7 @base 12 M Removing for dependencies: ispmanager-pkg-greylisting-exim x86_64 5.64.2-4.el7.centos @ispsystem-5.64 68 postgrey noarch 1.34-12.el7 @epel 104 k
Не работает бэкап
Автоматически по крону не запускается, при попытке запустить вручную ошибка Не удалось выполнить резервное копирование для 1 план(-а,-ов). Для получения подробностей наведите курсор на значок ошибки в строке таблицы.
со значение sbin/backupctl уже существует
В логе /usr/local/mgr5/var/backupctl-ispmgr.log
ничего интересного.
Решилось завершением фоновой задачи по бэкапу в разделе "Состояние системы > Фоновые задания". После запуск бэкапа вручную сработал.
Ошибка Не удалось запустить панель
Ошибка Не удалось запустить панель. Обратитесь к администратору"
Error: Type: 'client' Object: 'open' Value: 'ispmgr
'
# rm /usr/local/mgr5/var/.ispmgr.progress.xml # killall core
Type: 'backup' Object: 'archive_error' Value: ''
'Type: 'rpc' Object: 'query' Value: 'query: Transferred a partial file'
https://www.google.de/search?client=safari&rls=en&q=Type:+'backup'+Object:+'archive_error'+Value:+
&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=5vnfVoeVLPLa8Aec8YbQCQ http://forum.ispsystem.ru/showthread.php?26089-Ошибки-при-Backup
'Type: 'rpc' Object: 'query' Value: 'query: Transferred a partial file'''
https://www.google.ru/search?client=safari&rls=en&q=Type:+'backup'+Object:+'storage_put'+Value:+'Storage+'sharik-xer':+'Type:+'rpc'+Object:+'query'+Value:+'query:+Transferred+a+partial+file'''&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=X9jrVu-xJaSP8QeZv4aoBA&gws_rd=cr#q=%27Type:+%27rpc%27+Object:+%27query%27+Value:+%27query:+Transferred+a+partial+file%27%27%27
435 Unable to authenticate at present: authentication socket connection error
If you're using Exim and trying to connect to Dovecot's auth-client and you receive this message; "435 Unable to authenticate at present: authentication socket connection error" You ought to check the ownership of the Dovecot authentication client socket. It runs in /var/run/dovecot/auth-client and you can see its ownership there. If you have set it to "mail" or similar you'll likely need to change it to Debian-exim so Exim can read and write to the socket.
Обсуждение