Der Perfekte Server - Debian Squeeze (Debian 6.0) mit BIND, Dovecot & Nginx [ISPConfig 3] - Seite 6

19 Installation von fail2ban

Diese ist optional aber empfohlen, da der ISPConfig Monitor versucht, den Log anzuzeigen:

apt-get install fail2ban

Um fail2ban PureFTPd und Dovecot anzeigen zu lassen, erstellen Sie die Datei /etc/fail2ban/jail.local:

vi /etc/fail2ban/jail.local


[pureftpd]
enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5
Erstellen Sie dann die folgenden beiden Filterdateien:

vi /etc/fail2ban/filter.d/pureftpd.conf


[Definition]
failregex = .*pure-ftpd: (.*@<HOST>) [WARNING] Authentication failed for user.* ignoreregex =

vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf


[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login (auth failed|Aborted login (tried to use disabled|Disconnected (auth failed|Aborted login (d+ authentication attempts).*rip=(?P<host>S*),.* ignoreregex =
Starten Sie fail2ban dann neu:

/etc/init.d/fail2ban restart


20 Installation von SquirrelMail (optional)

Dieser Schritt ist optional. Wollen Sie stattdessen lieber Roundcube installieren, so schauen Sie sich dazu dieses Tutorial an: http://www.howtoforge.de/anleitung/benutzung-von-roundcube-0-7-1-mit-nginx-lemp-unter-debian-squeezeubuntu-11-10/. Sie können dies nach der ISPConfig Installation durchführen. Um Squirrelmail zu installieren, benutzen Sie einfach:

apt-get install squirrelmail

Erstellen Sie dann folgenden Symlink...

ln -s /usr/share/squirrelmail/ /var/www/webmail

... und konfigurieren SquirrelMail:

squirrelmail-configure

SquirrelMail muss wissen, dass Dovecot-IMAP/-POP3 zum Einsatz kommt:

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- D
SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
bincimap    = Binc IMAP server
courier     = Courier IMAP server
cyrus       = Cyrus IMAP server
dovecot     = Dovecot Secure IMAP server
exchange    = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx      = Mac OS X Mailserver
mercury32   = Mercury/32
uw          = University of Washington's IMAP server
gmail       = IMAP access to Google mail (Gmail) accounts

quit        = Do not change anything
Command >> <-- dovecot
SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
bincimap    = Binc IMAP server
courier     = Courier IMAP server
cyrus       = Cyrus IMAP server
dovecot     = Dovecot Secure IMAP server
exchange    = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx      = Mac OS X Mailserver
mercury32   = Mercury/32
uw          = University of Washington's IMAP server
gmail       = IMAP access to Google mail (Gmail) accounts

quit        = Do not change anything
Command >> dovecot

imap_server_type = dovecot
default_folder_prefix = <none>
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false

Press any key to continue... <-- drücken Sie einen beliebigen Knopf

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- S
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- Q
Sie finden Squirrelmail nun im /usr/share/squirrelmail/ Verzeichnis.

Nachdem Sie ISPConfig 3 installiert haben, können Sie folgendermaßen auf Squirrelmail zugreifen:

Der ISPConfig Apps vhost auf Port 8081 für nginx liefert eine SquirrelMail Konfiguration, Sie können daher http://server1.example.com:8081/squirrelmail oder http://server1.example.com:8081/webmail benutzen, um auf SquirrelMail zuzugreifen.

Wollen Sie ein /webmail oder /squirrelmail Alias einrichten, das Sie von Ihren Webseiten aus benutzen können, so ist dies etwas komplizierter als für Apache, da nginx keine globalen Aliase hat (also Aliase, welche für alle vhosts definiert werden können). Sie müssen Ihre Aliase deshalb für jeden vhost definieren, von dem aus Sie auf phpMyAdmin zugreifen wollen.

Um dies zu tun, fügen Sie folgendes in das nginx Directives Feld im Options Reiter der Webseite in ISPConfig ein:
 location /squirrelmail {
root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }
Benutzen Sie für Ihren vhost https statt http, sollten Sie die Zeile fastcgi_param HTTPS on; zu Ihrer SquirrelMail Konfiguration hinzufügen:
 location /squirrelmail {
root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS on; # <-- diese Zeile muss hinzugefügt werden fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }
Benutzen Sie sowohl http und https für Ihren vHost, sollten Sie die relevante Sektion bereits früher in diesem Tutorial in /etc/nginx/nginx.conf eingesetzt haben, während Sie phpMyAdmin aufgesetzt haben.

Gehen Sie nochmal in das nginx Directives Feld und anstatt von fastcgi_param HTTPS on; fügen Sie die Zeile fastcgi_param HTTPS $fastcgi_https; ein, sodass Squirrelmail sowohl http als auch https Anfragen annimmt:
 location /squirrelmail {
root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- diese Zeile muss hinzugefügt werden fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

3 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Dirk67

unter Punkt 19 muss es für die /etc/fail2ban/filter.d/dovecot-pop3imap.conf
heißen:
-------------
[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login (auth failed|Aborted login (tried to use disabled|Disconnected (auth failed|Aborted login (d+ authentication attempts).*rip=(?PS*),.*
ignoreregex =
-------------
--> http://wiki.dovecot.org/HowTo/Fail2Ban


Von: Dirk67

Mist... die noetigen Backslashes werden hier nicht mir eingefuegt (ggf. hatte der Autor das selbe Problem) ;-)
also einfach hier schauen --> http://wiki.dovecot.org/HowTo/Fail2Ban


Von: beyerservice

i got this: http://stackoverflow.com/questions/14972792/nginx-nginx-emerg-bind-to-80-failed-98-address-already-in-use

nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

had to add ipv6only=on to the [::]:80



This error can be caused if you have a nginx configuration that is listening on port 80 and also on port [::]:80.

I had the following in my default site-available file:

listen 80;
listen [::]:80 default_server;


listen 80;
listen [::]:80 ipv6only=on default_server;