Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

Почта на своём домене

Автор blattodea, 01 июня 2023, 02:31:39

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

blattodea

Доброй ночи

Необходимо создать почту на своём домене, но яндексы и всякие майлру стали платными. Как организовать всё это дело на своём сервере?

Что нужно:

— получать письма на мыло вида admin@domain.org и от отправлять их с него же;
— чтобы всё это приходило ко мне на комп;
— какая-нибудь графическая морда для всего этого дела (можно веб-физиономию, но чтобы можно было скачать вложения какие-нибудь и отправлять их тоже).

Искал в сети, но там всё как-то заумно напечатано и для дебианов с рпм-ами, пути, команды и прочие премудрости иные. Если есть где-то инструкция, ткните носом, пожалуйста. Если нет, очень прошу научить.

На сколько я понимаю, по умолчанию установлен postfix (ругается при вызове, что я его беспокою без инструкций):

# postfix

postfix/postfix-script: fatal: unknown command: ''. Usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration, logrotate)

С этим вопросом никогда не сталкивался, умею только веб-сервер поднимать, сейчас у меня на нём крутятся несколько сайтов (если он пригодится, может быть как-то связан с почтовым).

Заранее брагодарен  ;)

Graf

Инструкция есть, но я её никак в вике не оформлю.  :rolleyes_mini:
С другой стороны, всё, что есть в инете для других ОСей, применимо и в слаке. Конфиги те же и, часто, в том же месте.
Вкратце:

Поднимаешь МТА (например, Postfix) - с белым адресом в инет. То, что будет принимать почту, проверять на вирусы, спам, чёрные-белые-серые списки и прочее, и передавать MDA. Т.е., это твой почтовый шлюз со всеми вытекающими и втекающими;  :biggrin_mini2:

Поднимаешь MDA (например, Postfix+dovecot) - т.е., это твой IMAP (если надо POP3) сервер, который раскладывает все письма по ящикам и контролирует доступ юзверей к ним, соответственно. Тут же можно настроить DKIM, например, на базе OpenDKIM.

Настраиваешь DNS записи (ты же ими управляешь, да?) - т.е. прописываешь А-запись и МХ-запись для своего МТА, прописываешь DKIM, DMARC, SPF. Просишь прова чтобы прописал в обратной зоне адрес твоего МТА, т.е. PTR-запись. Либо просишь его, согласно RFC2317, делегировать тебе обратную зону в диапазоне адресов, если у тебя пул. На один адрес не дадут. И сам всё прописываешь.

В качестве MUA можешь юзать, что угодно. Если веб-морда, то весьма приличный RoundCube.

Да, не забыть настроить TLS, можно при помощи Let's Encrypt и для Postfix c Dovecot, и для веб-морды.

Всё!  :biggrin_mini:

Либо, взять и настраивать что-то готовое, типа CommuniGate или Zimbra. Кажется, оно не совсем бесплатное и геморройчик с настройками тоже присутствует.  :)   


blattodea


blattodea

А как настроить dehydrated? Надобно получить сертификат SSL. А вот /etc/dehydrated/domains.txt нетути(

Graf

Цитата: blattodea от 02 июня 2023, 09:32:04А как настроить dehydrated? Надобно получить сертификат SSL. А вот /etc/dehydrated/domains.txt нетути(

А чем не угодил certbot?

blattodea

#5
Цитата: Graf от 02 июня 2023, 10:41:59
Цитата: blattodea от 02 июня 2023, 09:32:04А как настроить dehydrated? Надобно получить сертификат SSL. А вот /etc/dehydrated/domains.txt нетути(

А чем не угодил certbot?

А я делаю вот по этому рецепту

И у меня при рестарте индейца вот это:

Syntax error on line 92 of /etc/httpd/extra/httpd-ssl.conf:
SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?).

В /etc/httpd/httpd.conf раскомментировал модуль, теперь вот это:

AH00526: Syntax error on line 144 of /etc/httpd/extra/httpd-ssl.conf:
SSLCertificateFile: file '/etc/httpd/server.crt' does not exist or is empty

/etc/httpd/extra/httpd-vhosts.conf:

<VirtualHost *:80>
    ServerAdmin webmaster@bromeliaceae.su
    DocumentRoot "/home/max/www/bromeliaceae.su"
    ServerName bromeliaceae.su
    ServerAlias www.bromeliaceae.su
    ErrorLog "/home/max/www/log/bromeliaceae.su-error_log"
    CustomLog "/home/max/www/log/bromeliaceae.su-access_log" common
    Redirect permanent / https://www.bromeliaceae.su/
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin max@bromeliaceae.su
    DocumentRoot "/home/max/www/bromeliaceae.su"
    ServerName bromeliaceae.su
    ServerAlias www.bromeliaceae.su
    ErrorLog "/home/max/www/log/bromeliaceae.su-error_log"
    CustomLog "/home/max/www/log/bromeliaceae.su-access_log" combined
    Alias /.well-known/acme-challenge /usr/local/dehydrated
    <Directory /usr/local/dehydrated>
        Options None
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Graf


blattodea

Цитата: Graf от 02 июня 2023, 12:56:04Для примера.

Ой как сложно всё(

Ну у меня сейчас сайт работает на этом домене. ДНС-ки прописаны.

Вот с этого момента «nslookup my-cloud.ru»

Server:         192.168.0.1
Address:        192.168.0.1#53

Non-authoritative answer:
Name:   bromeliaceae.su
Address: 46.32.79.171
Name:   bromeliaceae.su
Address: 194.58.112.174

А вот это:

sbopkg -Bki "configobj josepy zope.component zope.event zope.interface requests-toolbelt \
pyrfc3339 pytz python-parsedatetime python-augeas pyOpenSSL python3-configargparse letsencrypt"

Зоуп это же такая штука для Питона? Она точно нужна? Или этот шаг можно пропустить?))

Graf

Цитата: blattodea от 02 июня 2023, 13:06:33Ну у меня сейчас сайт работает на этом домене. ДНС-ки прописаны.
Пропускаешь этот пункт.

Цитата: blattodea от 02 июня 2023, 13:06:33Зоуп это же такая штука для Питона? Она точно нужна? Или этот шаг можно пропустить?))
Это нужно для letsencrypt.

blattodea

Цитата: Graf от 02 июня 2023, 13:10:50
Цитата: blattodea от 02 июня 2023, 13:06:33Ну у меня сейчас сайт работает на этом домене. ДНС-ки прописаны.
Пропускаешь этот пункт.

Цитата: blattodea от 02 июня 2023, 13:06:33Зоуп это же такая штука для Питона? Она точно нужна? Или этот шаг можно пропустить?))
Это нужно для letsencrypt.

Хорошо, сейчас поставим

blattodea

Вот так вот:

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email max@bromeliaceae.su -d bromeliaceae.su -d www.bromeliaceae.su

...

File "/usr/lib64/python3.9/site-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
ModuleNotFoundError: No module named 'cryptography'

Graf

Цитата: blattodea от 02 июня 2023, 13:16:28No module named 'cryptography'
Хм.. у меня не требовал в 15.0
Тогда:
# sbopkg -Bki "python3-pycrypto python3-setuptools-rust python3-semantic-version cryptography"

blattodea

А теперь:

File "/usr/lib64/python3.9/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ModuleNotFoundError: No module named 'cryptography.hazmat.bindings._openssl'
  :(

Graf

Цитата: blattodea от 02 июня 2023, 14:10:36No module named 'cryptography.hazmat.bindings._openssl'
А cryptography точно поставилось?

blattodea

Цитата: Graf от 02 июня 2023, 14:20:19
Цитата: blattodea от 02 июня 2023, 14:10:36No module named 'cryptography.hazmat.bindings._openssl'
А cryptography точно поставилось?

SUMMARY LOG
Using the SBo repository for Slackware 15.0
Queue Process:  Download, build, and install

python3-pycrypto:
  MD5SUM check for pycrypto-2.6.1.tar.gz ... OK
  Building package python3-pycrypto-2.6.1-x86_64-1_SBo.tgz ... OK
  Installing package python3-pycrypto-2.6.1-x86_64-1_SBo.tgz ... OK

python3-setuptools-rust:
  MD5SUM check for setuptools-rust-0.12.1.tar.gz ... OK
  Building package python3-setuptools-rust-0.12.1-x86_64-1_SBo.tgz ... OK
  Installing package python3-setuptools-rust-0.12.1-x86_64-1_SBo.tgz ... OK

python3-semantic-version:
  MD5SUM check for python-semanticversion-2.10.0.tar.gz ... OK
  Building package python3-semantic-version-2.10.0-x86_64-1_SBo.tgz ... OK
  Installing package python3-semantic-version-2.10.0-x86_64-1_SBo.tgz ... OK

cryptography:
  MD5SUM check for cryptography-38.0.4.tar.gz ... OK
  MD5SUM check for unicode-ident-1.0.3.crate ... OK
  MD5SUM check for log-0.4.17.crate ... OK
  MD5SUM check for js-sys-0.3.59.crate ... OK
  MD5SUM check for core-foundation-sys-0.8.3.crate ... OK
  MD5SUM check for iana-time-zone-0.1.47.crate ... OK
  MD5SUM check for bumpalo-3.10.0.crate ... OK
  MD5SUM check for android_system_properties-0.1.5.crate ... OK
  MD5SUM check for Inflector-0.11.4.crate ... OK
  MD5SUM check for aliasable-0.1.3.crate ... OK
  MD5SUM check for asn1-0.12.2.crate ... OK
  MD5SUM check for asn1_derive-0.12.2.crate ... OK
  MD5SUM check for autocfg-1.1.0.crate ... OK
  MD5SUM check for base64-0.13.0.crate ... OK
  MD5SUM check for bitflags-1.3.2.crate ... OK
  MD5SUM check for cfg-if-1.0.0.crate ... OK
  MD5SUM check for chrono-0.4.22.crate ... OK
  MD5SUM check for indoc-impl-0.3.6.crate ... OK
  MD5SUM check for indoc-0.3.6.crate ... OK
  MD5SUM check for instant-0.1.12.crate ... OK
  MD5SUM check for lazy_static-1.4.0.crate ... OK
  MD5SUM check for libc-0.2.132.crate ... OK
  MD5SUM check for lock_api-0.4.8.crate ... OK
  MD5SUM check for num-integer-0.1.45.crate ... OK
  MD5SUM check for num-traits-0.2.15.crate ... OK
  MD5SUM check for once_cell-1.14.0.crate ... OK
  MD5SUM check for ouroboros-0.15.4.crate ... OK
  MD5SUM check for ouroboros_macro-0.15.4.crate ... OK
  MD5SUM check for parking_lot-0.11.2.crate ... OK
  MD5SUM check for parking_lot_core-0.8.5.crate ... OK
  MD5SUM check for paste-impl-0.1.18.crate ... OK
  MD5SUM check for paste-0.1.18.crate ... OK
  MD5SUM check for pem-1.1.0.crate ... OK
  MD5SUM check for proc-macro-error-attr-1.0.4.crate ... OK
  MD5SUM check for proc-macro-error-1.0.4.crate ... OK
  MD5SUM check for proc-macro-hack-0.5.19.crate ... OK
  MD5SUM check for proc-macro2-1.0.43.crate ... OK
  MD5SUM check for pyo3-build-config-0.15.2.crate ... OK
  MD5SUM check for pyo3-macros-backend-0.15.2.crate ... OK
  MD5SUM check for pyo3-macros-0.15.2.crate ... OK
  MD5SUM check for pyo3-0.15.2.crate ... OK
  MD5SUM check for quote-1.0.21.crate ... OK
  MD5SUM check for redox_syscall-0.2.16.crate ... OK
  MD5SUM check for regex-syntax-0.6.25.crate ... OK
  MD5SUM check for regex-1.5.4.crate ... OK
  MD5SUM check for scopeguard-1.1.0.crate ... OK
  MD5SUM check for smallvec-1.9.0.crate ... OK
  MD5SUM check for stable_deref_trait-1.2.0.crate ... OK
  MD5SUM check for syn-1.0.99.crate ... OK
  MD5SUM check for unicode-xid-0.2.2.crate ... OK
  MD5SUM check for unindent-0.1.10.crate ... OK
  MD5SUM check for version_check-0.9.4.crate ... OK
  MD5SUM check for winapi-i686-pc-windows-gnu-0.4.0.crate ... OK
  MD5SUM check for winapi-x86_64-pc-windows-gnu-0.4.0.crate ... OK
  MD5SUM check for winapi-0.3.9.crate ... OK
  MD5SUM check for wasm-bindgen-backend-0.2.82.crate ... OK
  MD5SUM check for wasm-bindgen-macro-support-0.2.82.crate ... OK
  MD5SUM check for wasm-bindgen-macro-0.2.82.crate ... OK
  MD5SUM check for wasm-bindgen-shared-0.2.82.crate ... OK
  MD5SUM check for wasm-bindgen-0.2.82.crate ... OK
  Building package cryptography-38.0.4-x86_64-1_SBo.tgz ... OK
  Installing package cryptography-38.0.4-x86_64-1_SBo.tgz ... OK