Как изменить размер файловой системы на программном 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
; 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';
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
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*'"
/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
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
echo '/bin/date' >> /etc/shells
firewall-cmd --permanent --add-port=20-21/tcp
firewall-cmd --permanent --add-port=40900-40999/tcp
firewall-cmd --reload
echo 'PassivePorts 40900 40999' >> /etc/proftpd.conf
echo 'DefaultRoot ~' >> /etc/proftpd.conf
vipw
делаем копию пользователя bitrix с его uid, правим как надо имя (ftpuser и путь к домашней директории, шелл указываем /bin/date
passwd ftpuser
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
Как настроить отправку почты через внешний почтовый сервер (в данном случае яндекс) используя 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;
}
}
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/*
Убрать этот статус и выставить его как синхронизированно можно удалив файл в каталоге /usr/local/mgr5/var/slavestatus/
# rm -rf /usr/local/mgr5/var/slavestatus/*
Подписаться на:
Сообщения (Atom)