FreeBSD : Linux : Перемонтировать файловую систему в rw

Перемонтировать файловую систему в r/w - на FreeBSD другой синтаксис

Linux:
mount -o remount,rw /

FreeBSD:
mount -o rw /
zfs set readonly=off zroot

VMmanager поиск образа диска по всем нодам

Поиск qemu-диска по всем нодам кластера

/usr/local/mgr5/sbin/mgrctl -m vmmgr vmhostnode | awk -F'=| ' {'print $6'} | grep -vE '10.7.22.1|10.7.22.7'| grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | xargs -i ssh -i /usr/local/mgr5/etc/ssh_id_rsa root@{} "hostname && find /vm/ -name '*vm6504904*'"

strace подключиться к процессам пользователя

Когда httpd выполняет много юзеров, а нужно подключиться к конкректному

USER=opencod
while true; do a=$(ps aux | grep httpd | grep $USER | awk '{print $2}' | head -n 1); echo "DEBUG pid is "$a; if [ -z $a ] ; then echo -e 'no pid now\n'; else echo "pid is "$a; strace -p $a; fi; sleep 1; done

proftpd : bitrix vm : установка

yum install proftpd

echo 'PassivePorts 40900 40999' >> /etc/proftpd.conf
echo 'DefaultRoot ~' >> /etc/proftpd.conf

vipw
делаем копию пользователя bitrix с его uid, правим как надо имя (ftpuser и путь к домашней директории, шелл указываем /bin/date

passwd ftpuser

echo '/bin/date' >> /etc/shells

systemctl enable proftpd
systemctl start proftpd


firewall-cmd --permanent --add-port=20-21/tcp
firewall-cmd --permanent --add-port=40900-40999/tcp 
firewall-cmd --reload

msmtp : bitrix gt : bitrix turbo : настройка отправка почты

Хостинг провайдер firstvds предоставляет скоростной хостинг для сайтов на bitrix на шаблоне своей разработки под названием bitrix-gt который основан на nginx + php-fpm

Как настроить отправку почты через внешний почтовый сервер (в данном случае яндекс) используя msmtp - гарантированной рабочий пример конфигурации

Сначала необходимо установить msmtp

# yum install msmtp

Далее необходимо указать его в php.ini вместо sendmail

# grep msmtp /etc/php.ini
sendmail_path = /usr/bin/msmtp -C /etc/msmtprc -a default -t -i

Файл конфигурации должен иметь права под которым работает php-fpm

# ls -l /etc/msmtprc
-rw------- 1 apache apache 191 июн  6 08:18 /etc/msmtprc

Содержимое файла

# cat /etc/msmtprc
account default
logfile /usr/share/httpd/msmtp.log
host smtp.yandex.ru
port 587
from example@yandex.ru
auth on
user example@yandex.ru
password *****
tls on
tls_starttls on
tls_certcheck off

Файл логов должен находиться в домашней директории пользователя apache (в вышележащей не работает) и иметь права для записи

# ls -l /usr/share/httpd/msmtp.log
-rw-r--r-- 1 apache apache 10018 июн  6 08:20 /usr/share/httpd/msmtp.log

В некоторых случаях при отправке почты через gmail может быть необходимо разрешить Небезопасные приложения в настройках аккаунта https://myaccount.google.com/lesssecureapps

nginx php-fpm : чпу для joomla : rewrite

Так как .htaccess в php-fpm не работает, то достаточно одной строки чтобы работали ЧПУ ссылки в joomla:
try_files $uri $uri/ /index.php?args;

Пример виртуального хоста ниже:

server {
    server_name example.ru www.example.ru;
    charset UTF-8;
    index index.php index.html;
    disable_symlinks if_not_owner from=$root_path;
    include /etc/nginx/vhosts-includes/*.conf;
    include /etc/nginx/vhosts-resources/example.ru/*.conf;
    access_log /var/www/httpd-logs/example.ru.access.log;
    error_log /var/www/httpd-logs/example.ru.error.log notice;
    ssi on;
    set $root_path /var/www/default_user/data/www/example.ru;
    root $root_path;
    listen 10.11.10.11:80;
    location / {
        try_files $uri $uri/ /index.php?args;
        location ~ [^/]\.ph(p\d*|tml)$ {
            try_files /does_not_exists @php;
        }
    }
    location @php {
        fastcgi_index index.php;
        fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@example.ru";
        fastcgi_pass unix:/var/www/php-fpm/default_user.sock;
        fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
        try_files $uri =404;
        include fastcgi_params;
    }
}


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

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

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

bitrix циклический редирект на самого себя (отключить проактивную защиту)

Иногда после переноса сайта на bitrix на php-fpm (например, на шаблон Bitrix GT) возникает у сайта циклический редирект на самого себя

Лечится отключением проактивной защиты в базе так как не срабатывает список разрешенных доменных имен

MariaDB [bitrix0]> DELETE FROM b_module WHERE `ID`='security' ;
Query OK, 1 row affected (0.001 sec)

MySQL : ошибка репликации : Last_SQL_Errno: 1396

Настроено по документации ruhighload.com репликация mariadb 10.3
На исходном сервере запущено в docker, на slave - на localhost

https://ruhighload.com/%D0%9A%D0%B0%D0%BA+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C+mysql+master-slave+%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8E%3F

Репликация у клиента остановилась с ошибкой:
Last_SQL_Errno: 1396
Last_SQL_Error: Error 'Operation ALTER USER failed for 'username'@'172.17.0.1'' on query. Default database: ''. Query: 'ALTER USER 'username'@'172.17.0.1' IDENTIFIED BY 'passwd''


Решение: прописать на slave в [mysqld]
slave-skip-errors = 1396

Причина: нет такого пользователя на slave, данный запрос вручную также не проходил
Пользователь репликации не может управлять пользователями БД

PHP geoip и browcap для альтернативной версии PHP 7.1 ISPmanager CentOS 7

yum groupinstall "Development Tools"
 

yum install GeoIP
yum install GeoIP-data
yum install GeoIP-devel

/opt/php71/bin/pecl install geoip-1.1.1
echo 'extension=geoip.so' > /opt/php71/etc/php.d/geoip.ini

mkdir /usr/local/browcap/
wget http://browscap.org/stream?q=PHP_BrowsCapINI -O /usr/local/browcap/php_browscap.ini

tail -3 /opt/php71/etc/php.ini
[browscap]
; http://php.net/browscap
browscap = /usr/local/browcap/php_browscap.ini