Modoboa: Porovnání verzí
(→Migrace IMAP) |
(→Přesun) |
||
(Není zobrazeno 65 mezilehlých verzí od stejného uživatele.) | |||
Řádka 4: | Řádka 4: | ||
Pro novou instalaci si připravíme nejnovější distribuci Debiana, provedeme aktualizace a doinstalujem potřebne balíčky | Pro novou instalaci si připravíme nejnovější distribuci Debiana, provedeme aktualizace a doinstalujem potřebne balíčky | ||
− | apt update && apt upgrade | + | sudo apt update && sudo apt -y upgrade |
− | apt -y install sudo ssh mc python3 | + | sudo apt -y install sudo ssh mc git python3 |
− | apt autoremove | + | sudo apt -y autoremove |
== Příprava DNS == | == Příprava DNS == | ||
Řádka 26: | Řádka 26: | ||
git clone https://github.com/modoboa/modoboa-installer | git clone https://github.com/modoboa/modoboa-installer | ||
cd modoboa-installer | cd modoboa-installer | ||
+ | ./run.py --stop-after-configfile-check <your domain> | ||
+ | Tímto připravíme konfigurační soubor 'installer.cfg' pro instalaci Modoby. V něm pak provedeme požadované změny aby instalace byla provedena dle naších představ. | ||
+ | [general] | ||
+ | hostname = modo.%(domain)s | ||
+ | |||
+ | [certificate] | ||
+ | type = letsencrypt | ||
+ | ... | ||
+ | [letsencrypt] | ||
+ | email = admin@<your domain> | ||
+ | |||
+ | Po nastaveni spustíme vlastni instalaci: | ||
sudo ./run.py <your domain> | sudo ./run.py <your domain> | ||
+ | '''Pozor''': Pokud chceme provést obnovu ze zálohy, tak konfigurační soubor porovnáme ze zálohou a patřičně upravíme. | ||
== Upgrade == | == Upgrade == | ||
By také melo být velice jednoduché. V návodě je sice postup, ale k instalátoru byl přidán parametr --upgrade. Tudíž by mělo stačit | By také melo být velice jednoduché. V návodě je sice postup, ale k instalátoru byl přidán parametr --upgrade. Tudíž by mělo stačit | ||
− | git clone https://github.com/modoboa/modoboa-installer | + | #git clone https://github.com/modoboa/modoboa-installer # jen pokud nemame zatim stazeno |
cd modoboa-installer | cd modoboa-installer | ||
+ | git pull | ||
sudo ./run.py --upgrade <your domain> | sudo ./run.py --upgrade <your domain> | ||
+ | Vzhledem k indovidualní konfiguraci je pak potřeba opravit konfigurace: | ||
+ | * /etc/nginx/sites-available/modo.slapnet.cz | ||
+ | * /etc/nginx/sites-available/autoconfig.slapnet.cz | ||
+ | |||
+ | |||
+ | * /etc/postfix/main.conf | ||
+ | * /etc/postfix/master.cf | ||
+ | |||
+ | '''Poznámka''': | ||
+ | |||
+ | V rámci vývoje se mění seznam modulů vlastni modoboa který je definován v souboru ''installer.cfg''. Proto je vhodné tento seznam následně také upravit. | ||
+ | # verze 2.2.0 | ||
+ | extensions = modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-webmail modoboa-contacts modoboa-radicale | ||
+ | |||
+ | # verze 2.3.2 | ||
+ | extensions = modoboa-amavis modoboa-webmail modoboa-contacts modoboa-radicale | ||
+ | |||
+ | == Backup == | ||
+ | Pomocí instalačního skriptu je možné provádět a případně i obnovit kompletni modoba server. V praxi při přechodu mezi verzemi jsem objevil dva skryté problémy: | ||
+ | * Změna rozložení modulů - v nastaveni Modoba - Parametry - Obecné -> Výchozí přesměrování aplokace nastavit Uživatelský profil | ||
+ | * Vytvořit nový konfigurační soubor "installer.cfg", porovnat jej z původním a rozumně původní soubor editovat. Poslední (26.10.2024): | ||
+ | extensions = modoboa-amavis modoboa-webmail modoboa-contacts modoboa-radicale | ||
+ | |||
+ | extensions = modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-webmail modoboa-contacts modoboa-radicale | ||
+ | |||
+ | '''Vytvoření zálohy''': | ||
+ | sudo ./run.py --silent-backup slapnet.cz | ||
+ | cd modoboa_backup | ||
+ | sudo tar -cf modoboa-backup.tar backup_MM_DD_YYYY_HH_mm | ||
+ | |||
+ | '''Obnova ze zálohy''': | ||
+ | sudo tar -xf modoboa-backup.tar | ||
+ | sudo ./run.py --restore ./modoboa_backup/backup_MM_DD_YYYY_HH_mm <your domain> | ||
+ | sudo cp ./modoboa_backup/backup_MM_DD_YYYY_HH_mm/installer.cfg ./installer.cfg | ||
+ | == Přesun == | ||
+ | Původně jsem se snažil přesunout Modoboa na nový server pomocí zálohy. Bohužel se mi to nedařilo, některé věci v administraci nefungovali, ... Nakonec se mi povedl přesun provést ručně: | ||
+ | |||
+ | # Nainstalujeme kompletně nový systém z Modoboa serverem. | ||
+ | # Z původního sytému přes administraci provedeme export domén a uživatelů. | ||
+ | # Provedeme zálohu adresáře ´/srv/vmail´ kterou přesuneme na nový server. | ||
+ | # Na novém serveru naimportujeme domény a uživatele | ||
+ | # Ze zálohy obnovíme soubory v adresáři ´/srv/vmail´ | ||
+ | # Opravíme práva ´sudo chown vmail:vmail -R /srv/vmail´ | ||
+ | |||
== Let’s Encrypt == | == Let’s Encrypt == | ||
Pro automatickou aktualizaci certifikátů po běžné instalaci Modoboa doinstalujeme Cerboot, viz samostatný odstavec. Poté vypneme nginx: | Pro automatickou aktualizaci certifikátů po běžné instalaci Modoboa doinstalujeme Cerboot, viz samostatný odstavec. Poté vypneme nginx: | ||
− | systemctl stop nginx.service | + | sudo systemctl stop nginx.service |
Spustíme požadavek na vygenerování provizorního certifikáty pro všechny potřebné domény (musí být již funkční DNS zaznamy). | Spustíme požadavek na vygenerování provizorního certifikáty pro všechny potřebné domény (musí být již funkční DNS zaznamy). | ||
− | certbot certonly --standalone -d mail.example.com | + | sudo certbot certonly --standalone -d modo.slapnet.cz -d mail.example.com |
+ | |||
+ | sudo certbot delete --cert-path modo.slapnet.cz | ||
+ | sudo certbot --nginx -d modo.slapnet.cz -d mail.example.com | ||
+ | |||
Budeme dotázáni: | Budeme dotázáni: | ||
How would you like to authenticate with the ACME CA? | How would you like to authenticate with the ACME CA? | ||
Řádka 86: | Řádka 148: | ||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 <- přegenerujeme, aby se zapsali nove parametry | Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 <- přegenerujeme, aby se zapsali nove parametry | ||
+ | |||
+ | Pro aplikaci nového certifikátu je potřeba následně restartovat: | ||
+ | sudo systemctl restart dovecot | ||
+ | sudo systemctl restart postfix | ||
+ | sudo systemctl restart nginx | ||
== Certbot == | == Certbot == | ||
Řádka 102: | Řádka 169: | ||
* [https://roundcube.net/download/ Stránka z nejaktuálnější verzí] - doporučuji Complete | * [https://roundcube.net/download/ Stránka z nejaktuálnější verzí] - doporučuji Complete | ||
* [https://github.com/roundcube/roundcubemail/wiki/Installation Oficiální navod na instalaci] | * [https://github.com/roundcube/roundcubemail/wiki/Installation Oficiální navod na instalaci] | ||
+ | === Krok 1 === | ||
Vzhledem k tomu, že Modoboa neběží oproti Roundcube přes PHP, je nutné jej doinstalovat: | Vzhledem k tomu, že Modoboa neběží oproti Roundcube přes PHP, je nutné jej doinstalovat: | ||
− | apt install -y php php-fpm php-cgi php-zip php-curl php-imagick php-ldap php-pgsql php-gd php-net-smtp php-mail-mime | + | sudo apt install -y php php-fpm php-cgi php-zip php-curl php-imagick php-ldap php-pgsql php-gd php-net-smtp php-mail-mime |
− | apt install -y php-auth-sasl php-intl php-masterminds-html5 php-mbstring php-net-sieve php-net-socket php-pspell | + | sudo apt install -y php-auth-sasl php-intl php-masterminds-html5 php-mbstring php-net-sieve php-net-socket php-pspell |
− | + | ||
− | + | Připravíme si databázi. Prvně vytvoříme uživatele. Budeme vyzváni k zadání hesla, nezapomenout ! | |
− | + | sudo -u postgres createuser -e -P roundcube | |
− | + | Následně pro uživatele vytvoříme databazi: | |
+ | sudo -u postgres createdb -O roundcube -E UNICODE roundcubemail | ||
+ | |||
+ | === Krok 2 === | ||
+ | Ze stránek https://roundcube.net/download/ si zkopírujeme odkaz na aktuální verzi (Complete) a ten použijme ke stažení: | ||
+ | wget https://github.com/roundcube/roundcubemail/releases/download/1.6.8/roundcubemail-1.6.8-complete.tar.gz | ||
+ | Následně stažený soubor rozbalíme a nakopírujeme do požadovaného adresáře: | ||
+ | tar -xf $(ls roundcubemail*.tar.gz) | ||
+ | rm $(ls roundcubemail*.tar.gz) | ||
+ | |||
+ | sudo mv $(ls | grep roundcubemail) /var/www/roundcubemail | ||
+ | sudo chmod 777 /var/www/roundcubemail | ||
+ | sudo chown www-data:www-data /var/www/roundcubemail/temp | ||
+ | sudo chown www-data:www-data /var/www/roundcubemail/logs | ||
+ | |||
+ | === Krok 3 === | ||
+ | Nastavime/vutvoříme predpis pro nginx: | ||
+ | sudo mcedit /etc/nginx/sites-available/mail.slapnet.cz.conf | ||
+ | |||
+ | server { # presmerovani na https protokol | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | server_name mail.slapnet.cz; | ||
+ | rewrite ^ https://$server_name$request_uri? permanent; | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen 443 ssl http2; | ||
+ | listen [::]:443 ssl http2; | ||
+ | server_name mail.slapnet.cz; | ||
+ | root /var/www/roundcubemail/; | ||
+ | |||
+ | ssl_certificate /etc/ssl/certs/modo.slapnet.cz.cert; | ||
+ | ssl_certificate_key /etc/ssl/private/modo.slapnet.cz.key; | ||
+ | ssl_protocols TLSv1.2 TLSv1.3; | ||
+ | ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384"; | ||
+ | ssl_prefer_server_ciphers on; | ||
+ | ssl_session_cache shared:SSL:10m; | ||
+ | ssl_verify_depth 3; | ||
+ | ssl_dhparam /etc/nginx/dhparam.pem; | ||
+ | |||
+ | client_max_body_size 10M; | ||
+ | |||
+ | access_log /var/log/nginx/mail.slapnet.cz-access.log; | ||
+ | error_log /var/log/nginx/mail.slapnet.cz-error.log; | ||
+ | |||
+ | location / { # spusteni vlastniho roundcubemail | ||
+ | alias /var/www/roundcubemail/; | ||
+ | index index.php; | ||
+ | try_files $uri $uri/ /index.html = 404; | ||
+ | } | ||
+ | |||
+ | location /.well-known/ { # pro cerbot, potvrzeni certifikatu | ||
+ | alias /srv/modoboa/instance/sitestatic/.well-known/; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { # spousteni php skriptu na nginxu | ||
+ | include snippets/fastcgi-php.conf; | ||
+ | |||
+ | # With php-fpm (or other unix sockets): | ||
+ | fastcgi_pass unix:/run/php/php-fpm.sock; | ||
+ | # With php-cgi (or other tcp sockets): | ||
+ | #fastcgi_pass 127.0.0.1:9000; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | Vytvoříme symlik a restartujeme nginx: | ||
+ | sudo ln -s /etc/nginx/sites-available/mail.slapnet.cz.conf /etc/nginx/sites-enabled/mail.slapnet.cz.conf | ||
+ | sudo systemctl reload nginx.service | ||
+ | |||
+ | === Krok 4 === | ||
+ | |||
+ | Spustime instalator na https://mail.slapnet.cz/installer/index.php | ||
+ | |||
+ | Následně se otevře web rozhraní která nás provede kontrolou komponent a nastavením ini souboru pro Randcube. | ||
+ | |||
+ | '''General configuration''' | ||
+ | * ip_check -> true | ||
+ | - enable_spellcheck -> true | ||
+ | * identities_level - Úroveň přístupu k identitám. Definuje, co mohou uživatelé dělat se svou identitou. | ||
+ | ** many identities with possibility to edit all params - mnoho identit s možností editace všech parametrů - select | ||
+ | ** many identities with possibility to edit all params but not email address - mnoho identit s možností upravit všechny parametry, ale ne e-mailovou adresu | ||
+ | ** one identity with possibility to edit all params - jedna identita s možností editace všech parametrů | ||
+ | ** one identity with possibility to edit all params but not email address - jedna identita s možností upravovat všechny parametry, ale ne e-mailovou adresu | ||
+ | ** one identity with possibility to edit only signature - jedna identita s možností editace pouze podpisu | ||
+ | |||
+ | '''Display settings & user prefs''' | ||
+ | * language -> "cz_CZ" | ||
+ | * ... | ||
+ | * mime_param_folding -> Full RFC 2231 (Rouncube, Thunderbird) | ||
+ | |||
+ | '''Plugins''' | ||
+ | * acl | ||
+ | * additional_message_headers | ||
+ | * archive | ||
+ | * attachment_reminder | ||
+ | * ''autologon'' | ||
+ | * autologout | ||
+ | * database_attachments | ||
+ | * ''debug_logger'' | ||
+ | * emoticons | ||
+ | * enigma | ||
+ | * example_addressbook | ||
+ | * filesystem_attachments | ||
+ | * help | ||
+ | * ''hide_blockquote'' | ||
+ | * http_authentication | ||
+ | * identicon | ||
+ | * identity_select | ||
+ | * jqueryui | ||
+ | * ''krb_authentication'' | ||
+ | * managesieve | ||
+ | * markasjunk | ||
+ | * new_user_dialog | ||
+ | * new_user_identity | ||
+ | * newmail_notifier | ||
+ | * password | ||
+ | * reconnect | ||
+ | * redundant_attachments | ||
+ | * show_additional_headers | ||
+ | * ''squirrelmail_usercopy'' | ||
+ | * ''subscriptions_option'' | ||
+ | * userinfo | ||
+ | * vcard_attachments | ||
+ | * ''virtuser_query'' | ||
+ | * zipdownload | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Po nastavení hesla pro SQL databazi, nezapomeňme databazi inicializovat ! | ||
+ | |||
+ | Na zavěr uložíme konfiguraci do /tmp a poté přesuneme: | ||
+ | sudo mv /tmp/config.inc.php /var/www/roundcubemail/config/config.inc.php | ||
+ | Poté je již možné se přihlásit do Roundcube. Pokud je vše v pořádku, zablokujeme instalační skript: | ||
+ | sudo chmod 700 /var/www/roundcubemail/installer/ | ||
+ | nebo vložte do konfigurace: | ||
+ | sudo mcedit /var/www/roundcubemail/config/config.inc.php | ||
+ | |||
+ | // Zablokuj pristup kinstalacnimu skriptu | ||
+ | $config['enable_installer'] = false; | ||
== Migrace IMAP == | == Migrace IMAP == |
Aktuální verze z 28. 10. 2024, 22:58
Obsah
Úvod
Jedna se o pomerně jednoduchy kompletni email server z web administrací. Domovská stránka projektu je https://modoboa.org.
Příprava instalace
Pro novou instalaci si připravíme nejnovější distribuci Debiana, provedeme aktualizace a doinstalujem potřebne balíčky
sudo apt update && sudo apt -y upgrade sudo apt -y install sudo ssh mc git python3 sudo apt -y autoremove
Příprava DNS
Pro snadnou instalaci a funkcionalitu je dobré si předem nastavit potřebne DNS zaznamy:
mail IN A <IP adresa email serveru> @ IN MX 10 mail @ IN TXT "v=spf1 mx ~all" _dmarc IN TXT "v=DMARC1; p=quarantine; pct=100;" autoconfig IN CNAME mail autodiscover IN CNAME mail
V případě kdy v konfiguraci povolíme podepisovíní metodou DKIM, bude potřeba přidat ještě dalsi TXT zaznam.
Instalace
Vlastní instalaci provedeme dle oficiálního návodu - https://modoboa.readthedocs.io/en/latest/
git clone https://github.com/modoboa/modoboa-installer cd modoboa-installer ./run.py --stop-after-configfile-check <your domain>
Tímto připravíme konfigurační soubor 'installer.cfg' pro instalaci Modoby. V něm pak provedeme požadované změny aby instalace byla provedena dle naších představ.
[general] hostname = modo.%(domain)s [certificate] type = letsencrypt ... [letsencrypt] email = admin@<your domain>
Po nastaveni spustíme vlastni instalaci:
sudo ./run.py <your domain>
Pozor: Pokud chceme provést obnovu ze zálohy, tak konfigurační soubor porovnáme ze zálohou a patřičně upravíme.
Upgrade
By také melo být velice jednoduché. V návodě je sice postup, ale k instalátoru byl přidán parametr --upgrade. Tudíž by mělo stačit
#git clone https://github.com/modoboa/modoboa-installer # jen pokud nemame zatim stazeno cd modoboa-installer git pull sudo ./run.py --upgrade <your domain>
Vzhledem k indovidualní konfiguraci je pak potřeba opravit konfigurace:
- /etc/nginx/sites-available/modo.slapnet.cz
- /etc/nginx/sites-available/autoconfig.slapnet.cz
- /etc/postfix/main.conf
- /etc/postfix/master.cf
Poznámka:
V rámci vývoje se mění seznam modulů vlastni modoboa který je definován v souboru installer.cfg. Proto je vhodné tento seznam následně také upravit.
# verze 2.2.0 extensions = modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-webmail modoboa-contacts modoboa-radicale # verze 2.3.2 extensions = modoboa-amavis modoboa-webmail modoboa-contacts modoboa-radicale
Backup
Pomocí instalačního skriptu je možné provádět a případně i obnovit kompletni modoba server. V praxi při přechodu mezi verzemi jsem objevil dva skryté problémy:
- Změna rozložení modulů - v nastaveni Modoba - Parametry - Obecné -> Výchozí přesměrování aplokace nastavit Uživatelský profil
- Vytvořit nový konfigurační soubor "installer.cfg", porovnat jej z původním a rozumně původní soubor editovat. Poslední (26.10.2024):
extensions = modoboa-amavis modoboa-webmail modoboa-contacts modoboa-radicale
extensions = modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-webmail modoboa-contacts modoboa-radicale
Vytvoření zálohy:
sudo ./run.py --silent-backup slapnet.cz cd modoboa_backup sudo tar -cf modoboa-backup.tar backup_MM_DD_YYYY_HH_mm
Obnova ze zálohy:
sudo tar -xf modoboa-backup.tar sudo ./run.py --restore ./modoboa_backup/backup_MM_DD_YYYY_HH_mm <your domain> sudo cp ./modoboa_backup/backup_MM_DD_YYYY_HH_mm/installer.cfg ./installer.cfg
Přesun
Původně jsem se snažil přesunout Modoboa na nový server pomocí zálohy. Bohužel se mi to nedařilo, některé věci v administraci nefungovali, ... Nakonec se mi povedl přesun provést ručně:
- Nainstalujeme kompletně nový systém z Modoboa serverem.
- Z původního sytému přes administraci provedeme export domén a uživatelů.
- Provedeme zálohu adresáře ´/srv/vmail´ kterou přesuneme na nový server.
- Na novém serveru naimportujeme domény a uživatele
- Ze zálohy obnovíme soubory v adresáři ´/srv/vmail´
- Opravíme práva ´sudo chown vmail:vmail -R /srv/vmail´
Let’s Encrypt
Pro automatickou aktualizaci certifikátů po běžné instalaci Modoboa doinstalujeme Cerboot, viz samostatný odstavec. Poté vypneme nginx:
sudo systemctl stop nginx.service
Spustíme požadavek na vygenerování provizorního certifikáty pro všechny potřebné domény (musí být již funkční DNS zaznamy).
sudo certbot certonly --standalone -d modo.slapnet.cz -d mail.example.com sudo certbot delete --cert-path modo.slapnet.cz sudo certbot --nginx -d modo.slapnet.cz -d mail.example.com
Budeme dotázáni:
How would you like to authenticate with the ACME CA? Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): admin@example.com <- email na který bude chodit upozornen i o expiraci - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y <- souhlasíme z podmínkami - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N <- nechci dostávat reklamí emaily
V instalačním adresáři přenastavíme soubor `installer.cfg`. Email adresu nastavíme na správce, aby byl informován v případě končící platnosti certifikátu:
[certificate] generate = true type = letsencrypt [letsencrypt] email = admin@example.com
Poté aktualizujeme instalaci:
sudo ./run.py --upgrade <your domain>
V případě potřeby spustíme nginx:
systemctl start nginx.service
Nakonec nastavíme adresář a platné parametry pro generování certifikátu (opět ze všemi platnými domény):
mkdir /srv/modoboa/instance/sitestatic/.well-known certbot certonly --webroot -w /srv/modoboa/instance/sitestatic/ -d mail.example.com
Pravděpodobně budeme opět dotázáni: What would you like to do?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Keep the existing certificate for now 2: Renew & replace the certificate (may be subject to CA rate limits) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 <- přegenerujeme, aby se zapsali nove parametry
Pro aplikaci nového certifikátu je potřeba následně restartovat:
sudo systemctl restart dovecot sudo systemctl restart postfix sudo systemctl restart nginx
Certbot
V aktuální verzi instalatoru (k 5.3.2023) není cerbut zahrnut, aby byl funkční. Pokud ale chceme mít aktuální certifikáty, tak je nutné ručně doinstalovat.
Základni instalace (python3 pravděpodobně bude již nainstalovám):
apt install -y python3 certbot
Másledně si zkontrolijeme jaké rozšiřující moduli jsou k dispozici a podle potřeby doinstalujeme:
apt list python3-certbot*
V našem případe pro Modoboa nepotřebujeme žádný.
Roundcube
Součástí instalace Modoboa je i uživatelské web rozhraní správu poštovního klienta. To mi ale připadá velmi základní. Oproti tomu mám pocit, že rozhrani Roundcube je mnohem lepší. Navíc se dá k Modoboa doinstalovat, jako nezávisle rozhrani.
- Vlastní stránka projektu
- Stránka z nejaktuálnější verzí - doporučuji Complete
- Oficiální navod na instalaci
Krok 1
Vzhledem k tomu, že Modoboa neběží oproti Roundcube přes PHP, je nutné jej doinstalovat:
sudo apt install -y php php-fpm php-cgi php-zip php-curl php-imagick php-ldap php-pgsql php-gd php-net-smtp php-mail-mime sudo apt install -y php-auth-sasl php-intl php-masterminds-html5 php-mbstring php-net-sieve php-net-socket php-pspell
Připravíme si databázi. Prvně vytvoříme uživatele. Budeme vyzváni k zadání hesla, nezapomenout !
sudo -u postgres createuser -e -P roundcube
Následně pro uživatele vytvoříme databazi:
sudo -u postgres createdb -O roundcube -E UNICODE roundcubemail
Krok 2
Ze stránek https://roundcube.net/download/ si zkopírujeme odkaz na aktuální verzi (Complete) a ten použijme ke stažení:
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.8/roundcubemail-1.6.8-complete.tar.gz
Následně stažený soubor rozbalíme a nakopírujeme do požadovaného adresáře:
tar -xf $(ls roundcubemail*.tar.gz) rm $(ls roundcubemail*.tar.gz) sudo mv $(ls | grep roundcubemail) /var/www/roundcubemail sudo chmod 777 /var/www/roundcubemail sudo chown www-data:www-data /var/www/roundcubemail/temp sudo chown www-data:www-data /var/www/roundcubemail/logs
Krok 3
Nastavime/vutvoříme predpis pro nginx:
sudo mcedit /etc/nginx/sites-available/mail.slapnet.cz.conf
server { # presmerovani na https protokol listen 80; listen [::]:80; server_name mail.slapnet.cz; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name mail.slapnet.cz; root /var/www/roundcubemail/; ssl_certificate /etc/ssl/certs/modo.slapnet.cz.cert; ssl_certificate_key /etc/ssl/private/modo.slapnet.cz.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384"; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_verify_depth 3; ssl_dhparam /etc/nginx/dhparam.pem; client_max_body_size 10M; access_log /var/log/nginx/mail.slapnet.cz-access.log; error_log /var/log/nginx/mail.slapnet.cz-error.log; location / { # spusteni vlastniho roundcubemail alias /var/www/roundcubemail/; index index.php; try_files $uri $uri/ /index.html = 404; } location /.well-known/ { # pro cerbot, potvrzeni certifikatu alias /srv/modoboa/instance/sitestatic/.well-known/; } location ~ \.php$ { # spousteni php skriptu na nginxu include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/run/php/php-fpm.sock; # With php-cgi (or other tcp sockets): #fastcgi_pass 127.0.0.1:9000; } }
Vytvoříme symlik a restartujeme nginx:
sudo ln -s /etc/nginx/sites-available/mail.slapnet.cz.conf /etc/nginx/sites-enabled/mail.slapnet.cz.conf sudo systemctl reload nginx.service
Krok 4
Spustime instalator na https://mail.slapnet.cz/installer/index.php
Následně se otevře web rozhraní která nás provede kontrolou komponent a nastavením ini souboru pro Randcube.
General configuration
- ip_check -> true
- enable_spellcheck -> true
- identities_level - Úroveň přístupu k identitám. Definuje, co mohou uživatelé dělat se svou identitou.
- many identities with possibility to edit all params - mnoho identit s možností editace všech parametrů - select
- many identities with possibility to edit all params but not email address - mnoho identit s možností upravit všechny parametry, ale ne e-mailovou adresu
- one identity with possibility to edit all params - jedna identita s možností editace všech parametrů
- one identity with possibility to edit all params but not email address - jedna identita s možností upravovat všechny parametry, ale ne e-mailovou adresu
- one identity with possibility to edit only signature - jedna identita s možností editace pouze podpisu
Display settings & user prefs
- language -> "cz_CZ"
- ...
- mime_param_folding -> Full RFC 2231 (Rouncube, Thunderbird)
Plugins
- acl
- additional_message_headers
- archive
- attachment_reminder
- autologon
- autologout
- database_attachments
- debug_logger
- emoticons
- enigma
- example_addressbook
- filesystem_attachments
- help
- hide_blockquote
- http_authentication
- identicon
- identity_select
- jqueryui
- krb_authentication
- managesieve
- markasjunk
- new_user_dialog
- new_user_identity
- newmail_notifier
- password
- reconnect
- redundant_attachments
- show_additional_headers
- squirrelmail_usercopy
- subscriptions_option
- userinfo
- vcard_attachments
- virtuser_query
- zipdownload
Po nastavení hesla pro SQL databazi, nezapomeňme databazi inicializovat !
Na zavěr uložíme konfiguraci do /tmp a poté přesuneme:
sudo mv /tmp/config.inc.php /var/www/roundcubemail/config/config.inc.php
Poté je již možné se přihlásit do Roundcube. Pokud je vše v pořádku, zablokujeme instalační skript:
sudo chmod 700 /var/www/roundcubemail/installer/
nebo vložte do konfigurace:
sudo mcedit /var/www/roundcubemail/config/config.inc.php // Zablokuj pristup kinstalacnimu skriptu $config['enable_installer'] = false;