[ Zamknij ] [ pdf ] [ xlsx ]
Nazwa szkoleniaTermin odTermin doMiejscowośćFirma / ZleceniodawcaGodzin
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język PHP 2018-03-032018-03-23Krakówteb.pl40
Wykładowca w Szkole programowania codeskills.pl (sem. II, zakres Back-End Developer)2018-02-242018-06-24Warszawacodeskills.pl120
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język HTML5 oraz CSS3.2017-10-142017-12-10Krakówteb.pl40
Kurs Front End Developer, moduł JavaScript (podstawy JS, model DOM, jQuery, AJAX).2017-07-132017-07-18KrakówAkademia108.pl32
MS Excel - obsługa programu od podstaw.2017-06-052017-06-06KrakówEduKey Łódź.12
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (HTML5, CSS3, JavaScript, jQuery, AJAX, JSON), moduł: specjalizacja back-end (PHP, SQL, MySQL).
[ szczegóły ]
2017-03-062017-04-07Warszawacodeskills.pl184
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (html5, CSS3, JavaScript, jQuery, AJAX, PHP, JSON, SQL, MySQL).
[ szczegóły ]
2016-11-072016-11-28Warszawacodeskills.pl104
Przygotowanie materiałów oraz przeprowadzenie szkolenia: System Linux - podstawowa administracja LX-02.
[ szczegóły ]
2016-10-122016-10-14WarszawaAction Centrum Edukacyjne Warszawa.24
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Praktyczny kurs programowania” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: PHP, JAVA, bazy MySQL. Szkolenie w standardzie ECCC.2016-08-232016-09-02Wrocław.HUMANEO, Nowy Sącz.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Pracownik IT” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: HTML5, CSS3, JavaScript, PHP, MySQL. Szkolenie w standardzie ECCC. 2016-05-242016-06-09Wrocław.SENSE consulting sp. z o.o. - Poznań.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia Excel moduł podstawowy (9 grup x 8h zegarowych = 72h), moduł średniozaawansowany (11 grup x 8h zegarowych = 88h), moduł zaawansowany (3 grupy x 8h = 24h).2016-05-232016-11-14Kraków.Aterima Kraków (szkolenie wewnętrzne pracowników).184
Kurs programowania stron internetowych.2016-02-242016-03-24KrakówGoWork.pl120
Excel zaawansowany (szkolenie autorskie).2015-12-152015-12-16Nowy SączCSD "KREATOR" (szkolenie wewnętrzne).16
Administracja i obsługa baz danych MySQL oraz PostgreSQL (szkolenie autorskie).2013-09-272013-10-17BrzeskoCentrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała50
Kurs programowania stron internetowych.2013-08-032013-09-22Kraków.GoWork.pl120
Kurs programowania stron internetowych.2013-06-222013-08-18KrakówGoWork.pl120
Kurs programowania stron internetowych.2013-05-112013-06-23Kraków.GoWork.pl120
Kurs programowania stron internetowych.2012-12-152013-02-03Kraków.GoWork.pl120
Obsługa programu Excel - poziom podstawowy2012-12-012012-12-02Kraków.GoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-10-222012-10-25Kraków.GoWork.pl26
Administracja serwerem INTERNETOWYM i INTRANETOWYM z systemem Linux.2012-09-012012-11-30Brzesko.Centrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała (szkolenie autorskie).90
MS Word - poziom podstawowy.2012-09-012012-09-01Kraków.GoWork.pl6
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-192012-07-20KrakówGoWork.pl16
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-112012-07-12KrakówGoWork.pl16
Obsługa programu Excel - poziom zaawansowany2012-05-192012-05-20KrakówGoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-05-122012-05-13Kraków.GoWork.pl16
Kurs komputerowy podstawowy (obsługa systemów operacyjnych, Internet, Word, Excel). 2011-07-022011-08-04Miechów.GOPS Miechów.120
Serwerowe systemy operacyjne - Linux, Windows, Novell NetWare.2010-10-202010-11-26Miechów.AdlerComputers.90
Pracownik administracyjno - biurowy. Moduł "Obsługa komputera".2010-05-052010-05-24Gdów.Stowarzyszenie Inspiracje - Mielec.46
Pracownik biurowy - sekretarka, moduł "Obsługa komputera w sekretariacie, obsługa urządzeń biurowych".2009-10-152009-10-30Miechów.Grupa Doradcza Projekt - Kraków.84
Sprzedawca - moduł "Obsługa komputera".2009-09-282009-10-09Miechów.Grupa Doradcza Projekt - Kraków.60
Moduł "Obsługa komputera" w ramach kursu "Sprzedawca".2009-05-252009-06-05Miechów.Grupa Doradcza Projekt - Kraków.60
Obsługa komputera, kas fiskalnych, fakturowanie - moduł "Obsługa komputera".2008-11-272008-12-09Miechów.Grupa Doradcza Projekt - Kraków.50
Obsługa komputera z aktywnym poszukiwaniem pracy.2008-10-272008-11-10Miechów.Grupa Doradcza Projekt - Kraków.60
Łączna ilość godzin: 2306.

Serwer pocztowy -> Część 2. Instalacja, konfiguracja Dovecot.


Dodał / zmodyfikował: pkania, w dniu:2015-08-21

1) Instalacja Dovecota oraz openssl (jeżeli wcześniej pakiet ten nie został zainstalowany, ponieważ za jego pomocą zaszyfrujemy dane połączeń itd.).

zypper in dovecot21 openssl

2) Stwórz kopię zapasową pliku konfiguracyjnego:

cd /etc/dovecot
cp dovecot.conf dovecot.conf.backup

3) Tworzymy początkowy plik konfiguracyjny wg wzorca:

doveconf -n > dovecot.conf-new
mv dovecot.conf-new dovecot.conf
(nie twórz od razu pliku dovecot.conf: doveconf -n > dovecot.conf, ponieważ wystąpią błędy dot. braku certyfikatów SSL).

4) Edytujemy plik (vi /etc/dovecot/dovecot.conf) i ustawiamy / dopisujemy następujące opcje:

mail_location = maildir:~/Maildir #lokalizacja skrzynek pocztowych
Przy takim ustawieniu mail_location usuwamy lub komentujemy całą sekcję namespace inbox (zaznaczona na czerono, ponieważ w tym przypadku nie będzie nam ona potrzebna):
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = Drafts
  }
  mailbox Junk {
    special_use = Junk
  }
  mailbox Sent {
    special_use = Sent
  }
  mailbox "Sent Messages" {
    special_use = Sent
  }
  mailbox Trash {
    special_use = Trash
  }
  prefix =
}

login_greeting = Mój serwer POP3 / IMAP #informacja przedstawiana przez dovecot-a po zalogowaniu (ustanowieniu sesji) POP3
listen = * #nasłuch na wszystkich interfejsach sieciowych
protocols = "imap pop3" #obsługiwane protokoły pocztowe
ssl = yes #włącz szyfrowanie ssl
ssl_cert = #ścieżka do certyfikatu - uwaga nie zapomnij na początku wpisu o znaku większości "<" w przeciwnym razie w logach zobaczysz następujące ostrzeżenia: "Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert=</etc/dovecot/ssl/certyfikat.pem)"
ssl_key#ścieżka do klucza - uwaga nie zapomnij na początku wpisu o znaku większości "<"
disable_plaintext_auth = yes #wyłącz możliwość logowania za pomocą plain text (czysty tekst - nieszyfrowany).

Przykład konfiguracji z obsługą SSL:
konfiguracja_dovecot

5) Zapisz powyższą konfigurację. Teraz utworzymy certyfikat oraz klucz na który wskazuje w/w konfiguracja.
mkdir /etc/dovecot/ssl
cd /etc/dovecot/ssl
openssl req -new -x509 -nodes -out certyfikat.pem -keyout klucz.pem -days 365

Wprowadż dane dotyczące Twojej domeny, w szczególności zwróć uwagę na opcję
Common Name”, która ma wskazywać na nazwę Twojej domeny.

Country Name (2 letter code) [AU]:PL # kraj
State or Province Name (full name) [Some-State]:Malopolskie # województwo
Locality Name (eg, city) []:Krakow # miasto
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PUP # nazwa naszej firmy
Organizational Unit Name (eg, section) []:INFORMATYKA # sekcja / dział firmy
Common Name (e.g. server FQDN or YOUR name) []:moja-domena.pl # nazwa domeny
Email Address []:pkania@moja-domena.pl # e-mail służący do kontaktów w sprawie certyfikatu

6) Sprawdzamy poprawność generacji klucza poleceniem:

openssl rsa -in klucz.pem -check

RSA key ok
writing RSA key

-----BEGIN RSA PRIVATE KEY-----

[...]

-----END RSA PRIVATE KEY-----

Jeżeli widzisz taki komunikat uznajemy, że klucz został wygenerowany poprawnie.

7) Sprawdźmy teraz informacje o certyfikacie:

openssl x509 -noout -text -in certyfikat.pem
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 14936448891954175623 (0xcf48ed216ab49e87)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=PL, ST=MALOPOLSKIE, L=MIECHOW, O=PUP, OU=INFORMATYKA, CN=moja-domena.pl/emailAddress=pkania@moja-domena.pl
        Validity
            Not Before: Aug  3 08:54:17 2015 GMT
            Not After : Aug  2 08:54:17 2019 GMT
        Subject: C=PL, ST=MALOPOLSKIE, L=KRAKOW, O=PUP, OU=INFORMATYKA, CN=moja-domena.pl/emailAddress=pkania@moja-domena.pl
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1024 bit)
                Modulus:
                    [...]
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                [...]
            X509v3 Authority Key Identifier:
                [...]

            X509v3 Basic Constraints:
                CA:TRUE
    Signature Algorithm: sha1WithRSAEncryption
         [...]

8) Wygląda, że wszystko jest OK. Uruchamiamy więc Dovecot-a i dodajemy go do autostartu:

service dovecot start
service dovecot status
chkconfig dovecot on

9) Dodatkowo możemy sprawdzić czy połączenia ssh mogą być wywoływane. Służy do tego polecenie: openssl s_client -connect localhost:pop3s (zamiast pop3s możesz również podać nr portu 995)

Jeżeli to polecenie nie wygenerowało błędów (jeżeli widzisz dane certyfikatu oraz napis "+OK Dovecot ready.") wszystko jest OK.

10) Możemy również przetestować możliwość utworzenia sesji nieszyfrowanej (jeżeli dopuszczamy taką możliwość) za pomocą następującego polecenia: telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
 

11) Teraz już możemy dodać pierwszych użytkowników, którzy będą korzystać z poczty na naszym serwerze:

useradd -m pkania

useradd -m test

ustawiamy im hasła: passwd pkania, passwd test

12) Testujemy możliwość logowania i sprawdzania maili (tekst pogrubiony jest tekstem, który wpisujemy):

openssl s_client -connect localhost:995

[...] +OK Dovecot ready.

user pkania

+OK

pass haslo
+OK Logged in.

stat #status
+OK 0 0
list #polecenie to pokazuje dostępne wiadomości w tym ich identyfikator. W tym momencie nie mam żadnych wiadomości dostarczonych do skrzynki użytkownika dlatego mam wartość 0 messages.

+OK 0 messages:
quit
+OK Logging out.
closed
 

13) Spróbujmy wysłać jakąś wiadomość za pomocą SMTP (wpisz polecenia, które zostały wyróżnione czcionką pogrubioną):

telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.moja-domena.pl ESMTP
ehlo moja-domena.pl
250-mail.moja-domena.pl
250-PIPELINING
250-SIZE
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: pkania@moja-domena.pl
250 2.1.0 Ok
rcpt to: test@moja-domena.pl
250 2.1.5 Ok
data
354 End data with .
Subject: Test wysylki #enter
Testujemy wysylanie wiadomosci #enter
. #pamiętaj, aby na koncu wiadomości wstawić kropkę #enter
250 2.0.0 Ok: queued as 2E23E1C0F15 #wiadomosc dodana do kolejki dostarczenia z identyfikatorem 2E23E1C0F15
quit
221 2.0.0 Bye
Connection closed by foreign host.

14) Sprawdźmy, jakie wpisy dotyczące powyższej komunikacji zawiera log mail:

vi /var/log/mail

2015-08-03T12:56:43.993540+02:00 mail postfix/smtpd[3173]: connect from localhost[::1]
2015-08-03T12:57:23.189205+02:00 mail postfix/smtpd[3173]: 2E23E1C0F15: client=localhost[::1]
2015-08-03T13:02:41.693650+02:00 mail postfix/cleanup[3177]: 2E23E1C0F15: message-id=<20150803105723.2E23E1C0F15@mail.moja-domena.pl>
2015-08-03T13:02:41.696527+02:00 mail postfix/qmgr[3152]: 2E23E1C0F15: from=, size=377, nrcpt=1 (queue active)
2015-08-03T13:02:41.714802+02:00 mail postfix/local[3198]: 2E23E1C0F15: to=, relay=local, delay=328, delays=328/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
2015-08-03T13:02:41.715447+02:00 mail postfix/qmgr[3152]: 2E23E1C0F15: removed
2015-08-03T13:03:18.791574+02:00 mail postfix/smtpd[3173]: disconnect from localhost[::1]

Z powyższego wyciągu z loga wnioskujemy, że cały proces przeszedł poprawnie, wskazuje na to wpis status=sent (delivered to maildir).

15) W takim razie spróbujmy odczytać z poziomu konsoli tego maila:

openssl s_client -connect localhost:995

[...] +OK Dovecot ready.

user test
+OK
pass test
+OK Logged in.
stat
+OK 1 486
list
+OK 1 messages:
1 486
.
retr 1 #pokaż treść wiadomości o ID 1
+OK 486 octets
Return-Path:
X-Original-To: test@moja-domena.pl
Delivered-To: test@moja-domena.pl
Received: from moja-domena.pl (localhost [IPv6:::1])
        by mail.moja-domena.pl (Postfix) with ESMTP id 2E23E1C0F15
        for ; Mon,  3 Aug 2015 12:57:13 +0200 (CEST)
Subject: Test wysylki
Message-Id: <20150803105723.2E23E1C0F15@mail.moja-domena.pl>
Date: Mon,  3 Aug 2015 12:57:13 +0200 (CEST)
From: pkania@moja-domena.pl

Testujemy wysylanie wiadomosci
.
quit
+OK Logging out.
closed