Поднимаем свой DNS-over-TLS сервер на nginx proxy debian 9

# cat /etc/nginx/nginx.conf
load_module modules/ngx_stream_module.so;
worker_processes 1;
events {
}

stream {
    # DNS upstream pool
    upstream dns {
        server 127.0.0.1:53;
    }

    # DoT server for decryption
    server {
        listen 853 ssl;
        ssl_certificate /root/.acme.sh/dns.myserver.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/dns.myserver.com/dns.myserver.com.key;
        ssl_protocols TLSv1.2;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 1d;

        proxy_pass dns;
    }
}


На 127.0.0.1 запускаем всеми любимый pdns-recusor или unbound или все что угодно,
при использовании unbound в конфиг пишем access-control: 127.0.0.0/8 allow_snoop чтобы работал dig +trace (администраторам это важно)

# crontab -l
15 15 * * * /root/.acme.sh/acme.sh --issue -d dns.myserver.com --standalone --pre-hook "service nginx stop" --post-hook "service nginx start"  > /dev/null

На роутере следовательно используем ваш сервер DNS-over-TLS не завися от выкрутасов провайдера (подмена DNS) или google / cloudflare (у них также DNS есть с TLS на 8.8.8.8 и 1.1.1.1 на 853 порту

Linux : mdadm raid 1 : resize md устройств : изменить размер

Как изменить размер файловой системы на программном raid 1 (mdadm) при переносе на диски большего объема

Вытаскиваем физически второй диск, загружаем сервер в rescue linux с внешнего диска и затем проводим операции на первом диске

# mdadm --stop /dev/md0
# mdadm --stop /dev/md1
# mdadm --stop /dev/md2

Далее увеличиваем партицию

# parted

// для партиции sda3
// ключ -1 означает до максимального размера

resizepart
3
-1

Перезагрузка сервера для перезапуска md устройств (также в режим linux rescue livecd)

# reboot

Затем проводим увеличение устройства md2 на весь диск

# mdadm --grow /dev/md2 --size=max

После чего производится увеличение файловой системы

для ext4

# e2fsck -f /dev/md2
# resize2fs /dev/md2

для xfs
(проверка производится на отмонтированой файловой системе, resize на смонтированной)

# xfs_repair /dev/md2

# mount /dev/md2 /mnt
# xfs_growfs /mnt

Убеждаемся что все работает
Меняем второй диск
Добавляем в raid
Не забываем поставить на второй диск загрузчик grub

/etc/php.d/bitrixenv.ini

Часто бывает bitrixenv.ini обнуляется, бэкап этого конфига из чистой установки битрикса

; Set parameters required for proper Bitrix engine functioning.
; You can redefine parameters specified in this file
; by editing /etc/php.d/z_bx_custom_settings.ini

; Configure error processing
display_errors = On
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING

; Set some more PHP parameters
enable_dl = Off
short_open_tag = On
allow_url_fopen = On

; Change default values of important constants
max_input_vars = 10000
max_file_uploads = 100
max_execution_time = 300
post_max_size = 1024M
upload_max_filesize = 1024M
pcre.backtrack_limit = 1000000
pcre.recursion_limit = 14000
realpath_cache_size = 4096k
mysql.default_socket = /var/lib/mysqld/mysqld.sock
mysqli.default_socket = /var/lib/mysqld/mysqld.sock

; Utf-8 support
mbstring.func_overload = 2
mbstring.internal_encoding = UTF-8

; Configure PHP sessions
session.entropy_length = 128
session.entropy_file = /dev/urandom
session.save_path = "/tmp/php_sessions/www"
session.cookie_httponly = On

; Set directory for temporary files
upload_tmp_dir = "/tmp/php_upload/www"

sendmail_path = msmtp -t -i
date.timezone = Europe/Moscow
memory_limit = 256M

MySQL 5.7 : Сброс пароля root

mkdir /var/run/mysqld && chown mysql:mysql /var/run/mysqld

mysqld_safe --skip-grant-tables &

mysql> use mysql
mysql> update user set authentication_string=PASSWORD("passw0rd") where User='root';

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;
    }
}