Using the Maildir mailbox format, emails are stored in under the recipient user’s home folder /home/<username>/Maildir
.
# postconf -e 'home_mailbox = Maildir/'
You might also want to add the Maildir setup to the user home directory template so that it is automatically configured when a new user account is created:
# maildirmake.dovecot /etc/skel/Maildir
# maildirmake.dovecot /etc/skel/Maildir/.Drafts
# maildirmake.dovecot /etc/skel/Maildir/.Sent
# maildirmake.dovecot /etc/skel/Maildir/.Trash
# maildirmake.dovecot /etc/skel/Maildir/.Templates
The same Maildir can be added to the current user with the commands below. Replace the $USER with any existing username:
# cp -r /etc/skel/Maildir /home/$USER/
# chown -R $USER:$USER /home/$USER/Maildir
# chmod -R 700 /home/$USER/Maildir
# adduser $USER mail
Also create a “.muttrc” file under /etc/skel and copy paste this content in it:
set mbox_type=Maildir
set folder="~/Maildir"
set mask="!^\\.[^.]"
set mbox="~/Maildir"
set record="+.Sent"
set postponed="+.Drafts"
set spoolfile="~/Maildir"
I'm going to paste my working Monit configuration file for anyone attempting to make it work under Debian
set daemon 120
set log /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state
set ssl {
verify : enable
}
SET MAILSERVER
pandora.woodpeckersnest.space
PORT 465
USERNAME <username> PASSWORD <password>
using SSL
set eventqueue
basedir /var/lib/monit/events
slots 100
set alert <username>@woodpeckersnest.space not on { instance }
set httpd port 2812 and
use address 0.0.0.0
allow 0.0.0.0/0.0.0.0
allow admin:<password>
with ssl {
pemchain: /etc/monit/fullchain.pem
pemkey: /etc/monit/privkey.pem
}
check system PANDORA
if cpu usage > 95% for 10 cycles then alert
if memory usage > 85% then alert
if swap usage > 50% then alert
check network ens3 with interface ens3
if link down then alert
if changed link then alert
if saturation > 90% then alert
check filesystem rootfs with path /
if space usage > 80% then alert
if space usage > 85% then alert
if space usage > 90% then alert
if space usage > 95% then alert
check host pandora.spacenest.it with address 94.143.138.27
if failed ping then alert
if failed port 22 protocol ssh
then alert
Then there are files under /etc/monit/conf.d/*
and/or /etc/monit/conf-enabled/*
. I only have 3:
nginx:
check process nginx with pidfile /var/run/nginx.pid
group www-data
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
postfix:
check process postfix with pidfile /var/spool/postfix/pid/master.pid
start program = "/etc/init.d/postfix start"
stop program = "/etc/init.d/postfix stop"
if failed
port 25
protocol smtps
username "<your_username>"
password "<your_password>"
then alert
sshd:
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed port 22 protocol ssh then restart
Monit manual is very helpful, you should check it out.
Swap File
- To create a 2GB swap file we can use "dd" command like this:
# dd if=/dev/zero of=/mnt/swapfile bs=1024 count=2097152
bs=1024
means read and write up to 1024 bytes at a time and count
it's the size of the file (1024 x 2048)MB
- Then set the appropriate permissions on the file; make it readable only by root user:
# chmod 600 /mnt/swapfile
- Now prepare the file for swap with the
mkswap
command:
# mkswap /mnt/swapfile
- Next, enable the swap file
# swapon /mnt/swapfile
- Afterwards, enable the swap file to be mounted at boot. Edit the /etc/fstab file and add the following new line in it:
/mnt/swapfile swap swap defaults 0 0
You can also disable the swapfile at runtime, any time you want; just make sure it doesn't exceed your available RAM:
# swapoff /mnt/swapfile
Last but not least, this is how to check your swap usage by process:
$ for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less