This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
web_интерфейс_к_почте [2021/10/14 10:25] val [roundcube] |
web_интерфейс_к_почте [2025/10/26 08:14] (current) val |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Web интерфейс к протоколу imap4 ===== | ===== Web интерфейс к протоколу imap4 ===== | ||
| - | ==== roundcube ==== | + | ==== Roundcube ==== |
| * [[https://github.com/roundcube/roundcubemail/blob/master/config/defaults.inc.php|roundcubemail/config/defaults.inc.php]] | * [[https://github.com/roundcube/roundcubemail/blob/master/config/defaults.inc.php|roundcubemail/config/defaults.inc.php]] | ||
| * [[https://unix.stackexchange.com/questions/108611/how-to-set-the-default-domain-for-a-new-roundcube-webmail-user|How to set the default domain for a new Roundcube webmail user?]] | * [[https://unix.stackexchange.com/questions/108611/how-to-set-the-default-domain-for-a-new-roundcube-webmail-user|How to set the default domain for a new Roundcube webmail user?]] | ||
| + | |||
| + | === Базовая конфигурация === | ||
| + | |||
| * [[Сервис MySQL]] | * [[Сервис MySQL]] | ||
| * [[Сервис MTA#Настройка MTA на релеинг почты на основе аутентификации]] | * [[Сервис MTA#Настройка MTA на релеинг почты на основе аутентификации]] | ||
| Line 18: | Line 21: | ||
| $config['default_host'] = 'localhost'; | $config['default_host'] = 'localhost'; | ||
| $rcmail_config['mail_domain'] = 'corpX.un'; | $rcmail_config['mail_domain'] = 'corpX.un'; | ||
| + | ... | ||
| + | //https://treeone.ru/roundcube-smtp-error-code-1-connection-failed-after-upgrade-debian/ | ||
| + | //or add port 587 to mta | ||
| + | $config['smtp_server'] = 'localhost:25'; | ||
| ... | ... | ||
| </code><code> | </code><code> | ||
| Line 26: | Line 33: | ||
| ... | ... | ||
| </code> | </code> | ||
| + | |||
| + | === Roundcube LDAP Addressbook === | ||
| * [[http://www.productionmonkeys.net/guides/qmail-server/addons/ldap-addressbook/roundcube-ldap-addressbook|Roundcube LDAP Addressbook]] | * [[http://www.productionmonkeys.net/guides/qmail-server/addons/ldap-addressbook/roundcube-ldap-addressbook|Roundcube LDAP Addressbook]] | ||
| Line 37: | Line 46: | ||
| $config['ldap_public']['ldap'] = array( | $config['ldap_public']['ldap'] = array( | ||
| 'name' => 'Global Addresses', | 'name' => 'Global Addresses', | ||
| - | 'hosts' => array('server.corp13.un'), | + | 'hosts' => array('server.corpX.un'), |
| + | // 'hosts' => array('server2.corpX.un'), | ||
| 'port' => 389, | 'port' => 389, | ||
| 'use_tls' => false, | 'use_tls' => false, | ||
| Line 44: | Line 54: | ||
| 'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login. | 'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login. | ||
| - | 'base_dn' => 'ou=People,dc=corpX,dc=un', | + | // 'base_dn' => 'ou=People,dc=corpX,dc=un', |
| - | // 'base_dn' => 'cn=Users,dc=corpX,dc=un', | + | 'base_dn' => 'cn=Users,dc=corpX,dc=un', |
| - | // 'bind_dn' => 'cn=Administrator,cn=Users,dc=corpX,dc=un', | + | // 'base_dn' => 'dc=corpX,dc=un', |
| - | // 'bind_pass' => 'Pa$$w0rd', | + | 'bind_dn' => 'cn=Administrator,cn=Users,dc=corpX,dc=un', |
| + | 'bind_pass' => 'Pa$$w0rd', | ||
| 'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))' | 'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))' | ||
| Line 93: | Line 104: | ||
| ); | ); | ||
| + | </code><code> | ||
| + | # service apache2 restart | ||
| + | </code> | ||
| + | === OpenID аутентификация === | ||
| + | |||
| + | * [[https://goauthentik.io/integrations/services/roundcube/|This integration describes how to use Roundcube's oauth support with authentik to automatically sign into an email account]] | ||
| + | * [[https://github-wiki-see.page/m/roundcube/roundcubemail/wiki/Configuration:-OAuth2|Configuration: OAuth2 - roundcube/roundcubemail Wiki]] | ||
| + | * [[https://github.com/roundcube/roundcubemail/wiki/Configuration:-OAuth2|Configuration: OAuth2]] | ||
| + | * [[https://www.roundcubeforum.net/index.php?topic=29984.0|[SOLVED] Keycloak and Roundcube problem]] | ||
| + | |||
| + | <code> | ||
| + | debian12# cat /var/lib/roundcube/config/config.inc.php | ||
| + | </code><code> | ||
| + | ... | ||
| + | $config['oauth_provider'] = 'generic'; | ||
| + | $config['oauth_provider_name'] = 'Keycloak corp13'; | ||
| + | $config['oauth_client_id'] = "any-client"; | ||
| + | $config['oauth_client_secret'] = "anystring"; | ||
| + | $config['oauth_auth_uri'] = "https://keycloak.corp13.un/realms/corp13/protocol/openid-connect/auth"; | ||
| + | $config['oauth_token_uri'] = "https://keycloak.corp13.un/realms/corp13/protocol/openid-connect/token"; | ||
| + | $config['oauth_identity_uri'] = "https://keycloak.corp13.un/realms/corp13/protocol/openid-connect/userinfo"; | ||
| + | $config['oauth_verify_peer'] = false; | ||
| + | $config['oauth_scope'] = "email profile openid"; | ||
| + | $config['oauth_auth_parameters'] = []; | ||
| + | $config['oauth_identity_fields'] = ['preferred_username']; | ||
| + | $config['oauth_login_redirect'] = false; | ||
| + | $config['login_password_maxlen'] = 4096; | ||
| + | </code><code> | ||
| + | debian12# cat /usr/share/roundcube/program/include/rcmail_oauth.php | ||
| + | </code><code> | ||
| + | ... | ||
| + | //$oauth_token_uri = $this->options['token_uri']; | ||
| + | //$oauth_client_id = $this->options['client_id']; | ||
| + | //$oauth_client_secret = $this->options['client_secret']; | ||
| + | //$oauth_identity_uri = $this->options['identity_uri']; | ||
| + | |||
| + | $oauth_token_uri = "https://keycloak.corp13.un/realms/corp13/protocol/openid-connect/token"; | ||
| + | $oauth_client_id = "any-client"; | ||
| + | $oauth_client_secret = "anystring"; | ||
| + | $oauth_identity_uri = "https://keycloak.corp13.un/realms/corp13/protocol/openid-connect/userinfo"; | ||
| + | ... | ||
| </code> | </code> | ||
| + | * Сервер dovecot [[Сервер dovecot#OAuth аутентификация]] | ||
| + | |||
| + | === Roundcube PGP Enigma === | ||
| + | <code> | ||
| + | # apt install roundcube-plugins php-crypt-gpg | ||
| + | |||
| + | # find /var/lib/roundcube/plugins/enigma/ | ||
| + | |||
| + | # cat /var/lib/roundcube/config/config.inc.php | ||
| + | ... | ||
| + | $config['plugins'] = array( | ||
| + | 'enigma' | ||
| + | ); | ||
| + | $config['enigma_pgp_homedir']='/tmp/' ??? | ||
| + | ... | ||
| + | |||
| + | # tail -f /var/log/roundcube/errors.log | ||
| + | |||
| + | |||
| + | # gpg --output public.pgp --armor --export user1@corp13.un | ||
| + | |||
| + | # gpg --output private.pgp --armor --export-secret-key user1@corp13.un | ||
| + | |||
| + | # cat public.pgp private.pgp > /disk2/samba/user1.pubpriv | ||
| + | </code> | ||
| + | |||
| + | ===== Дополнительные материалы ===== | ||
| + | |||
| + | ==== В новой версии roundcube может понадобиться ==== | ||
| + | <code> | ||
| + | 1. права доступа к директории /var/lib/roundcube: | ||
| + | |||
| + | chown -R www-data:www-data /var/lib/roundcube | ||
| + | chmod -R 755 /var/lib/roundcube | ||
| + | |||
| + | |||
| + | 2. в конфигурационном файле `/etc/apache2/conf-enabled/roundcube.conf` добавить | ||
| + | Alias /mail /var/lib/roundcube | ||
| + | |||
| + | <Directory /var/lib/roundcube> | ||
| + | Options Indexes FollowSymLinks MultiViews | ||
| + | AllowOverride All | ||
| + | Require all granted | ||
| + | </Directory> | ||
| + | |||
| + | 3. проверить, что модуль Apache `mod_alias` включен: | ||
| + | sudo a2enmod alias | ||
| + | |||
| + | 4. Проверить в /etc/apache2/apache2.conf наличие правил для `/var/lib/roundcube`. | ||
| + | |||
| + | <Directory /var/lib/roundcube> | ||
| + | Options Indexes FollowSymLinks | ||
| + | AllowOverride None | ||
| + | Require all granted | ||
| + | </Directory> | ||
| + | |||
| + | 5. systemctl restart apache2 | ||
| + | </code> | ||
| ==== squirrelmail ==== | ==== squirrelmail ==== | ||
| Line 149: | Line 259: | ||
| </code> | </code> | ||
| - | |||
| - | |||
| - | ===== Дополнительные материалы ===== | ||
| ==== Web интерфейс к почтовым ящикам формата mbox и к протоколу pop3 (пакет openwebmail) ==== | ==== Web интерфейс к почтовым ящикам формата mbox и к протоколу pop3 (пакет openwebmail) ==== | ||