Postserver - med certifikat mm

From Skytech
Jump to navigation Jump to search


Standard installation

Start med at gå installationen af en Xen Klient maskine igennem InstallXenClientServer

Tilføjelser

mail partition

Lav en mail partition

evmsn
tilføj en maildir partition i stil med dem der findes

Tilføj denne partition i fstab

/dev/hda3               /var/maildir    ext3    defaults,noatime        0       0

Tilføj biblioteket til var

mkdir /var/maildir
host filen

Første linje i host filen skal indeholde:

127.0.0.1       postXX.dk localhost
mailname filen

Filen skal have hele domain navnet

postXX.dk

Når det er gjort så kan du jo gå i gang med at installerer de programmer der skal være på den og konfigurerer dem.

Installation af programmer

Du skal starte med at installerer subversion. Den skal du bruge til at hente konfigurationrene fra repositoriet med.

apt-get install subversion

Herefter kan du tage ssh private og public nøgler fra post01.dk

Dem skal du ligge i .ssh i /root/

cd 
mkdir .ssh
scp -rp post01.dk:~/.ssh/ .

Nu kan vi så gå i gang med at hente konfigurations filerne fra subversion.

cd
mkdir baseinstall
cd baseinstall
svn co svn+ssh://svn@svn.dk/mailsetup/baseinstall .
dpkg --set-selections < installed.txt
apt-get dselect-upgrade

Så har vi fået installeret de programmer der skal ligge på serveren.

Konfiguration af programmer

ssl certifikater

Bestil et certifikat på https://products.geotrust.com/geocenter/reseller/logon.do
key fil

openssl genrsa -out /etc/ssl/private/hostname.key 1024

csr fil

openssl req -new -key /etc/ssl/private/hostname.key -out /etc/ssl/hostname.csr
-----
Country Name (2 letter code) [AU]:DK
State or Province Name (full name) [Some-State]:N/A
Locality Name (eg, city) []:Kolding
Organization Name (eg, company) [Internet Widgits Pty Ltd]:WorldWeb Interactive A/S
Organizational Unit Name (eg, section) []:System
Common Name (eg, YOUR name) []:hostname.dk
Email Address []:sysadm@dk

Gem din crt fil i

/etc/ssl/private/hostname.crt

exim4

De filer svn brokker sig over svn ikke kan overskrive skal bare fjernes.

cd /etc/exim4/
rm -rf conf.d
svn co svn+ssh://svn@svn.dk/mailsetup/post .

Editer i update-exim4.conf.conf

dc_other_hostnames='postXX.dk'

Opdater exim konfig

update-exim4.conf

Opdater exim certifikaterne

cp /etc/ssl/private/hostname.key /etc/exim4/exim.key
cp /etc/ssl/private/hostname.crt /etc/exim4/exim.crt

Genstart exim4

/etc/init.d/exim4 restart

courier

Så er det courier's tur.

cd /etc/courier/
rm -rf *
svn co svn+ssh://svn@svn.dk/mailsetup/courier

Så skal vi lige have lavet nogle pem filer til imap og pop3

cat /etc/ssl/private/hostname.key /etc/ssl/private/hostname.crt > hostname.pem
openssl gendh >> hostname.pem
cp hostname.pem imapd.pem
cp hostname.pem pop3d.pem

Genstart server og deamon

/etc/init.d/courier-authdaemon restart
/etc/init.d/courier-imap restart
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop restart
/etc/init.d/courier-pop-ssl restart

apache2

Squirrelmail

Vi skal lige have lavet de bibs der skal bruges

mkdir /var/www/.ssh/
mkdir /var/www/squirrelmail/
scp -rp mailadmin.dk:/var/www/.ssh/* /var/www/.ssh/
chown www-data: -R /var/www/.ssh/
chown www-data: -R /var/www/squirrelmail/

Så er det tid til co af squirrelmail fra svn

su - www-data
svn co svn+ssh://svn@svn.dk/mailsetup/squirrelmail

apache2 config

Vi skal lige have ssl support i apache2

mkdir -p /etc/apache2/ssl.crt
mkdir -p /etc/apache2/ssl.key
cp /etc/ssl/private/hostname.crt /etc/apache2/ssl.crt/
cp /etc/ssl/private/hostname.key /etc/apache2/ssl.key/
a2enmod ssl

Sidst skal vi lige tilføje

Listen 443

til /etc/apache2/ports.conf

Vi skal lige have apache til at redirecte alt http til https gå til squirrelmail bib som default.
Starter i /etc/apache2/site-avaliable/default

NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
        RewriteEngine On
        RewriteCond  %{SERVER_NAME} !post01.dk
        RewriteRule ^(.*)$ https://post01.dk$1 [L,R]

        RewriteCond  %{SERVER_PORT} !^443$
        RewriteRule ^(.*)$ https://post01.dk$1 [L,R]

..
..
..
                RedirectMatch ^/$ /squirrelmail/
.. 
..
..
</VirtualHost>

Og laver et webmail site

<VirtualHost *:443>
        RewriteEngine On
        RewriteCond  %{SERVER_PORT} !^443$
        RewriteRule ^(.*)$ https://post01.dk/$1 [L,R]
        ServerAdmin webmaster@dk
        ServerName post01.dk

        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl.crt/post01.crt
        SSLCertificateKeyFile /etc/apache2/ssl.key/post01.key
        SSLProtocol all
        SSLCipherSuite HIGH:MEDIUM

        DocumentRoot /var/www/squirrelmail
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>

Aktiverer webmail sitet

a2ensite webmail

Vi skal også lige have rewrite modulet enabled

a2enmod rewrite

Så kan vi reloade apache og vi er done med serveren.

apache2ctl configtest
apache2ctl graceful

mailadmin

For at mailadmin virker som den skal. Skal vi have key auth til root fra mailadmin.dk
edit /root/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnzEs1SVZhvmaXeO3LiYO4U2q2pppdI57/cnK0ccW7fT1J36fT+4od15isppxc3HilvosY/e9kOEwQTPciEa+NffQ9O5QCroXUyweEZN7HFKFU509drUFrjLgxiAXwbEoQmpysJzPKerqZOzri/Et+kCybvHx4HipshqVHHEQNGvt2b9jk8T7Plia1u2zP941zFh0L5v4QW+UiNO7Zcx4xAXfIjsCOTiw+y0rMop8J3SCrP7jOYRRY8zvCQ7pwS7XINw88LicMuVjgLh1hvZrUB6OnUZaLDA2sh2wFo+rGpeyVYCkU3gjZo04CIfnht56g0yTxALHn+UTX67Ac46AlQ== admin@mailadmin.dk

scripts/sudo mm

Kopier alle perl/bash scripts over til serveren:

mkdir /usr/local/sbin/log
svn co svn+ssh://svn@svn.dk/mailsetup/scripts /usr/local/sbin/

Tilføj så brugeren kan eksekvere med root-access:


# Cmnd alias specification
Cmnd_Alias      MAILCMD=/usr/local/sbin/createmaildir.sh

# # User privilege specification
root    ALL=(ALL) ALL
Debian-exim     ALL=(ALL) NOPASSWD:MAILCMD

PHP ændring

Det er nødvendigt at sætte php memory execution op til 32MB fra default 8MB, ellers virker squirrelmail ikke.


Overvågning/backup mm

Tilføj normal procedure vedr. overvågning og backup