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

ISPmanager : поменять статус обновления доменов на ведомых серверах имен (в DNSmanager)

Иногда бывает ситуация, что ISPmanager передает домены в DNSmanager, но при этом в Доменные имена рисует треугольник с ошибкой - Состояние Не синхронизировано
Убрать этот статус и выставить его как синхронизированно можно удалив файл в каталоге  /usr/local/mgr5/var/slavestatus/

# rm -rf  /usr/local/mgr5/var/slavestatus/*

Сбросить настройки бренда на default в ISPmanager

Бывают случаи когда (скажем после повреждения/удаления руками файлов) ломаются напрочь настройки бренда ISPmanager (панель грузится без стилей и никакие кнопки не работают, ссылки на логотип имеют вид 10.12.13.14:1500/manimg/orion/local_2bc1fc3e5e78/login-logo-ispmgr.svg  и такого файла нет по данной ссылки

Как исправить?

Очень просто - логинимся в COREmanager 10.12.13.14:1500/core и там будет нормальная тема оформления - далее в Настройки бренда и там можно для ispmgr сбросить настройки по умолчанию

Настройка модуля Push and Pull birix модуля nginx с ISPmanager

Компилим nginx с модулем утянув его выше в папку из git https://github.com/wandenberg/nginx-push-stream-module

./configure --add-module=../nginx-push-stream-module

делаем общую include в /etc/nginx/conf.d/push-stream-module.conf


# Common settings for nginx-push-stream-module
push_stream_shared_memory_size 256M;
push_stream_max_messages_stored_per_channel 1000;
push_stream_max_channel_id_length 32;
push_stream_max_number_of_channels 200000;
push_stream_message_ttl 86400;

# поддержка мобильных платформ, для http запросов
server {
    # nginx-push-stream-module server for push & pull

    listen 8893;
    server_name _;
    
    # Include error handlers
    #include bx/conf/errors.conf;
    
    # Include im subscrider handlers
    #include bx/conf/im_subscrider.conf;
    
    location ^~ / { deny all; }
}

# поддержка мобильных платформ, для https запросов
# SSL enabled server for reading personal channels
server {
    listen 8894 ssl;
    server_name _;
 
    ssl_certificate "/var/www/httpd-cert/www-root/example.com.crtca";
    ssl_certificate_key "/var/www/httpd-cert/www-root/example.com.key"; 
 
    #include bx/conf/ssl.conf;
    
    # Include error handlers
    #include bx/conf/errors.conf;
    
    # Include im subscrider handlers
    #include bx/conf/im_subscrider.conf;
    
    location ^~ / { deny all; }
}

# для публикации сообщений
# Server to push messages to user channels
server {
    listen 127.0.0.1:8895;
    server_name _;
    
    location ^~ /bitrix/pub/ {
        push_stream_publisher admin;
        push_stream_channels_path $arg_CHANNEL_ID;
        push_stream_store_messages on;
        allow 127.0.0.0/8;
        deny all;
    }
    
    location ^~ / { deny all; }
    
    # Include error handlers
    #include bx/conf/errors.conf;
} 
 
 
 
 
делаем инклюдку для server {}

include /etc/nginx/push-stream-module-vhost.inc 


# Location for long-polling connections
location ^~ /bitrix/sub {
    # we don't use callback and droppped it (XSS)
    if ( $arg_callback ) {
        return 400;
    }

    push_stream_subscriber            long-polling;
    push_stream_allowed_origins "*";
    push_stream_channels_path        $arg_CHANNEL_ID;
    push_stream_last_received_message_tag    $arg_tag;
    if ($arg_time) {
        push_stream_last_received_message_time "$arg_time";
    }
    push_stream_longpolling_connection_ttl    40;
    push_stream_authorized_channels_only    on;
    push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#';
}

# Location for websocet connections
location ^~ /bitrix/subws/ {
    push_stream_subscriber websocket;
    push_stream_channels_path        $arg_CHANNEL_ID;
    push_stream_websocket_allow_publish    off;
    push_stream_ping_message_interval    40s;
    push_stream_authorized_channels_only     on;
    push_stream_last_received_message_tag    "$arg_tag";
    push_stream_last_received_message_time    "$arg_time";
    push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#';
}


Включаем в битриксе

Оригинал https://dermanov.ru/exp/configure-push-and-pull-module-for-bitrix24/

перенос почтовых ящиков imapsync создание через ispmanager api

Создаем почтовые ящики через ISPmanager API

cat /tmp/1 | while read i ; do echo `echo $i | awk '{print $2}'` ; /usr/local/mgr5/sbin/mgrctl -m ispmgr email.edit domainname=`echo $i | awk '{print $2}' | cut -d '@' -f 2` greylist=on hidegreylist=on passwd=`echo $i | awk '{print $1}'` name=`echo $i | awk '{print $2}' | cut -d'@' -f 1` sok=ok ; done

Переносим почтовые ящики через imapsync

j=0 | cat /tmp/1 | while read i ; do let "j=$j+1"; echo 'синкаю' $j 'из 87 ящиков, сейчас синкаю' `echo $i | awk '{print $2}'` ; imapsync --host1 10.10.10.10 --user1 `echo $i | awk '{print $2}'` --password1 `echo $i | awk '{print $1}'` --host2 20.20.20.20 -user2 `echo $i | awk '{print $2}'` --password2 `echo $i | awk '{print $1}'` 2>&1 >> /tmp/imap.log; done

Остановить задания на backup в ISPmanager

Если после завершения фоновых задач и файлов в var/run "колесики" все равно продолжают крутиться о бэкапах (и процессов backup2 тоже нет), то все починить можно в ispmgr.db


update backup_queue set status=1 where status=2;

maildrop debug как запустить postfix / centos / ispmanager 4

# echo date | /usr/bin/maildrop -d virtuser_505 -V 10

...
...
/etc/maildroprc(7): ISP_address="^(From|Return-Path|To|CC|BCC): "
/etc/maildroprc(8): ISP_subject="^(XX-)?Subject: "
maildrop: Attempting .mailfilter
/usr/bin/maildrop: Cannot have world/group permissions on the filter file - for your own good.


Как лечить не ясно так как права были, решение - удалить пустые .mailfilter

:-)

В ISPmanager Business не создается домен - пишется что уже существет, а его нет

Если не создается домен already exist, а на самом деле его нигде нет - то надо найти в панели ISPmanager - Сборщик мусора и там поискать и найдя удалить

ISPmanager не покаызываются Ресурсы сервера на дашбоард

Почистить файлы в /usr/local/mgr5/var/sysinfostat/

Раз в час будет обновляться

ISPmanager отключить двухфакторную авторизацию

sqlite> delete from totp

Шаблонизатор в ISPmanager

# cp /usr/local/mgr5/etc/templates/default/nginx-vhosts.template /usr/local/mgr5/etc/templates/
# cp /usr/local/mgr5/etc/templates/default/nginx-vhosts-ssl.template /usr/local/mgr5/etc/templates/

# vi /usr/local/mgr5/etc/ispmgr.conf
Option EnableWebTemplate


Документация по шаблонизатору

Работа с ручными правками конфигурационных файлов ISPmanager

Option DisableWebDBReadConf

отключает правки конфигурационных файлов панелью ISPmanager
Подробнее

Принудитетельно пересчитать размер баз данных в ISPmanager

update db_cache set next_check = datetime('now', '+1 minutes')

Перекешировать размер БД в ISPmanager, делается в базе ispmgr.db

Автоматически размер в Базы данных обновляется по формуле https://doc.ispsystem.ru/index.php/Размеры_баз_данных

update:
в новых версиях ISPmanager данные хранятся в отдельной базе данных 

# sqlite3 /usr/local/mgr5/etc/ispmgr_dbsize.db

В ISPmanager Business файл называется
# sqlite3 /usr/local/mgr5/etc/ispmgrnode_dbsize.db

Посмотреть версию ISPmanager

Информация о типе панели и версии
/usr/local/mgr5/bin/core ispmgr -F
/usr/local/mgr5/bin/core ispmgr -V

Информация о лицензии
/usr/local/mgr5/sbin/mgrctl -m ispmgr license.info

Проблема с загрузкой лицензии ISPmanager

Если ISPmanager 5 упорно не загружает лицензию, то стоит проверить работу https на сервере выполнив команду взяв url из licctl.log

# curl -v  -k  -o-  https://212.109.222.143/mgr5.45.state
* About to connect() to 212.109.222.143 port 443 (#0)
*   Trying 212.109.222.143...
* Connected to 212.109.222.143 (212.109.222.143) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* Unable to initialize NSS database
* Initializing NSS with certpath: none
* NSS error -5938 (PR_END_OF_FILE_ERROR)
* Encountered end of file
* Closing connection 0
curl: (35) Encountered end of file


В моем случае проблема была с битыми файлами в /etc/pki/nssdb/ и исправлено заменой файлов с исправной системы

Примечательно, что изначально я запускал wget --no-check-certificate и так делать нельзя, так как проверка не была пройдена и ошибка не была видна в отличии от curl, так как панель использует libcurl

Поменять IP адрес в WWW домены в ISPmanager

После того как при помощи sed изменен IP адрес в файлах конфигурации apache/nginx/named чтобы не менять IP в WWW домены (и тем самым не портить конфиги) проще всего поменять в базе панели

# sqlite3 /usr/local/mgr5/etc/ispmgr.db

sqlite> update webdomain_ipaddr set value='188.120.234.73';

# killall core

Доступ к панели заблокирован администратором. Возможно панель в данный момент обновляется

Доступ к панели заблокирован администратором. Возможно панель в данный момент обновляется
Такое бывает во всех панелях на базе COREmanager при сбое обновления
Решение - удалить файл лочки
rm /usr/local/mgr5/tmp/ispmgr.lock
rm /usr/local/mgr5/tmp/core.lock

Бэкапы баз данных в ISPmanager в дампе одни ???? вместо русских букв

Панель при дампе базы данных смотрит кодировку в какой была база создана и если вы видите что-нибудь похожее на latin1

mysql> show create database blog;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| blog     | CREATE DATABASE `blog` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

То дамп будет делаться некорректно

Правка

mysql> alter database blog character set utf8;

Но, скорее всего, скоро это поведение будет изменено

Пересоздаем конфиги httpd в ISPmanager

Если конфиги apache совсем сломались (виртуалхосты), то лечить можно следующим образом

mv /etc/httpd/conf/vhosts /root
mkdir /etc/httpd/conf/vhosts


/usr/local/mgr5/sbin/mgrctl -m ispmgr webreconfigure.initialize shutdown=on
/usr/local/mgr5/sbin/mgrctl -m ispmgr webreconfigure.restore


Документация: Конфигурация web сервера

Сюда же потребовалось увеличивать лимиты иначе упирался в
AH00015: Unable to open logs
AH00015: Unable to open logs


# pwd
/etc/systemd/system/httpd.service.d
# cat limits.conf
[Service]
LimitNOFILE = infinity
LimitMEMLOCK = infinity

systemctl daemon-reload
apachectl start

Сливаем данные из бэкапа базы sqlite в нужную базу

cp etc/ispmgr.db /root/isp.db (на всякий случай)
ATTACH DATABASE '/root/backup/etc/ispmgr.db' as back;
delete from db_assign;
INSERT INTO db_assign (id, name, unaccounted, users, db_server) SELECT back.db_assign.id, back.db_assign.name, back.db_assign.unaccounted, back.db_assign.users, back.db_assign.db_server from back.db_assign;



Восстанавливаем db_assign тут таблицу