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

How to install LetsEncrypt SSL certificates on the server via Shell script (not certbot)

Use this library: https://github.com/srvrco/getssl

  1. Download the library:
curl https://raw.githubusercontent.com/srvrco/getssl/master/getssl > getssl ; chmod 700 getssl
  1. Create a domain configuration (here and after dont forget change “ahrameev.ru” to your domain)
./getssl -c ahrameev.ru
  1. Open the config file for editing
mcedit ~/.getssl/ahrameev.ru/getssl.cfg
  1. Uncomment the next line for testing
CA="https://acme-staging-v02.api.letsencrypt.org"
  1. Also uncomment the next line and set it to “true”
USE_SINGLE_ACL="true"
  1. Add to the end of the file (change /var/www/ahrameev.ru/ to your htdocs root path)
ACL=('/var/www/ahrameev.ru/.well-known/acme-challenge')
  1. Save changes and run the process to getting of certificates (in test mode for while). Dont forget change “ahrameev.ru” to your domain
./getssl ahrameev.ru
  1. If everything is ok open the config file to edit it again
mcedit ~/.getssl/ahrameev.ru/getssl.cfg
  1. And comment CA=“https://acme-staging-v02.api.letsencrypt.org” but uncomment the next line for getting full certificates:
CA="https://acme-v02.api.letsencrypt.org"
  1. Save changes and run the process to getting of certificates again
./getssl ahrameev.ru
  1. If everything is ok you’ll get certificates in ~/.getssl/ahrameev.ru/ folder. Add it to nginx configuration (or another web server). For example:
ssl_certificate /home/denis/.getssl/ahrameev.ru/ahrameev.ru.crt;
ssl_certificate_key /home/denis/.getssl/ahrameev.ru/ahrameev.ru.key;
ssl_trusted_certificate /home/denis/.getssl/ahrameev.ru/chain.crt;
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:RSA+3DES:!NULL:!RC4;

Restart your web server and browser.

 No comments    12   22 d  

Как исправить в 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 в этой строке).

 No comments    66   4 mo  

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

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
 No comments    100   4 mo  

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
 No comments    108   4 mo  

Пример конфигурации 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
 No comments    147   6 mo  

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

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

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

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

 No comments    85   6 mo  

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

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

ngrok http www.localdomain:80 -host-header=rewrite
 No comments    69   7 mo  
 No comments    80   7 mo  
 No comments    79   7 mo  
 No comments    84   7 mo  
Earlier Ctrl + ↓