Welkom op de Wiki van de Nederlandse Piratenpartij. Deze wiki is voortdurend in ontwikkeling en probeert een centrale functie binnen de partij te vervullen. Wil je een bijdrage leveren aan de ontwikkeling? Maak dan een account aan en ga aan de slag!

Voor een overzicht van de meest noodzakelijke taken zie de to do list.

Mocht je vragen, suggesties of interessante websites hebben dan kun je contact opnemen met Azonata (wiki@piratenpartij.nl). Alvast hartelijk bedankt.

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

werkgroep:ict:mail [2012/10/31 13:32]
Bob aangemaakt
werkgroep:ict:mail [2013/09/15 13:50] (huidige)
bob
Regel 1: Regel 1:
-====== Mailserver ====== +https://www.piratenpartij.nl/werkgroep/ict/pagina/systeem-mail
-  * Beheer ligt bij Casper Gielen (CASPER2000). +
- +
-===== Configuratiebestanden ===== +
-De directory ''/root/files'' bevat alle informatie en configuratiefiles die nodig zijn om het systeem opnieuw op te bouwen. Deze configuratie files kun je installeren en activeren door 'make' te tikken in de betreffende directory. De makefiles gebruiken 'caspar', een simpele configuratie-manager]]. Deze hele directory zit in git. De userdata zit er echter niet bij. +
- +
-===== Documentatie ===== +
-De documentatie staat in ''/root/doc/''. In ''/root/doc/log.pod'' houd ik een logboek bij van alle veranderingen aan de server. De file ''/root/doc/password.asc'' bevat alle systeem-wachtwoorden, al zou je die nooit nodig moeten hebben want ze staan ook in de configuratie-files. +
- +
-===== Onderdelen ===== +
-==== Postfix (smtp) ==== +
-Postfix neemt mail aan en controleert deze met greylisting (postgrey, dns-blocklists en amavis). De mail wordt nu geweigerd of bezorgd. De mail wordt opgeslagen in ''/usr/local/virtual/piratenpartij.nl''.  Gebruikers en domeinen staan in een mysql-database genaamd '''postfix'''. Postfix doet de authenticatie niet zelf maar laat het, via SASL, over aan Dovecot. Via ''poort 10025'' neemt Postfix mail aan die door amavis is gecontroleerd. Het beheer van de (virtuele) gebruikers en domeinen gaat via de webinterface '''postfixadmin'''. +
- +
-==== Dovecot (imap) ==== +
-Dovecot zorgt voor POP3s en IMAPs (en dus de authenticatie). Het gebruikt dezelfde mysql-database als Postfix. Dovecot kan ook het sieve mailfilter-protocol gebruiken. Hiermee kun je vanuit rouncube of je eigen mailclient de mailfilters configureren. Hiervoor moet Dovecot wel als delivery-agent worden gebruikt en dat doen we nog niet. +
- +
-==== Roundcube (webmail) ==== +
-Roundcube is de webmail en gebruikt de lokale IMAP-server. Authenticatie wordt ook overgelaten aan de IMAP-server. +
- +
-==== Mailman (mailinglist) ==== +
-Dit is de mailinglistmanager voor ''lists.piratenpartii.nl''. De data staat in ''/var/lib/mailman/''. Het kan beheerd worden vanaf de command-line en via [[https://lists.piratenpartij.nl|een webinterface]]:  +
-[[http://staff.imsa.edu/~ckolar/mailman/mailman-administration-v2.html|Zie hier]] voor een zeer uitgebreide handleiding. +
- +
-=== Nieuwe lijst aanmaken === +
-<code> +
-root@mail:~/etc/postfix# newlist lqfb-team <e-mail adres beheerder> +
-root@mail:~/etc/postfix# ./add_list.sh lqfb-team >> relay_recipients +
-root@mail:~/etc/postfix# postmap /etc/postfix/relay_recipients +
-</code> +
- +
-==== Amavis (antispam) ==== +
-Amavis is een stuk software dat mail-servers helpt bij het scannen op virussen en spam. Wij gebruiken clamav voor virussen en spamassasin voor spam. De mail wordt via ''poort 10025'' teruggegeven aan Postfix. +
- +
-==== Sieve (spam) ==== +
-[[wp>Sieve_%28mail_filtering_language%29|Sieve]] is een mailfilter dat je kan gebruiken om e-mail in aparte folders te zetten of om spam automatisch weg te gooien. Sieve is geen programma maar een protocol. Je hebt een e-mail-programma nodig dat Sieve snapt om het te gebruiken. Voor Thunderbird kun je [[https://addons.mozilla.org/en-us/thunderbird/addon/sieve/|deze plugin]] gebruiken. +
- +
-=== Meer informatie === +
-  * [[http://sieve.info|Officiële website.]] +
-  * [[http://wiki.dovecot.org/LDA/Sieve|Informatie op de Dovecot wiki.]] +
-  * [[http://support.tigertech.net/sieve|Support website voor Sieve.]] +
-  * **TODO:** Web-interface maken, [[http://smartsieve.sourceforge.net/screenshots.html|Zie dit voorbeeld.]] +
- +
-==== Caspar (configuratie-manager) ==== +
-Caspar is een eenvoudige configuratie-manager die je helpt om configuratie-files op een gestructureerde manier te beheren. Alle configuratiefiles staan in ''/root/files''. De files die bij dit systeem horen staan in /''root/files/systems/<hostname>/''. Gedeelde files staan in ''/root/files/group/<naam>''. +
- +
-=== Werkwijze === +
-== Voorbeeld 1 == +
- +
-Stel je de file ''/etc/voorbeeld/main.conf'' wilt aanpassen. +
- +
-<code> +
-1. $ cd /root/systems/mail/etc/voorbeeld/ +
-2. $ vi main.conf +
-3. $ git commit main.conf -m 'fix bug 123' +
-4. $ make +
-# output:  +
-cp main.conf /etc/voorbeeld/ +
-/etc/init.d/voorbeeld restart +
-</code> +
- +
-  - Ga naar de juiste directory. +
-  - Maak je aanpassing. +
-  - Sla de aanpassing op in 'git' zodat fouten snel kan terugdraaien en zodat een ander (of jijzelf) later kan teruglezen wat je hebt gedaan. +
-  - Draai het 'make' commando. Dit zorgt er voor dat de file naar de juiste directory toe wordt gekopieerd, dat er (indien mogelijk) een controle wordt gedaan en vervolgens wordt het desbetreffende programma herstart.  +
- +
-Het is een overweging om Caspar te vervangen door Puppet. Puppet is veel krachtiger en wordt veel meer gebruikt, maar is wel vrij heftig qua resources en leercurve. +
- +
-== Voorbeeld 2 == +
-Een wat langer voorbeeld voor een nieuwe file: +
- +
-<code> +
-   # eerst een dir aanmaken +
-1. $ mkdir /root/systems/mail/etc/voorbeeld/                                        +
-   # maagedelijke config file op z'n plek zetten +
-2. $ cp /etc/voorbeeld/main.conf /root/systems/mail/etc/voorbeeld/   +
-   # Makefile voor caspar toevoegen  +
-3. $ cp ....../ergens/Makefile /root/systems/mail/etc/voorbeeld/           +
-4. $ cd /root/systems/mail/etc/ +
-   # originele files toevoegen aan git +
-5. $ git add voorbeeld                                                                           +
-   # en opslaan +
-6. $ git commit voorbeeld -m 'as found'                                                +
-7. $ cd voorbeeld +
-   # configuratie aanpassen +
-8. $ vi main.conf                                                                                   +
-   # pad aanpassen voor caspar  +
-9. $ vi Makefile                                                                                       +
-   # aanpassingen opslaan in git +
-10. $ git commit . -m 'fix bug 123'                                                           +
-   # aangepaste file op z'n plek zetten en bijhorende scripts uitvoeren +
-11. $ make                                                                                              +
-# output:  +
-cp main.conf /etc/voorbeeld/ +
-/etc/init.d/voorbeeld restart +
-</code> +
- +
-==== Shorewall (firewall) ==== +
-Een zeer complete firewall, geschikt voor eenvoudige een ingewikkelde situaties. De configuratiefiles staan in ''etc/shorewall'' en ''etc/shorewall6''. In de praktijk hoef je alleen de '''rules''' en '''params''' files aan te passen. De '''rules''' file wordt gedeeld met shorewall6. Je kan daarom geen IP-adressen gebruiken. De oplossing hiervoor is de '''params''' file. Gebruik deze om je IP-adres een naam te geven. +
- +
-==== Nginx (webserver) ==== +
-De webserver op deze machine is het eenvoudige maar snelle Nginx. Er zijn twee websites, ''mail.piratenpartij.nl'' voor Roundcube webmail en ''lists.piratenpartij.nl'' voor de mailmain mailinglijsten. Nginx communiceert met PHP via fastcgi. +
- +
-===== Systeem ===== +
-  * VPS, single core  Xeon(R) CPU L5640  +
-  * 1G RAM, 20G schijf +
-  * 1gbit, datalimiet ? +
- +
-<code> +
-root@srv01:~# sfdisk -d /dev/sda +
-/dev/sda1 : start=     2048, size=   495616, Id=83, bootable +
-/dev/sda2 : start=   497664, size= 20471808, Id=8e +
-/dev/sda3 : start=        0, size=        0, Id= 0 +
-/dev/sda4 : start=        0, size=        0, Id= 0 +
- +
-root@srv01:~# df -h |grep -v none +
-Filesystem            Size  Used Avail Use% Mounted on +
-/dev/mapper/boot-root 7.8G  6.2G  1.3G  83% / +
-/dev/mapper/boot-tmp  938M   18M  873M   2% /tmp +
-/dev/sda1             227M   51M  165M  24% /boot +
-/dev/mapper/data-var  9.9G  7.0G  2.4G  75% /var +
-</code> +
- +
-===== Netwerk ===== +
-  * ipv4: ''87.250.154.8'', ''87.250.154.9''  ''gw: 87.250.154.1'' +
-  * ipv6: ''2a02:f18:1:9a01:87:250:154:8/64 2a02:f18:1:9a01:87:250:154:9/64'' +
-  * mac: ''00:50:56:8a:0b:d8'' +
- +
-===== Procedures ===== +
- +
-==== Mailman ==== +
- +
-=== Mailinglijst aanmaken & gebruikers toevoegen === +
-Dit kan zowel via een commandline als via de webinterface. +
- +
-<code> +
-root@srv01:~# list_lists +
-root@srv01:~# newlist --quiet testlijst +
-root@srv01:~# echo jantje@example.com| add_members -r - testlijst +
-root@srv01:~# list_members Techteam +
-</code> +
- +
-=== Postfix === +
-== Queue bekijken == +
-  * ''root@srv01:~# sendmail -bp'' +
- +
-== E-mail-adressen beheren == +
-  * [[http://mail.piratenpartij.nl/postfixadmin|Deze link.]] +
- +
-===== TODO list ===== +
-  * Sieve +
-  * Dovecot deliver gebruiken i.p.v. van Postfix zodat sieve-filters ook gebruikt worden +
-  * Roundcube ook koppelen +
-  * Data in ''/usr/local/'' is niet ideaal, daarom converteren naar ''/srv''?+