My question is what ports do i need to portforward for a fully working server, with both SSL, SSH and mail working?
You need to set up ports 80, 443 (for SSL if you want it), port 22 (SSH/Telnet) and maybe port 21 for FTP if you want that.
Mail:
POP3 - port 110
IMAP - port 143
SMTP - port 25
Secure SMTP (SSMTP) - port 465
Secure IMAP (IMAP4-SSL) - port 585
IMAP4 over SSL (IMAPS) - port 993
Secure POP3 (SSL-POP) - port 995
My second question is how do i get my domain pointing to my server? My external ip is static.
You have to go into your DNS (cloudflare, godaddy, or something) and make an A-record like this:
Host: @ (means 'root domain')
Destination: your-ip-address (not another subdomain, it has to be numbers)
You can create subdomains (www, ftp, etc) and just replace the @ with the subdomain you want, and the IP it will go to.
If you haven't done so already, you need to make Apache listen on your domain. Make sure you have this in your httpd.conf file:
NameVirtualHost *:80
<VirtualHost *:80>
<Directory "/path/to/files/">
AllowOverride All
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory>
ServerAdmin your@email.com
DocumentRoot "/path/to/files/"
ServerName techitproductions.com
ServerAlias www.techitproductions.com
php_admin_value open_basedir /path/to/files/
</VirtualHost>
If you need more assistance, please reply with a comment and I'll try to reply as fast as I can.