Rose debug info
---------------

Как исправить в Monit routines:tls_construct_client_hello:no protocols available

Если ошибка:

Mail: SSL connection error: error:141E70BF:SSL routines:tls_construct_client_hello:no protocols available

То в конфигурации укажите mailserver директиву следующим образом:

set mailserver smtp.yandex.com port 465 using SSL username your_username password your_password

где your_username и your_password замените на соответствующие (не путать с username и password в этой строке).

Настройка отправки писем на сервере через яндекс почту

1) Установка модулей

apt install libsasl2-modules mailutils

Где на вопрос General type of mail configuration выбрать: Internet Site.

2) Основная конфигурация

mcedit /etc/postfix/main.cf

Добавить в конец

# my config
relayhost =
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = login
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay
smtp_tls_CAfile = /etc/postfix/ca.pem
smtp_use_tls = yes

Сохранить и выполнить:

mkdir /etc/postfix/private
mcedit /etc/postfix/private/sender_relay

Где указать:

@yandex.ru    smtp.yandex.ru
@ya.ru        smtp.yandex.ru

После чего:

mcedit /etc/postfix/private/sasl_passwd

В нём укажите ваш почтовый ящик (вместо username@ya.ru) и пароль (вместо password):

username@ya.ru    username@ya.ru:password

3) Настройка сертификатов:

postmap /etc/postfix/private/{sasl_passwd,sender_relay}
openssl s_client -starttls smtp -crlf -connect smtp.yandex.ru:25

После того, как выполнение завершилось (висит фраза read R BLOCK и больше ничего не происходит), нажать
CTRL+C, чтобы остановить работу.
Из полученного вывода скопировать блок:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

В файл:

mcedit /etc/postfix/ca.pem

4) Проверка

Замените username@ya.ru на ваш почтовый ящик.

systemctl restart postfix
echo "It's work!" | mail -s "Check mail sending" username@ya.ru -aFrom:username@ya.ru

Fix: Let’s Encrypt не обновляет сертификат

Если такая ошибка:

Attempting to renew cert (ahrameev.ru) from /etc/letsencrypt/renewal/ahrameev.ru.conf produced an unexpected error: Missing command line flag or config entry for this setting:
Select the webroot for ahrameev.ru:
Choices: ['Enter a new webroot', '/var/www/site/dist/site']

(You can set this with the --webroot-path flag). Skipping.

То во первых, убедитесь, что .well-known доступен по www и без www домену. Возможно следует добавить правило в nginx:

location /.well-known/ {
    root /var/www/site/dist/site;
}

Во вторых, откройте конфиг о котором в тексте ошибке идёт речь:

mcedit /etc/letsencrypt/renewal/ahrameev.ru.conf

и проверьте секцию webroot_map, возможно в ней не хватает домена без или c www. Должно быть так:

...
[[webroot_map]]
ahrameev.ru = /var/www/site/dist/site
www.ahrameev.ru = /var/www/site/dist/site

Затем:

nginx -t
service nginx reload
certbot renew

Пример конфигурации Meilisearch как сервис (демон)

Шаг 1.

mcedit /etc/systemd/system/meilisearch.service
[Unit]
Description=MeiliSearch
After=systemd-user-sessions.service

[Service]
Type=simple
ExecStart=/usr/bin/meilisearch --no-sentry 1 --http-addr 127.0.0.1:7700 --env production --master-key ChangeSecuryKey --db-path /root/meilisearchdb

[Install]
WantedBy=default.target

Шаг 2.

systemctl daemon-reload
systemctl enable meilisearch
systemctl start meilisearch
systemctl status meilisearch

Meilisearch не запускается после обновления

Если лог запуска содержит ошибку:

meilisearch[2002]: Error: Cannot open database, expected MeiliSearch engine version:

То дело в том, что видите ли Meilisearch после обновления теряет обратную совместимость со старой базой поиска и самостоятельно это решить не может. Поэтому нам надо идти и удалять самим вручную базу поиска и перезапускать Meilisearch.

Типовой запуск ngrok

В nginx/apache отключить всякие переадресации при отсутствии https, нужного servername и т. п. Перезагрузить nginx/apache и только после этого:

ngrok http www.localdomain:80 -host-header=rewrite

Установка Puppeteer на Ubuntu

apt install ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils

yarn add puppeteer
Ранее Ctrl + ↓