Το Mailman είναι ένα πρόγραμμα ανοιχτού κώδικα για τη διαχείριση συζητήσεων ηλ. αλληλογραφίας και λιστών ηλ. ενημέρωσης (e-newsletter). Πολλές λίστες ηλ. ταχυδρομείου ανοιχτού κώδικα (συμπεριλαμβανομένων και όλων των λιστών ηλ. ταχυδρομείου του Ubuntu) χρησιμοποιούν το Mailman. Πρόκειται για ισχυρό λογισμικό, εύκολο στην εγκατάσταση και τη συντήρηση.
Το Mailman παρέχει μια διεπαφή Ιστού για τους διαχειριστές και τους χρήστες, και χρησιμοποιεί εξωτερικό εξυπηρετητή για την αποστολή και λήψη email. Συνεργάζεται άψογα με τους παρακάτω εξυπηρετητές email:
-
Postfix
-
Exim
-
Sendmail
-
Qmail
Θα εξετάσουμε τη διαδικασία εγκατάστασης και ρύθμισης του Mailman με χρήση του εξυπηρετητή Ιστού Apache και, είτε του εξυπηρετητή email Postfix, είτε του Exim. Αν επιθυμείτε να εγκαταστήσετε το Mailman χρησιμοποιώντας διαφορετικό εξυπηρετητή email, παρακαλούμε ανατρέξτε στην ενότητα Αναφορές.
|
|
|
Θα πρέπει να εγκαταστήσετε μόνο έναν εξυπηρετητή email, και το Postfix είναι ο προεπιλεγμένος Mail Transfer Agent του Ubuntu. |
Για λεπτομέρειες σχετικά με την εγκατάσταση του apache2 ανατρέξτε στην ενότητα για την Εγκατάσταση του HTTPD.
Για οδηγίες σχετικά με την εγκατάσταση και ρύθμιση του Postfix δείτε το “Postfix”
Για την εγκατάσταση του Exim4 δείτε το “Exim4”.
Αφού εγκατασταθεί το exim4, τα αρχεία ρυθμίσεών του αποθηκεύονται στον κατάλογο /etc/exim4. Στο Ubuntu η προεπιλογή για τα αρχεία ρυθμίσεων του exim4 είναι να βρίσκονται κατανεμημένα σε διαφορετικά αρχεία. Μπορείτε να αλλάξετε αυτή τη συμπεριφορά τροποποιώντας την ακόλουθη παράμετρο στο αρχείο /etc/exim4/update-exim4.conf:
-
dc_use_split_config='true'
Για να εγκαταστήσετε το Mailman, εισάγετε την ακόλουθη εντολή στο τερματικό:
sudo apt-get install mailman
Αντιγράφει τα αρχεία της εγκατάστασης στον κατάλογο /var/lib/mailman. Εγκαθιστά τα σενάρια εντολών CGI στον κατάλογο /usr/lib/cgi-bin/mailman. Δημιουργεί το χρήστη linux list. Δημιουργεί την ομάδα linux list. Η διεργασία του mailman ανήκει σε αυτόν το χρήστη.
Σε αυτή την ενότητα υποθέτουμε ότι έχετε ήδη εγκαταστήσει επιτυχώς τα mailman, apache2 και το postfix ή το exim4. Τώρα απομένει μόνο η ρύθμισή τους.
Το Mailman συμπεριλαμβάνει ένα αρχείο-υπόδειγμα ρύθμισης του Apache, το /etc/mailman/apache.conf. Για να μπορέσει το Apache να χρησιμοποιήσει τις ρυθμίσεις του, το αρχείο θα πρέπει να αντιγραφεί στο /etc/apache2/sites-available:
sudo cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf
Έτσι, δημιουργείται ένα νέο Εικονικό Σύστημα (VirtualHost) Apache για τον ιστότοπο διαχείρισης του Mailman. Τώρα, μπορείτε να ενεργοποιήσετε τις νέες ρυθμίσεις και να επανεκκινήσετε το Apache:
sudo a2ensite mailman.conf sudo /etc/init.d/apache2 restart
Το Mailman χρησιμοποιεί το apache2 για τα σενάρια εντολών CGI. Τα σενάρια CGI του mailman CGI βρίσκονται στον κατάλογο /usr/lib/cgi-bin/mailman. Άρα, η διεύθυνση url του mailman θα είναι http://hostname/cgi-bin/mailman/. Αν θέλετε να αλλάξετε αυτή τη συμπεριφορά μπορείτε να τροποποιήσετε το αρχείο /etc/apache2/sites-available/mailman.conf.
Για να ενσωματώσουμε και το Postfix, θα συσχετίσουμε τον τομέα lists.example.com με τις λίστες ταχυδρομείου. Αντικαταστήστε το lists.example.com με τον τομέα της επιλογής σας.
Μπορείτε να χρησιμοποιήσετε την εντολή postconf για να προσθέσετε τις απαραίτητες ρυθμίσεις στο /etc/postfix/main.cf:
sudo postconf -e 'relay_domains = lists.example.com' sudo postconf -e 'transport_maps = hash:/etc/postfix/transport' sudo postconf -e 'mailman_destination_recipient_limit = 1'
Στο /etc/postfix/master.cf επαληθεύστε προσεκτικά ότι διαθέτετε τον ακόλουθο μεταφορέα (transport):
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
Καλεί το σενάριο postfix-to-mailman.py όποτε η λίστα λαμβάνει ένα email.
Συσχετίστε τον τομέα lists.example.com με τον μεταφορέα του Mailman μέσω του χάρτη μεταφοράς (transport map). Τροποποιήστε το αρχείο /etc/postfix/transport:
lists.example.com mailman:
Τώρα, ζητήστε από το Postfix να δημιουργήσει το χάρτη μεταφοράς, δίνοντας από το τερματικό:
sudo postmap -v /etc/postfix/transport
Τέλος, επανεκκινήστε το Postfix για να ενεργοποιήσετε τις νέες ρυθμίσεις:
sudo /etc/init.d/postfix restart
Αφού εγκατασταθεί το Exim4, μπορείτε να εκκινήσετε τον εξυπηρετητή Exim με την ακόλουθη εντολή:
sudo /etc/init.d/exim4 start
Για να επιτρέψετε στο mailman να συνεργαστεί με το Exim4, θα χρειαστεί να ρυθμίσετε κατάλληλα το Exim4. Όπως αναφέρθηκε προηγουμένως, η προεπιλογή του Exim4 είναι να χρησιμοποιεί πολλαπλά αρχεία ρυθμίσεων διαφορετικών τύπων. Για περισσότερες λεπτομέρειες, δείτε τον ιστότοπο του Exim. Για το mailman, θα πρέπει να προσθέσουμε ένα νέο αρχείο ρυθμίσεων στους ακόλουθους τύπους ρυθμίσεων:
-
Main (Κύριος)
-
Transport (Μεταφορέας)
-
Router (Δρομολογητής)
Το Exim δημιουργεί ένα κεντρικό αρχείο ρυθμίσεων, ταξινομώντας όλα αυτά τα επιμέρους αρχεία ρυθμίσεων. Άρα, η σειρά αυτών των αρχείων παίζει καθοριστικό ρόλο.
Όλα τα αρχεία ρυθμίσεων που ανήκουν στον τύπο main αποθηκεύονται στον κατάλογο /etc/exim4/conf.d/main/. Μπορείτε να προσθέσετε τα παρακάτω σε ένα νέο αρχείο, με όνομα 04_exim4-config_mailman:
# start
# Ο αρχικός κατάλογος της εγκατάστασης του Mailman -- δηλαδή ο κατάλογος με
# το πρόθεμα Mailman.
# Στο Ubuntu θα έπρεπε να είναι "/var/lib/mailman"
# Συνήθως, ταυτίζεται με το ~mailman
MM_HOME=/var/lib/mailman
#
# Χρήστης και ομάδα για το Mailman, θα πρέπει να ταυτίζεται με την τιμή του --with-mail-gid
# στο σενάριο ρύθμισης του Mailman. Η τιμή του κανονικά είναι "mailman"
MM_UID=list
MM_GID=list
#
# Τομείς όπου βρίσκονται οι λίστες σας - λίστα διαχωρισμένη με άνω κάτω τελεία
# Ίσως σας ενδιαφέρει να τους προσθέσετε και στο local_domains
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Αυτές οι τιμές προκύπτουν από τις παραπάνω τιμές. Δε χρειάζονται
# επεξεργασία εκτός αν έχετε μπλέξει την εγκατάστασή σας του mailman
#
# Η διαδρομή του σεναρίου-περιβλήματος mail του Mailman
MM_WRAP=MM_HOME/mail/mailman
#
# Η διαδρομή του αρχείου ρυθμίσεων των λιστών (απαραίτητο αρχείο
# για την επαλήθευση των διευθύνσεων των λιστών)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# end
Όλα τα αρχεία ρυθμίσεων που ανήκουν στον τύπο transport αποθηκεύονται στον κατάλογο /etc/exim4/conf.d/transport/. Μπορείτε να προσθέσετε τα παρακάτω σε ένα νέο αρχείο, με όνομα 40_exim4-config_mailman:
mailman_transport:
driver = pipe
command = MM_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*);}{\$1}}} \
{post}}' \
$local_part
current_directory = MM_HOME
home_directory = MM_HOME
user = MM_UID
group = MM_GID
Όλα τα αρχεία ρυθμίσεων που ανήκουν στον τύπο router αποθηκεύονται στον κατάλογο /etc/exim4/conf.d/router/. Μπορείτε να προσθέσετε τα παρακάτω σε ένα νέο αρχείο, με όνομα 101_exim4-config_mailman:
mailman_router:
driver = accept
require_files = MM_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : \
-confirm+* : -join : -leave : \
-owner : -request : -admin
transport = mailman_transport
|
|
|
Τα αρχεία ρυθμίσεων main και transport μπορούν να τοποθετηθούν με οποιαδήποτε σειρά. Ωστόσο, η σειρά των αρχείων ρυθμίσεων router πρέπει να είναι η ίδια. Το αρχείο αυτό πρέπει να βρίσκεται πριν από το αρχείο 200_exim4-config_primary. Αυτά τα δύο αρχεία ρυθμίσεων περιέχουν τον ίδιο τύπο πληροφοριών. Το πρώτο αρχείο υπερισχύει. Για περισσότερες λεπτομέρειες, δείτε την ενότητα Αναφορές. |
Αφού εγκατασταθεί το mailman, μπορείτε να το εκτελέσετε με την ακόλουθη εντολή:
sudo /etc/init.d/mailman start
Αφού εγκατασταθεί το mailman, θα πρέπει να δημιουργήσετε την προεπιλεγμένη λίστα ταχυδρομείου. Εκτελέστε την ακόλουθη εντολή:
sudo /usr/sbin/newlist mailman
Enter the email address of the person running the list: bhuvan at ubuntu.com
Initial mailman password:
To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:
## λίστα ταχυδρομείου mailman
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Hit enter to notify mailman owner...
#
Έχουμε ρυθμίσει το Postfix ή το Exim4 ώστε να αναγνωρίζουν όλα τα email του mailman. Άρα, δεν είναι υποχρεωτικό να προσθέσουμε νέες εγγραφές στο /etc/aliases. Αν έχετε κάνει αλλαγές στα αρχεία ρυθμίσεων, φροντίστε να επανεκκινήσετε τις αντίστοιχες υπηρεσίες πριν προχωρήσετε στην επόμενη ενότητα.
|
|
|
Το Exim4 δεν χρησιμοποιεί τα παραπάνω ψευδώνυμα (alias) για την προώθηση email στο Mailman, γιατί χρησιμοποιεί τη μέθοδο ανακάλυψης (discover). Για να απενεργοποιήσετε τα ψευδώνυμα κατά τη δημιουργία της λίστας, μπορείτε να προσθέσετε τη γραμμή MTA=None στο αρχείο ρυθμίσεων του Mailman, |
Υποθέτουμε ότι η εγκατάστασή σας διαθέτει τις προεπιλεγμένες ρυθμίσεις. Τα σενάρια cgi του mailman βρίσκονται στον κατάλογο /usr/lib/cgi-bin/mailman/. Το Mailman παρέχει ένα εργαλείο διαχείρισης μέσω Ιστού. Για να αποκτήσετε πρόσβαση στη σελίδα, εισάγετε την ακόλουθη διεύθυνση στον περιηγητή σας:
http://hostname/cgi-bin/mailman/admin
Η προεπιλεγμένη λίστα ταχυδρομείου, η mailman, εμφανίζεται στην οθόνη. Αν κάνετε κλικ στο όνομά της, θα σας ζητηθεί ο κωδικός πιστοποίησής σας. Αν εισάγετε το σωστό κωδικό, θα σας δοθεί η δυνατότητα να αλλάξετε τις ρυθμίσεις διαχείρισης αυτής της λίστας. Μπορείτε να δημιουργήσετε νέα λίστα ταχυδρομείου χρησιμοποιώντας το εργαλείο της γραμμής εντολών(/usr/sbin/newlist). Εναλλακτικά, μπορείτε να δημιουργήσετε νέα λίστα ταχυδρομείου χρησιμοποιώντας τη διεπαφή Ιστού.
Το Mailman παρέχει μία διεπαφή ιστού για τους χρήστες. Για να αποκτήσετε πρόσβαση στη σελίδα, εισάγετε την ακόλουθη διεύθυνση στον περιηγητή σας:
http://hostname/cgi-bin/mailman/listinfo
Η προεπιλεγμένη λίστα ταχυδρομείου, η mailman, εμφανίζεται στην οθόνη. Αν κάνετε κλικ στο όνομά της, θα εμφανιστεί η φόρμα εγγραφής συνδρομητή. Μπορείτε να εισάγετε τη διεύθυνση email σας, το όνομά σας (προαιρετικά) και τον κωδικό σας για να εγγραφείτε συνδρομητής. Στη συνέχεια, θα σας σταλεί μία πρόσκληση μέσω email. Μπορείτε να ακολουθήσετε τις οδηγίες στην πρόσκληση για να ολοκληρώσετε την εγγραφή σας.

