Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
24 Март 2023

MailHog — отладка почтового функционала в среде разработки. Установка и настройка на CentOs Bitrix_env.

При работе в тестовой или локальной среде как правило отключат работу с почтой — иначе возможна рассылка реальным клиентам всякой информации с тестового или локального сервера, что конечно же недопустимо.
Тем не менее отладку функционала работающего с почтой никто не отменял — как же быть?

Один из вариантов решений — mailhog

Сервис настраивается вместо smtp почтового сервера и всё — он ловит всю исходящую почту, для просмотра есть веб мордочка.

Для установки и настройки MailHog

Берём отсюда
https://gist.github.com/Caffe1neAdd1ct/ea28bb49baaea86c203407629b442681
установочный скрипт — запускаем.

Далее с этой же страницы берём сам скрипт запуска (я взял тот, что без авторизации — пониже который) и заменяем /etc/init.d/mailhog
Всё сервис должен работать.

Далее настраиваем веб мордочку.
Берём тут конфиг https://gist.github.com/blakethepatton/7928abb131593fd192606b681ee47b2b и вставляем в nginx (я предварительно создал сайт mailhog.mysite.loc и там уже подменил)

Всё — веб мордочка тоже должна заработать.

Далее нужно в самой системе установить mhsendmail и в конфиге php.ini указать, что при отправке почты использовать именно его.

Я ставил так


yum install go
go install github.com/mailhog/mhsendmail@latest
ln ~/go/bin/mhsendmail /usr/bin/mhsendmail
mhsendmail -h

далее идём в /etc/php.d/bitrixenv.ini
и правим
sendmail_path = mhsendmail

ребутим аппач — должно работать

у меня сразу не взлетело т.к. в настройках сайта sendmail_path был переопределён — так что если что смотрите конфиги nginx и httpd на предмет sendmail_path

после того как в php.ini добавили sendmail_path = mhsendmail можно проверить отправку письма с командной строки https://github.com/mailhog/mhsendmail


> mhsendmail test@mailhog.local <
To: Test
Subject: Test message

Some content!
EOF

рубрики: Полезности, Программирование | Комментарии (0)

22 Март 2023

Nuxt host url undefined — некорректная ссылка. Как работает «Поделиться» в браузере мобильного.

Так и не придумал нормальный заголовок — фиг с ним, пусть так будет… кривой и непонятный, зато я со своей проблемой нашел бы статейку и быстро всё пофиксил.
А так — только зря ковырялся часа 3 в проекте.

Проблемный кейс — захожу на сайт, перехожу по любой ссылке, возвращаюсь нажимаю «поделиться» — в сервис куда поделились «улетает» заголовок и ссылка https://site.ru/undefined/
При прямом заходе по ссылке всё нормально.

Начну с того, что в браузере этот механизм использует информацию из open-graph meta тэгов.
В онлайн режиме повторяем кейс и смотрим DOM —

Попался!

Далее уже специфика конкретного проекта на NUXT

Установка мета тегов
/layouts/default/default.ts

head () {
return {
title: this.seo?.title || TITLE,
meta: [
{ hid: 'keywords', name: 'keywords', content: this.seo?.keywords || '' },
{ hid: 'description', name: 'description', content: this.seo?.description || DESCRIPTION },
{ hid: 'title', name: 'title', content: this.seo?.title || TITLE },
{ hid: 'og:title', property: 'og:title', content: this.seo?.title || TITLE },
{ hid: 'og:description', property: 'og:description', content: this.seo?.description || DESCRIPTION },
{ hid: 'og:url', property: 'og:url', content: ${process.env.PROXY_BASE}${this.$route.fullPath} },
],

Переменная окружения process.env.PROXY_BASE не срабатывала как полагается.
Для того, чтобы всё работало добавляем proxyBase в publicRuntimeConfig

/.configs.nuxt/runtime-config.js

export default {
publicRuntimeConfig: {
proxyBase: process.env.PROXY_BASE,

После чего в шаблоне вместо process.env.PROXY_BASE используем this.$config.proxyBase

Вуаля

рубрики: Nuxt | Комментарии (0)

12 Март 2023

BITRIX — убираем атрибуты type в теге script и лишние закрывающие слешы

При проверке на валидность страницы сайта на CMS Битрикс валидатор ругается на присутствие type в теге script (устаревший атрибут)

Warning: The type attribute is unnecessary for JavaScript resources.

а так же на лишний закрывающий тег в одиночных тегах (тоже устаревшая запись)

Trailing slash on void elements has no effect and interacts badly with unquoted attribute values.

решение — вешаем обработчик на OnEndBufferContent и вырезаем из сформированного буфера

PS
в регулярке почему то конструкция [link|metainput] не «взлетела», разбираться пока не стал — если кто подскажет почему, подкорректирую.

рубрики: Bitrix, Полезности | Комментарии (0)

8 Март 2023

Виртуалка VMWare с CentOs не получает IP адрес — Connection ‘ens33’ is not available on device ens33 because device is strictly unmanaged

Хост машина с Ubuntu 22.04 на ней VMWare Player
после зависона VMWare Player из за переполнения винта — guest CentOs ни в какую не видит сетевой интерфейс
#ifconfig
показывает только lo
#ip a
слава богу видит ens33 но с пометкой unmanaged

нарыл в сети утилитку по настройке — nmtui
вроде всё автоматом поставил, пытаюсь активировать — получаю ошибку

Could not activate connection: Connection ‘ens33’ is not available on device ens33 because device is strictly unmanaged

2 часа мучений и спасительные 3 команды
nmcli n off
nmcli n on
nmcli

вуаля — всё работает!
ребут — всё работат!

вот такая херня на ровном месте

рубрики: VM, Администрирование, Полезности | Комментарии (0)