sunnuntai 24. tammikuuta 2016

Postfixin asennus

Postfix on sähköpostipalvelin, joka reitittää postia intranetin ja internetin välillä. Postfixiä tarvitaan esimerkiksi sähköpostia lähettävien nettisovellusten kehittämiseen. Alla tiivistelmä Arch Linuxin ja Postfixin asennusohjeista, joilla asennat Postfixin palomuurin taakse pääasiassa sähköpostien lähetystä varten.

Asenna postfix Arch Linuxiin komennolla:
sudo pacman -S postfix

Avaa Postfixin asetustiedosto vi-editoriin (ks. sivupalkin ohje):
sudo vi /etc/postfix/main.cf

Muokkaa tiedostoon rivit:
myhostname = localhost
mydomain = localdomain
myorigin = localdomain
inet_interfaces = localhost
mydestination = localhost.localdomain, localhost, localdomain
mynetworks = 127.0.0.0/8 10.0.0.0/24
relay_domains =
relayhost = [PALVELIN]:587
missä PALVELIN on palveluntarjoajasi SMTP-palvelin.

Lisää tiedoston loppuun uudet rivit:
smtp_generic_maps = hash:/etc/postfix/generic
smtp_helo_name = OMAPALVELIN
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_use_tls = yes
missä OMAPALVELIN on mikä tahansa toimiva verkkonimi. (Käyttämäni
SMTP-palvelin ei hyväksy yhteydenottoja nimettömiltä palvelimilta.)

Luo SMTP-palvelinta varten salasanatiedosto:
sudo vi /etc/postfix/sasl_passwd

Lisää tiedostoon rivit:
[PALVELIN]:587<tab>TUNNUS:SALASANA
missä PALVELIN on palveluntarjoajasi SMTP-palvelimen nimi, <tab> on tabulaattorimerkki, TUNNUS on SMTP-palvelimen käyttäjätunnus (yleensä sähköpostiosoite) ja SALASANA on sähköpostin salasana.

Tallenna tiedosto, sulje editori ja valmistele tiedosto käyttöön komennoilla:
sudo chmod 0600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

Käyttämäni SMTP-palvelin ei suostu lähettämään postia ilman paluuosoitetta. Otin siksi käyttöön lähetysosoitteiden uudelleenkirjoituksen. Avaa ohjaustiedosto komennolla:
sudo vi /etc/postfix/generic

Tallenna tiedostoon rivit:
TUNNUS@localdomain<tab>OMAOSOITE
root@localdomain<tab>OMAOSOITE
missä TUNNUS on Linux käyttäjätunnuksesi, <tab> on tabulaattorimerkki ja OMAOSOITE on voimassa oleva sähköpostiosoitteesi.

Tallenna tiedosto, sulje editori ja valmistele tiedosto käyttöön komennolla:
sudo postmap /etc/postfix/generic

Nettisovelluksia kehitettäessä on hyödyllistä ohjata järjestelmän varoitusviestit ja crontab-eräajojen tulokset usein luettavaan sähköpostiin. Tee tämä avaamalla editoriin asetustiedosto:
sudo vi /etc/postfix/aliases

Muokkaa tiedostoon rivi:
root:           OMAOSOITE
missä OMAOSOITE on voimassa oleva sähköpostiosoitteesi. Tallenna tiedosto, sulje editori ja valmistele tiedosto komennolla:
sudo newaliases

Käynnistä postfix komennoilla:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service

Postin lähetyksen pitäisi nyt onnistua PHP-ohjelmista.

Jotta voit lähettää postia myös komentotilasta, asenna mailx paketti komennolla:
sudo pacman -S mailx

Yritä lähettää postia komennolla:
mail root

Syötä viimeiselle riville piste ja paina enter. Piste katkaisee sähköpostin ja lähettää viestin.

Jos postin lähetys ei onnistunut, tarkista Postfixin virheloki komennolla:
sudo systemctl status -l -n 100 postfix.service

Saat lisää seurantaa, jos lisäät main.cf-tiedostossa SMTP-palvelin nimen debug_peer_list-kohtaan.