some new configfiles
Dovecot taken from http://forum.froxlor.org/index.php?/topic/1336-dovecot-2-freebsd-configuration/ needs still testing
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
mechanisms = plain login
|
||||||
|
socket listen {
|
||||||
|
client {
|
||||||
|
path = /var/spool/postfix/private/dovecot-auth
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
group = postfix
|
||||||
|
}
|
||||||
|
master {
|
||||||
|
path = /var/run/dovecot/auth-master
|
||||||
|
mode = 0660
|
||||||
|
user = vmail
|
||||||
|
group = vmail
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
passdb sql {
|
||||||
|
args = /etc/dovecot/dovecot-sql.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
userdb prefetch {
|
||||||
|
}
|
||||||
|
|
||||||
|
userdb sql {
|
||||||
|
args = /etc/dovecot/dovecot-sql.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
user = vmail
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# Some general options
|
||||||
|
protocols = imap pop3 <SSLPROTOCOLS>
|
||||||
|
mail_access_groups = vmail
|
||||||
|
## allow Plaintext Logins from foreign IP if the Connection doesn't use TLS
|
||||||
|
disable_plaintext_auth = no
|
||||||
|
ssl = yes
|
||||||
|
ssl_cert_file = /etc/ssl/certs/ssl-mail.pem
|
||||||
|
ssl_key_file = /etc/ssl/private/ssl-mail.key
|
||||||
|
ssl_cipher_list = ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
|
||||||
|
mail_location = maildir:~/Maildir
|
||||||
|
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
|
||||||
|
|
||||||
|
# IMAP configuration
|
||||||
|
protocol imap {
|
||||||
|
mail_plugins = quota imap_quota
|
||||||
|
mail_max_userip_connections = 10
|
||||||
|
imap_client_workarounds = outlook-idle delay-newmail
|
||||||
|
}
|
||||||
|
|
||||||
|
# POP3 configuration
|
||||||
|
protocol pop3 {
|
||||||
|
mail_max_userip_connections = 10
|
||||||
|
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
|
||||||
|
pop3_uidl_format = UID%u-%v
|
||||||
|
mail_plugins = quota
|
||||||
|
}
|
||||||
|
|
||||||
|
# LDA configuration
|
||||||
|
protocol lda {
|
||||||
|
# postmaster is the one in charge of the mail system. MUST be set to a valid address!
|
||||||
|
postmaster_address = <postmaster-address>
|
||||||
|
mail_plugins = quota
|
||||||
|
deliver_log_format = msgid=%m: %$
|
||||||
|
rejection_reason = Your message to <%t> was automatically rejected:%n%r
|
||||||
|
}
|
||||||
|
|
||||||
|
# Plugins configuration
|
||||||
|
plugin {
|
||||||
|
quota = maildir
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
driver = mysql
|
||||||
|
connect = host=xxx.xxx.xxx.xxx dbname=froxlor user=froxlor password=MYSQL_PASSWORD
|
||||||
|
default_pass_scheme = CRYPT
|
||||||
|
password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE (username = '%u' OR email = '%u') AND ((imap = 1 AND '%Ls' = 'imap') OR (pop3 = 1 AND '%Ls' = 'pop3') OR '%Ls' = 'smtp')
|
||||||
|
user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('maildir:storage=', (quota*1024)) as quota FROM mail_users WHERE (username = '%u' OR email = '%u')
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
auth_mechanisms = plain login
|
||||||
|
disable_plaintext_auth = no
|
||||||
|
login_greeting = Welcome to Mail Server.
|
||||||
|
|
||||||
|
info_log_path = /var/log/dovecot-info.log
|
||||||
|
log_path = /var/log/dovecot.log
|
||||||
|
#mail_debug = yes
|
||||||
|
|
||||||
|
mail_uid = vmail
|
||||||
|
mail_gid = vmail
|
||||||
|
|
||||||
|
# NFS Seting
|
||||||
|
#mail_fsync = always
|
||||||
|
#mail_nfs_storage = yes
|
||||||
|
#mmap_disable = no
|
||||||
|
#mail_nfs_index = no
|
||||||
|
|
||||||
|
ssl_ca = </etc/ssl/xxxx.crt
|
||||||
|
ssl_cert = </etc/ssl/xxxx.crt
|
||||||
|
ssl_key = </etc/ssl/xxxxx.key
|
||||||
|
#ssl_key_password = password cert
|
||||||
|
|
||||||
|
protocols = imap pop3 lmtp sieve
|
||||||
|
|
||||||
|
passdb {
|
||||||
|
args = /usr/local/etc/dovecot/dovecot-sql.conf
|
||||||
|
driver = sql
|
||||||
|
}
|
||||||
|
|
||||||
|
userdb {
|
||||||
|
args = /usr/local/etc/dovecot/dovecot-sql.conf
|
||||||
|
driver = sql
|
||||||
|
}
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
quota = maildir
|
||||||
|
sieve_max_script_size = 512K
|
||||||
|
sieve = ~/.dovecot.sieve
|
||||||
|
sieve_dir = ~/sieve
|
||||||
|
}
|
||||||
|
|
||||||
|
service auth {
|
||||||
|
unix_listener /var/spool/postfix/private/auth {
|
||||||
|
group = postfix
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service lmtp {
|
||||||
|
unix_listener /var/spool/postfix/private/dovecot-lmtp {
|
||||||
|
group = postfix
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service imap-login {
|
||||||
|
|
||||||
|
chroot = login
|
||||||
|
client_limit = 256
|
||||||
|
executable = /usr/local/libexec/dovecot/imap-login
|
||||||
|
inet_listener imap {
|
||||||
|
address = *
|
||||||
|
port = 143
|
||||||
|
}
|
||||||
|
inet_listener imaps {
|
||||||
|
address = *
|
||||||
|
port = 993
|
||||||
|
}
|
||||||
|
process_limit = 128
|
||||||
|
process_min_avail = 2
|
||||||
|
service_count = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
service imap {
|
||||||
|
executable = /usr/local/libexec/dovecot/imap
|
||||||
|
}
|
||||||
|
|
||||||
|
service pop3-login {
|
||||||
|
|
||||||
|
chroot = login
|
||||||
|
client_limit = 256
|
||||||
|
executable = /usr/local/libexec/dovecot/pop3-login
|
||||||
|
inet_listener pop3 {
|
||||||
|
address = *
|
||||||
|
port = 110
|
||||||
|
}
|
||||||
|
inet_listener pop3s {
|
||||||
|
address = *
|
||||||
|
port = 995
|
||||||
|
}
|
||||||
|
process_limit = 128
|
||||||
|
process_min_avail = 2
|
||||||
|
service_count = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
service pop3 {
|
||||||
|
executable = /usr/local/libexec/dovecot/pop3
|
||||||
|
}
|
||||||
|
|
||||||
|
service managesieve-login {
|
||||||
|
inet_listener sieve {
|
||||||
|
port = 4190
|
||||||
|
}
|
||||||
|
inet_listener sieve_deprecated {
|
||||||
|
port = 2000
|
||||||
|
}
|
||||||
|
# Number of connections to handle before starting a new process. Typically
|
||||||
|
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
|
||||||
|
# is faster. <doc/wiki/LoginProcess.txt>
|
||||||
|
#service_count = 1
|
||||||
|
|
||||||
|
# Number of processes to always keep waiting for more connections.
|
||||||
|
#process_min_avail = 0
|
||||||
|
|
||||||
|
# If you set service_count=0, you probably need to grow this.
|
||||||
|
#vsz_limit = 64M
|
||||||
|
}
|
||||||
|
|
||||||
|
service managesieve {
|
||||||
|
# Max. number of ManageSieve processes (connections)
|
||||||
|
# pocess_count = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol sieve {
|
||||||
|
managesieve_max_line_length = 65536
|
||||||
|
mail_max_userip_connections = 10
|
||||||
|
managesieve_logout_format = bytes=%i/%o
|
||||||
|
managesieve_implementation_string = Dovecot Pigeonhole
|
||||||
|
#managesieve_sieve_capability =
|
||||||
|
#managesieve_notify_capability =
|
||||||
|
managesieve_max_compile_errors = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol imap {
|
||||||
|
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
|
||||||
|
imap_max_line_length = 64 k
|
||||||
|
mail_plugins = quota
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protocol pop3 {
|
||||||
|
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
|
||||||
|
pop3_uidl_format = %08Xu%08Xv
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol lmtp {
|
||||||
|
mail_plugins = quota, sieve
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Default lighttpd.conf for Froxlor.
|
||||||
|
###############################################################################
|
||||||
|
var.basedir = "/var/www"
|
||||||
|
var.logdir = "/var/log/lighttpd"
|
||||||
|
var.statedir = "/var/lib/lighttpd"
|
||||||
|
|
||||||
|
server.modules = (
|
||||||
|
"mod_rewrite",
|
||||||
|
"mod_redirect",
|
||||||
|
"mod_alias",
|
||||||
|
"mod_access",
|
||||||
|
"mod_auth",
|
||||||
|
"mod_fastcgi",
|
||||||
|
"mod_cgi",
|
||||||
|
"mod_accesslog"
|
||||||
|
)
|
||||||
|
|
||||||
|
server.username = "www-data"
|
||||||
|
server.groupname = "www-data"
|
||||||
|
server.document-root = var.basedir
|
||||||
|
server.pid-file = "/var/run/lighttpd.pid"
|
||||||
|
accesslog.filename = var.logdir + "/access.log"
|
||||||
|
server.errorlog = var.logdir + "/error.log"
|
||||||
|
|
||||||
|
server.indexfiles = ("index.php", "index.html",
|
||||||
|
"index.htm", "default.htm")
|
||||||
|
|
||||||
|
server.name = "<SERVERNAME>"
|
||||||
|
server.port = 80
|
||||||
|
server.bind = "<SERVERIP>"
|
||||||
|
url.access-deny = ("~", ".inc")
|
||||||
|
|
||||||
|
fastcgi.server = (
|
||||||
|
".php" => (
|
||||||
|
"localhost" => (
|
||||||
|
"socket" => "/tmp/lighttpd-fcgi-sock-lighttpd",
|
||||||
|
"broken-scriptfilename" => "enable",
|
||||||
|
"bin-path" => "/usr/bin/php5-cgi",
|
||||||
|
"min-procs" => 1,
|
||||||
|
"max-procs" => 1,
|
||||||
|
"max-load-per-proc" => 4,
|
||||||
|
"idle-timeout" => 60,
|
||||||
|
"bin-environment" => (
|
||||||
|
"UID" => "www-data",
|
||||||
|
"GID" => "www-data",
|
||||||
|
"PHP_FCGI_CHILDREN" => "0",
|
||||||
|
"PHP_FCGI_MAX_REQUESTS" => "10000"
|
||||||
|
),
|
||||||
|
"bin-copy-environment" => ( "" )
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#### external configuration files
|
||||||
|
## mimetype mapping
|
||||||
|
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
BIND="127.0.0.1:8888"
|
||||||
|
USER="www-data"
|
||||||
|
PHP_FCGI_CHILDREN="15"
|
||||||
|
PHP_FCGI_MAX_REQUESTS="1000"
|
||||||
|
|
||||||
|
PHP_CGI="/usr/bin/php-cgi"
|
||||||
|
PHP_CGI_NAME="$(basename ${PHP_CGI})"
|
||||||
|
PHP_CGI_ARGS="- USER=${USER} PATH=/usr/bin PHP_FCGI_CHILDREN=${PHP_FCGI_CHILDREN} PHP_FCGI_MAX_REQUESTS=${PHP_FCGI_MAX_REQUESTS} ${PHP_CGI} -b ${BIND}"
|
||||||
|
RETVAL="0"
|
||||||
|
|
||||||
|
start() {
|
||||||
|
echo -n "Starting PHP FastCGI: "
|
||||||
|
start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- "$PHP_CGI_ARGS"
|
||||||
|
RETVAL="$?"
|
||||||
|
echo "${PHP_CGI_NAME}."
|
||||||
|
}
|
||||||
|
stop() {
|
||||||
|
echo -n "Stopping PHP FastCGI: "
|
||||||
|
killall -q -w -u "${USER} ${PHP_CGI}"
|
||||||
|
RETVAL="$?"
|
||||||
|
echo "${PHP_CGI_NAME}."
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: php-fastcgi {start|stop|restart}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit "$RETVAL"
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||||
|
fastcgi_param SERVER_SOFTWARE nginx;
|
||||||
|
fastcgi_param QUERY_STRING $query_string;
|
||||||
|
fastcgi_param REQUEST_METHOD $request_method;
|
||||||
|
fastcgi_param CONTENT_TYPE $content_type;
|
||||||
|
fastcgi_param CONTENT_LENGTH $content_length;
|
||||||
|
fastcgi_param REQUEST_URI $request_uri;
|
||||||
|
fastcgi_param DOCUMENT_URI $document_uri;
|
||||||
|
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||||
|
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||||
|
fastcgi_param REMOTE_ADDR $remote_addr;
|
||||||
|
fastcgi_param REMOTE_PORT $remote_port;
|
||||||
|
fastcgi_param SERVER_ADDR $server_addr;
|
||||||
|
fastcgi_param SERVER_PORT $server_port;
|
||||||
|
fastcgi_param SERVER_NAME $server_name;
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
user www-data;
|
||||||
|
worker_processes 4;
|
||||||
|
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
access_log /var/log/nginx/access.log;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
|
||||||
|
keepalive_timeout 65;
|
||||||
|
|
||||||
|
gzip on;
|
||||||
|
|
||||||
|
include /etc/nginx/conf.d/*.conf;
|
||||||
|
include /etc/nginx/sites-enabled/*;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
## General Postfix configuration
|
||||||
|
# should be the default domain from your provider eg. "server100.provider.tld"
|
||||||
|
mydomain = <SERVERNAME>
|
||||||
|
|
||||||
|
# should be different from $mydomain eg. "mail.$mydomain"
|
||||||
|
myhostname = <SERVERNAME>
|
||||||
|
|
||||||
|
mydestination = $myhostname,
|
||||||
|
$mydomain,
|
||||||
|
localhost.$myhostname,
|
||||||
|
localhost.$mydomain,
|
||||||
|
localhost
|
||||||
|
mynetworks = 127.0.0.0/8
|
||||||
|
inet_interfaces = all
|
||||||
|
append_dot_mydomain = no
|
||||||
|
biff = no
|
||||||
|
|
||||||
|
# Postfix performance settings
|
||||||
|
default_destination_concurrency_limit = 20
|
||||||
|
local_destination_concurrency_limit = 2
|
||||||
|
|
||||||
|
# SMTPD Settings
|
||||||
|
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
|
||||||
|
smtpd_helo_required = yes
|
||||||
|
smtpd_recipient_restrictions = permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unauth_destination,
|
||||||
|
reject_unauth_pipelining,
|
||||||
|
reject_non_fqdn_recipient
|
||||||
|
smtpd_sender_restrictions = permit_mynetworks,
|
||||||
|
reject_sender_login_mismatch,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unknown_helo_hostname,
|
||||||
|
reject_unknown_recipient_domain,
|
||||||
|
reject_unknown_sender_domain
|
||||||
|
smtpd_client_restrictions = permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unknown_client_hostname
|
||||||
|
# Maximum size of Message in bytes (50MB)
|
||||||
|
message_size_limit = 52428800
|
||||||
|
|
||||||
|
## SASL Auth Settings
|
||||||
|
smtpd_sasl_auth_enable = yes
|
||||||
|
smtpd_sasl_local_domain = $myhostname
|
||||||
|
broken_sasl_auth_clients = yes
|
||||||
|
|
||||||
|
# Virtual delivery settings
|
||||||
|
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||||
|
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||||
|
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||||
|
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||||
|
smtpd_sender_login_maps = mysql:/etc/postfix/mysql-virtual_sender_permissions.cf
|
||||||
|
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||||
|
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||||
|
|
||||||
|
# Local delivery settings
|
||||||
|
local_transport = local
|
||||||
|
alias_maps = $alias_database
|
||||||
|
|
||||||
|
# Default Mailbox size, is set to 0 which means unlimited!
|
||||||
|
mailbox_size_limit = 0
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
|
|
||||||
|
### TLS settings
|
||||||
|
###
|
||||||
|
## TLS for outgoing mails from the server to another server
|
||||||
|
#smtp_tls_security_level = may
|
||||||
|
#smtp_tls_note_starttls_offer = yes
|
||||||
|
## TLS for email client
|
||||||
|
#smtpd_tls_security_level = may
|
||||||
|
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
|
||||||
|
#smtpd_tls_key_file = $smtpd_tls_cert_file
|
||||||
|
#smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
|
||||||
|
#smtpd_tls_loglevel = 1
|
||||||
|
#smtpd_tls_received_header = yes
|
||||||
|
|
||||||
|
debugger_command =
|
||||||
|
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
||||||
|
ddd $daemon_directory/$process_name $process_id & sleep 5
|
||||||
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = mail_virtual
|
||||||
|
select_field = destination
|
||||||
|
where_field = email
|
||||||
|
additional_conditions = and TRIM(destination) <> ''
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = panel_domains
|
||||||
|
select_field = domain
|
||||||
|
where_field = domain
|
||||||
|
additional_conditions = and isemaildomain = '1'
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = mail_users
|
||||||
|
select_field = maildir
|
||||||
|
where_field = email
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
pwcheck_method: auxprop
|
||||||
|
auxprop_plugin: sql
|
||||||
|
allowanonymouslogin: no
|
||||||
|
allowplaintext: yes
|
||||||
|
mech_list: plain login cram-md5 digest-md5
|
||||||
|
sql_engine: mysql
|
||||||
|
sql_hostnames: <SQL_HOST>
|
||||||
|
sql_user: <SQL_UNPRIVILEGED_USER>
|
||||||
|
sql_passwd: <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
sql_database: <SQL_DB>
|
||||||
|
sql_select: SELECT password FROM mail_users WHERE username='%u@%r' OR email='%u@%r'
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
## General Postfix configuration
|
||||||
|
# should be the default domain from your provider eg. "server100.provider.tld"
|
||||||
|
mydomain = <SERVERNAME>
|
||||||
|
|
||||||
|
# should be different from $mydomain eg. "mail.$mydomain"
|
||||||
|
myhostname = <SERVERNAME>
|
||||||
|
|
||||||
|
mydestination = $myhostname,
|
||||||
|
$mydomain,
|
||||||
|
localhost.$myhostname,
|
||||||
|
localhost.$mydomain,
|
||||||
|
localhost
|
||||||
|
mynetworks = 127.0.0.0/8
|
||||||
|
inet_interfaces = all
|
||||||
|
append_dot_mydomain = no
|
||||||
|
biff = no
|
||||||
|
|
||||||
|
# Postfix performance settings
|
||||||
|
default_destination_concurrency_limit = 20
|
||||||
|
local_destination_concurrency_limit = 2
|
||||||
|
|
||||||
|
# SMTPD Settings
|
||||||
|
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
|
||||||
|
smtpd_helo_required = yes
|
||||||
|
smtpd_recipient_restrictions = permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unauth_destination,
|
||||||
|
reject_unauth_pipelining,
|
||||||
|
reject_non_fqdn_recipient
|
||||||
|
smtpd_sender_restrictions = permit_mynetworks,
|
||||||
|
reject_sender_login_mismatch,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unknown_helo_hostname,
|
||||||
|
reject_unknown_recipient_domain,
|
||||||
|
reject_unknown_sender_domain
|
||||||
|
smtpd_client_restrictions = permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unknown_client_hostname
|
||||||
|
# Maximum size of Message in bytes (50MB)
|
||||||
|
message_size_limit = 52428800
|
||||||
|
|
||||||
|
## SASL Auth Settings
|
||||||
|
smtpd_sasl_auth_enable = yes
|
||||||
|
smtpd_sasl_local_domain = $myhostname
|
||||||
|
broken_sasl_auth_clients = yes
|
||||||
|
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
||||||
|
smtpd_sasl_type = dovecot
|
||||||
|
virtual_transport = lmtp:unix:private/dovecot-lmtp
|
||||||
|
dovecot_destination_recipient_limit = 1
|
||||||
|
smtpd_sasl_path = private/dovecot-auth
|
||||||
|
|
||||||
|
# Virtual delivery settings
|
||||||
|
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||||
|
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||||
|
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||||
|
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||||
|
smtpd_sender_login_maps = mysql:/etc/postfix/mysql-virtual_sender_permissions.cf
|
||||||
|
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||||
|
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||||
|
|
||||||
|
# Local delivery settings
|
||||||
|
local_transport = local
|
||||||
|
alias_maps = $alias_database
|
||||||
|
|
||||||
|
# Default Mailbox size, is set to 0 which means unlimited!
|
||||||
|
mailbox_size_limit = 0
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
|
|
||||||
|
### TLS settings
|
||||||
|
###
|
||||||
|
## TLS for outgoing mails from the server to another server
|
||||||
|
#smtp_tls_security_level = may
|
||||||
|
#smtp_tls_note_starttls_offer = yes
|
||||||
|
## TLS for email client
|
||||||
|
#smtpd_tls_security_level = may
|
||||||
|
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
|
||||||
|
#smtpd_tls_key_file = $smtpd_tls_cert_file
|
||||||
|
#smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
|
||||||
|
#smtpd_tls_loglevel = 1
|
||||||
|
#smtpd_tls_received_header = yes
|
||||||
|
|
||||||
|
debugger_command =
|
||||||
|
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
||||||
|
ddd $daemon_directory/$process_name $process_id & sleep 5
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Add this lines to be able to use dovecot as delivery agent
|
||||||
|
# Dovecot LDA
|
||||||
|
#dovecot unix - n n - - pipe
|
||||||
|
# flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-dovecot-postfix.conf -d ${recipient}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = mail_virtual
|
||||||
|
select_field = destination
|
||||||
|
where_field = email
|
||||||
|
additional_conditions = and TRIM(destination) <> ''
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = panel_domains
|
||||||
|
select_field = domain
|
||||||
|
where_field = domain
|
||||||
|
additional_conditions = and isemaildomain = '1'
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = mail_users
|
||||||
|
select_field = maildir
|
||||||
|
where_field = email
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#
|
||||||
|
# ATTENTION - this is not the full postfix-main.cf file
|
||||||
|
#
|
||||||
|
# it only provides additional configuration-entries!
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# look for the follow statement
|
||||||
|
#
|
||||||
|
smtpd_recipient_restrictions = permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unauth_destination,
|
||||||
|
reject_unauth_pipelining,
|
||||||
|
reject_non_fqdn_recipient
|
||||||
|
|
||||||
|
#
|
||||||
|
# and extend it with the following line
|
||||||
|
# so it looks like this
|
||||||
|
#
|
||||||
|
smtpd_recipient_restrictions = permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unauth_destination,
|
||||||
|
reject_unauth_pipelining,
|
||||||
|
reject_non_fqdn_recipient,
|
||||||
|
check_recipient_mx_access cidr:/etc/postfix/mx_access
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
0.0.0.0/8 REJECT Domain MX in broadcast network
|
||||||
|
10.0.0.0/8 REJECT Domain MX in RFC 1918 private network
|
||||||
|
169.254.0.0/16 REJECT Domain MX in link local network
|
||||||
|
172.16.0.0/12 REJECT Domain MX in RFC 1918 private network
|
||||||
|
192.0.2.0/24 REJECT Domain MX in TEST-NET network
|
||||||
|
192.168.0.0/16 REJECT Domain MX in RFC 1918 private network
|
||||||
|
224.0.0.0/4 REJECT Domain MX in class D multicast network
|
||||||
|
240.0.0.0/5 REJECT Domain MX in class E reserved network
|
||||||
|
248.0.0.0/5 REJECT Domain MX in reserved network
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
allow-axfr-ips=<NAMESERVERS>
|
||||||
|
#local-ipv6=YOUR_IPv6_(if_any)
|
||||||
|
bind-config=<BIND_CONFIG_PATH>named.conf
|
||||||
|
bind-check-interval=180
|
||||||
|
log-dns-details=yes
|
||||||
|
local-address=<SERVERIP>,127.0.0.1
|
||||||
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
allow-recursion=127.0.0.1
|
||||||
|
config-dir=/etc/powerdns
|
||||||
|
daemon=yes
|
||||||
|
guardian=yes
|
||||||
|
launch=bind
|
||||||
|
lazy-recursion=yes
|
||||||
|
local-port=53
|
||||||
|
master=yes
|
||||||
|
module-dir=/usr/lib/powerdns
|
||||||
|
setgid=pdns
|
||||||
|
setuid=pdns
|
||||||
|
socket-dir=/var/run
|
||||||
|
version-string=powerdns
|
||||||
|
bind-config=<BIND_CONFIG_PATH>named.conf
|
||||||
|
bind-check-interval=300
|
||||||
|
include=/etc/powerdns/pdns_froxlor.conf
|
||||||
|
|
||||||
Reference in New Issue
Block a user