Очередное ТО

Всем привет! Особо писать нечего, машинка радует. Установил себе оригинальные туманки с оригинальными рамками. Всё брал на eBay. Но пока не подключал. Сложность в отсутствии места где этим заниматься, да ещё и программно нужно активировать. здесь гайки должны стоять наоборот. Винт изнутри вкручивается. А в планах ещё активация задней птф, перевод дхо на отдельную нить габаритов. Да много чего ещё. Чуть позже был утерян передний шильдик, эмблема. Или кто-то забрал себе в коллекцию. Очень обидно было. Это как минимум 700 грн, около 30$. Собрался и купил на eBay. Пришлось конечно подождать, но это был самый выгодный вариант оригинала. Этот уже был приклеен эпоксидным клеем. А сверху затянут пленкой. Машинка стала сообщать о предстоящем то. Для то заранее были куплены масло, фильтра. Такие же, как и в прошлый раз. Масло Wolf vitaltech 5w-20 dexos1 gen2. Фильтр acdelco pf64 пришёл новой модификации, с другим номером. Первый раз заменил воздушный фильтр двигателя. Менял сам дома, так как руки из нужного места. Кажется даже расход упал. Старенький был подгулявшим уже. Потрачено: 1 100 грн Пробег: 59 300 км

21 листопада 2019 · 1 хвилина · 174 слів · dimetrius

Исправляем - memcache.so: undefined symbol: mmc_queue_pop

Если вы столкнулись с ошибкой, подобной той, что написана в заголовке, это может означать, что ваше приложение может не работать при попытке использовать расширение memcache из-за неправильной или отсутствующей сборки расширения. “php: symbol lookup error: /usr/local/lib/php/extensions/no-debug-non-zts-20131226/memcache.so: undefined symbol: mmc_queue_pop” Чтобы исправить эту проблему, вам нужно передать опцию «fgnu89-inline» компилятору с переменной среды CFLAGS при установке пакета через pecl. Эта опция указывает компилятору C использовать традиционную семантику GNU для встроенных функций. Если модуль memcache был установлен из пакетов, нужно его удалить. 1 $ pecl uninstall memcache После установим заново, но немного иначе 1 $ yes|CFLAGS="-fgnu89-inline" pecl install memcache-3.0.8 Готово! Аналогичное решение можно применить при ручной сборке модуля. Нужно добавить -fgnu89-inline в переменную CFLAGS=. Чем я и занимался. Статья частично переведена google translate, особо времени доволить до ума небыло.

31 жовтня 2019 · 1 хвилина · 127 слів · dimetrius

Пример конфигурации ограничения скорости обработки запросов в nginx с исключениями

Очень краткая заметка с примером как можно ограничить скорость обработки запросов от IP адресов, но исключив при этом роботов с определённым “юзер агентом”. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # ref: https://gist.github.com/supairish/2951524 # IP адреса в белом списке - для них не будет применяться лимитирование geo $geo_whitelist { default 0; 1.2.3.4 1; 2.3.4.5/24 1; } # Юзер агенты в белом списке - для них не будет применяться лимитирование map $http_user_agent $whitelist { default $geo_whitelist; ~*(google) 1; } # Если в белом списке 0, то помещаем "binary IP address" в $limit для применения к ним ограничений map $whitelist $limit { 0 $binary_remote_addr; 1 ""; } limit_req_zone $limit zone=perip:30m rate=1r/s;​

25 вересня 2019 · 1 хвилина · 124 слів · dimetrius

Русский автоответ в exim (UTF-8)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 begin routers ... autoreplay: driver = accept require_files = /etc/exim/autoreply/$domain/autoreply.${local_part}.msg condition = ${if exists{/etc/exim/autoreply/$domain/autoreply.${local_part}.msg}{yes}{no}} retry_use_local_part transport = userautoreply unseen begin transports ... userautoreply: driver = autoreply file = /etc/exim/autoreply/$domain/autoreply.${local_part}.msg from = "${local_part}@${domain}" subject = "${if def:h_Subject: {Autoreply: \"${rfc2047:$h_Subject:}\"} {Autoreply Message}}" headers = Content-Type: text/plain; charset=utf-8;\nContent-Transfer-Encoding: 8bit to = "${sender_address}"

22 серпня 2019 · 1 хвилина · 68 слів · dimetrius

Подготовка mysql

1 2 3 4 5 6 7 [mysqld] skip-external-locking bind-address = 127.0.0.1 skip-name-resolve = 1 sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION query_cache_size = 0 query_cache_type = 0

21 серпня 2019 · 1 хвилина · 24 слів · dimetrius

Заметки по mysql

В качестве памятки для себя… Если видим ошибку “The table ‘galleries’ is full”, увеличиваем значение heap_table_max_size Замена в таблице UPDATE articles SET text = REPLACE(text, 'http://', 'https://') WHERE text LIKE '%http://%';

15 серпня 2019 · 1 хвилина · 31 слово · dimetrius

Отключение файрволла cpanel

Файрволл в cpanel представлен сервисом csf, иногда приходится его останавливать из-за слишком “удачной” настройки клиентами. После не забыть iptables -F

6 серпня 2019 · 1 хвилина · 20 слів · dimetrius

Dovecot аналог виртуальных хостов

В этой заметке вы сможете узнать о том что dovecot поддерживает ip-based, domain-based конфигурации для SSL. 1 2 3 4 5 6 7 8 9 local 10.10.10.11 { ssl_cert = </home/domain0/ssl.cert ssl_key = </home/domain0/ssl.key } local 10.10.10.12 { ssl_cert = </home/domain1/ssl.cert ssl_key = </home/domain2/ssl.key } При этом необходимо убрать из конфигурации SSL сертификаты, которые вне этих секций. Так же можно указывать SSL сертификаты для доменов: 1 2 3 4 5 6 7 8 9 local_name mail.domain0.com { ssl_cert = </home/domain0/ssl.cert ssl_key = </home/domain0/ssl.key } local_name mail.domain1.com { ssl_cert = </home/domain1/ssl.cert ssl_key = </home/domain1/ssl.key }

16 липня 2019 · 1 хвилина · 94 слів · dimetrius

Exim и несколько доменов, IP адресов

В этой статье добавлю варианты как можно разделить по IP адресам почтовые домены. Очень мало воды и много конфигов. Выбор SSL сертификата на основании домена 1 2 tls_certificate = ${if exists{/etc/ssl/${tls_sni}.crt}{/etc/ssl/${tls_sni}.crt}{/etc/ssl/default_domain.crt}} tls_privatekey = ${if exists{/etc/ssl/${tls_sni}.key}{/etc/ssl/${tls_sni}.key}{/etc/ssl/default_domain.key}}​ где сертификаты должны лежать по пути /etc/ssl/domain.com.crt, а ключи — /etc/ssl/domain.com.key. В случае, если для какого-то домена не будет сертификата, то будет использоваться сертификат по умолчанию — /etc/ssl/default_domain.crt (и соответствующий ключ /etc/ssl/default_domain.key) Обращаю внимание что этот вариант может корректно не работать со STARTTLS. Выбор SSL сертификата на основании сравнения IP адреса и домена 1 2 tls_certificate = ${lookup{$received_ip_address}lsearch{/etc/exim/ips_in.conf}{/opt/mail/ssl/$value.pem}{/opt/mail/ssl/domain.com.cer}} tls_privatekey = ${lookup{$received_ip_address}lsearch{/etc/exim/ips_in.conf}{/opt/mail/ssl/$value.key}{/opt/mail/ssl/domain.com.key}} Используется файл вида: 1 2 3 # cat /etc/exim/ips_in.conf 8.140.110.229: mail2.domain.com 8.140.110.228: mail2.domain2.com Что бы сервер представлялся нужным доменом, правим transports remote_smtp (указывем helo_data): 1 2 3 4 5 remote_smtp: driver = smtp ... helo_data = $sender_address_domain ... Ещё варианты будут описаны ниже. Для выбора IP во время отправки почты и для представления сервера можно использовать конфигурацию 1 2 3 4 remote_smtp: driver = smtp + interface = ${if exists {/etc/exim/ips_out.conf}{${lookup{$sender_address_domain}lsearch{/etc/exim/ips_out.conf}{$value}{}}}{}} + helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}{$primary_hostname}} Здесь мы выбираем какой интерфейс использовать при отправке почты на основании данных в файле, который описан ниже. А так же представляемся именем домена из PTR этого IP адреса. ...

16 липня 2019 · 2 хвилин · 276 слів · dimetrius

Конфигурация rsyncd сервера

# cat /etc/rsyncd.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 pid file = /var/run/rsyncd.pid syslog facility = local5 munge symlinks = no use chroot = no uid=root socket options="--sockopts=SO_SNDBUF=65536,SO_RCVBUF=131072" [user] path = /home/user write only = false read only = true hosts allow = hostYYY.domain.net 192.168.3.8 [nginx] path = /etc/nginx write only = false read only = true hosts allow = hostXXX.domain.net 192.168.3.1 При этом на другом хосте можем использовать конструкцию rsync -av rsync://host1.com/user/web/domain.net/public_html/ /home/web/domain.net/public_html/

26 червня 2019 · 1 хвилина · 86 слів · dimetrius