Witaj Gościu, jeżeli to czytasz to znaczy że nie jesteś zarejestrowany/zalogowany. Kliknij by się zarejestrować. Rejestracja zajmie mniej niż 30 sekund , a dzięki temu zniknie Ci ten dymek oraz będziesz miał pełne możliwośći personalizacji forum do własnych potrzeb.
[HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)
Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 10 z 13

Temat: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

  1. #1
    Avatar Sir_Yaro
    Sir_Yaro jest nieaktywny Były Administrator
    Mężczyzna
    • Platforma sprzętowa
      • Płyta Główna:
      • ThinkPad T500
      • Procesor:
      • Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
      • Karta Graficzna:
      • ATI HD3650
      • Karta Dźwiękowa:
      • Conexant 20561
      • Monitor:
      • TFT WSXGA+
      • Kernel:
      • 3.2.0-34
    Dystrybucja: Kubuntu 14.04 LTS
    Polska
    Dołączył
    Jan 2004
    Skąd
    Gdansk
    Wiek
    38
    Postów
    3,675
    Wątków
    214
    Downloads
    27
    Uploads
    31
    Siła Reputacji
    158
    Reputacja
    1854

    [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)


    Opis ten ma na celu ulatwienie instalacji qmail. Nie nalezy z niego korzystac bezmyslnie jak automat. Czytaj komunikaty jakie wypisuje ci system


    Przygotowanie

    W tym momencie powinienes uzyskać uprawnienia root'a, jeśli jeszcze ich nie masz

    Kod:
     
        su
        umask 022
        cd /tmp
        wget http://yaro.gdi.pl/linux/qmail/netqmail-1.05.tar.gz
        wget http://yaro.gdi.pl/linux/qmail/ucspi-tcp-0.88.tar.gz
        wget http://yaro.gdi.pl/linux/qmail/daemontools-0.76.tar.gz
        mkdir -p /usr/local/src
        mv netqmail-1.05.tar.gz ucspi-tcp-0.88.tar.gz /usr/local/src
        mkdir -p /package
        mv daemontools-0.76.tar.gz /package
        chmod 1755 /package
    Teraz możesz rozpakować pakiety.
    Kod:
     
        cd /usr/local/src
        gunzip netqmail-1.05.tar.gz
        tar xpf netqmail-1.05.tar
        cd netqmail-1.05
        ./collate.sh
        cd ..
        gunzip ucspi-tcp-0.88.tar.gz
        tar xpf ucspi-tcp-0.88.tar
        cd /package
        gunzip daemontools-0.76.tar.gz
        tar xpf daemontools-0.76.tar
    Powinienes miec teraz podkatalogi nazwane
    Kod:
        /usr/local/src/netqmail-1.05, /usr/local/src/ucspi-tcp-0.88 i /package/admin/daemontools-0.76.
    Program instalacyjny qmail'a sam tworzy podkatalogi, ktore są potrzebne. Dla ciebie pozostaje tylko stworzenie katalogu "domowego":
    Kod:
        mkdir /var/qmail




    Tworzenie użytkowników i grup

    Kod:
        cd /usr/local/src/netqmail-1.05/netqmail-1.05
        cp INSTALL.ids  IDS
    Nastepnie przy uzyciu edytora tekstu usun z niego to co nie jest potrzebne.
    Kod:
        mcedit ./IDS
    W przypadku linuksa powinno pozostac DOKŁADNIE tylko to:
    Kod:
        groupadd nofiles
        useradd -g nofiles -d /var/qmail/alias alias
        useradd -g nofiles -d /var/qmail qmaild
        useradd -g nofiles -d /var/qmail qmaill
        useradd -g nofiles -d /var/qmail qmailp
        groupadd qmail
        useradd -g qmail -d /var/qmail qmailq
        useradd -g qmail -d /var/qmail qmailr
        useradd -g qmail -d /var/qmail qmails
    nastepnie wykonaj.
    Kod:
        chmod 700 IDS
        ./IDS


    Kompilacja qmail

    Kod:
        cd /usr/local/src/netqmail-1.05/netqmail-1.05
    sciagamy i dodajemy obsluge SMTP AUTH
    Kod:
        wget http://yaro.gdi.pl/linux/qmail/qmail-smtpd-auth-0.31.tar.gz
        gunzip qmail-smtpd-auth-0.31.tar.gz
        tar xpf qmail-smtpd-auth-0.31.tar
        cp qmail-smtpd-auth-0.31/* .
        cp: zamazać `./CHANGES'? y
        patch < auth.patch
    wynikiem ostatniego polecenia bedzie:
    Kod:
        patching file Makefile
        patching file TARGETS
        patching file qmail-smtpd.8
        patching file qmail-smtpd.c
        Hunk #2 succeeded at 62 with fuzz 1.
        Hunk #3 succeeded at 241 with fuzz 1.
    kompilujemy (na sprzecie rzedu Athlon 1700+ powinno to zajac jakies 30-40sek)

    Kod:
        make setup check
        ./config
    wynikiem ostatniego polecenia bedzie (a przynajmniej powinno) cos ZBLIZONEGO do tego:
    Kod:
        [root][/usr/local/src/netqmail-1.05/netqmail-1.05]# ./config
        Your hostname is xxxx.mandrake.pl.
        Your host's fully qualified name in DNS is xxxx.internetdsl.tpnet.pl.
        Putting xxxx.internetdsl.tpnet.pl into control/me...
        Putting internetdsl.tpnet.pl into control/defaultdomain...
        Putting tpnet.pl into control/plusdomain...
    
        Checking local IP addresses:
        0.0.0.0: PTR lookup failed. I assume this address has no DNS name.
        127.0.0.1: Adding localhost to control/locals...
        172.30.11.23: PTR lookup failed. I assume this address has no DNS name.
        192.168.0.1: PTR lookup failed. I assume this address has no DNS name.
        192.168.1.1: PTR lookup failed. I assume this address has no DNS name.
        192.168.2.1: PTR lookup failed. I assume this address has no DNS name.
        80.55.xx.xx: Adding xxxx.internetdsl.tpnet.pl to control/locals...
    
        If there are any other domain names that point to you,
        you will have to add them to /var/qmail/control/locals.
        You don't have to worry about aliases, i.e., domains with CNAME records.
    
        Copying /var/qmail/control/locals to /var/qmail/control/rcpthosts...
        Now qmail will refuse to accept SMTP messages except to those hosts.
        Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
        [root][/usr/local/src/netqmail-1.05/netqmail-1.05]#
    Jesli, z jakiegos powodu, config nie znalazl nazwy twego hosta w DNS trzeba uruchomic skrypt o nazwie config-fast:
    Kod:
        ./config-fast pełna.nazwa.hosta



    Instalacja ucspi-tcp

    Wchodzimy do odpowiedniego katalogu, nakladamy łatke usuwajaca blad przy kompilacji na nowszych komputerach, kompilujemy i instalujemy
    Kod:
        cd /usr/local/src/ucspi-tcp-0.88
        patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
        make
        make setup check
    wynikiem drugiej komendy bedzie:
    Kod:
        [root][/usr/local/src/ucspi-tcp-0.88]# patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
        patching file error.h
    TO NIE JEST BŁĄD



    Instalacja daemontools

    Zmień katalog, nałóż łatkę i zainstaluj:
    Kod:
        cd /package/admin/daemontools-0.76/src/
        patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
        cd ..
        package/install
    wynikiem drugiej komendy bedzie:
    Kod:
        patching file error.h



    Uruchomienie qmail'a

    BARDZO MOCNO SUGERUJE SCIAGANIE WSZYSTKICH PLIKOW KONF. Z PODANYCH LIKOW A NIE WKLEJANIE ICH Z PONIZSZYCH LISTINGOW.
    Z doswiadczenia wiem ze jest po prostu obłędnie łatwo popelnic jakis blad ktory jest prawie nie mozliwy do znalezienia. A przejscie do rzadanego katalogu i wpisanie:
    wget http://adres.do.pliku
    jest chyba latwiejsze i szybsze niz wklejanie tego recznie...

    wklej do /var/qmail/rc
    Kod:
        #!/bin/sh
        # logowanie do stdout
        # wiadomości dostarczane na podstawie control/defaultdelivery
    
        exec env - PATH="/var/qmail/bin:$PATH" qmail-start "`cat /var/qmail/control/defaultdelivery`"
    tutaj możesz ściągnąć ten plik

    wykonaj
    Kod:
        chmod 755 /var/qmail/rc
        mkdir /var/log/qmail
        echo ./Maildir/ >/var/qmail/control/defaultdelivery




    Pliki startowe systemu

    wklej do /var/qmail/bin/qmailctl
    Kod:
        #!/bin/sh
        
        # description: the qmail MTA
    
        PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
        export PATH
    
        QMAILDUID=`id -u qmaild`
        NOFILESGID=`id -g qmaild`
    
        case "$1" in
        start)
        echo "Starting qmail"
        if svok /service/qmail-send ; then
        svc -u /service/qmail-send /service/qmail-send/log
        else
        echo "qmail-send supervise not running" 
        fi
        if svok /service/qmail-smtpd ; then
        svc -u /service/qmail-smtpd /service/qmail-smtpd/log
        else
        echo "qmail-smtpd supervise not running"
        fi
        if [ -d /var/lock/subsys ]; then
        touch /var/lock/subsys/qmail
        fi
    
        if svok /service/qmail-pop3d ; then
        svc -u /service/qmail-pop3d /service/qmail-pop3d/log
        else
        echo qmail-pop3d supervise not running
        fi
    
        ;;
        stop)
        echo "Stopping qmail..."
        echo " qmail-smtpd"
        svc -d /service/qmail-smtpd /service/qmail-smtpd/log
        echo " qmail-send"
        svc -d /service/qmail-send /service/qmail-send/log
        if [ -f /var/lock/subsys/qmail ]; then
        rm /var/lock/subsys/qmail
        fi
        echo " qmail-pop3d"
        svc -d /service/qmail-pop3d /service/qmail-pop3d/log
        ;;
        stat)
        svstat /service/qmail-send
        svstat /service/qmail-send/log
        svstat /service/qmail-smtpd
        svstat /service/qmail-smtpd/log
        qmail-qstat
        svstat /service/qmail-pop3d
        svstat /service/qmail-pop3d/log
        ;;
        doqueue|alrm|flush)
        echo "Flushing timeout table and sending ALRM signal to qmail-send."
        /var/qmail/bin/qmail-tcpok
        svc -a /service/qmail-send
        ;;
        queue)
        qmail-qstat
        qmail-qread
        ;;
        eload|hup)
        echo "Sending HUP signal to qmail-send."
        svc -h /service/qmail-send
        ;;
        pause)
        echo "Pausing qmail-send"
        svc -p /service/qmail-send
        echo "Pausing qmail-smtpd"
        svc -p /service/qmail-smtpd
        echo "Pausing qmail-pop3d"
        svc -p /service/qmail-pop3d
        ;;
        cont)
        echo "Continuing qmail-send"
        svc -c /service/qmail-send
        echo "Continuing qmail-smtpd"
        svc -c /service/qmail-smtpd
        echo "Continuing qmail-pop3d"
        svc -c /service/qmail-pop3d
        ;;
        restart)
        echo "Restarting qmail:"
        echo "* Stopping qmail-smtpd."
        svc -d /service/qmail-smtpd /service/qmail-smtpd/log
        echo "* Sending qmail-send SIGTERM and restarting."
        svc -t /service/qmail-send /service/qmail-send/log
        echo "* Restarting qmail-smtpd."
        svc -u /service/qmail-smtpd /service/qmail-smtpd/log
        echo "* Restarting qmail-pop3d."
        svc -t /service/qmail-pop3d /service/qmail-pop3d/log
        ;;
        cdb)
        tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
        chmod 644 /etc/tcp.smtp.cdb
        echo "Reloaded /etc/tcp.smtp."
        ;;
        help)
        cat <     stop -- stops mail service (smtp connections refused, nothing goes out)
        start -- starts mail service (smtp connection accepted, mail can go out)
        pause -- temporarily stops mail service (connections accepted, nothing leaves)
        cont -- continues paused mail service
        stat -- displays status of mail service
        cdb -- rebuild the tcpserver cdb file for smtp
        restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
        doqueue -- schedules queued messages for immediate delivery
        reload -- sends qmail-send HUP, rereading locals and virtualdomains
        queue -- shows status of queue
        alrm -- same as doqueue
        flush -- same as doqueue
        hup -- same as reload
        HELP
        ;;
        *)
        echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
        exit 1
        ;;
        esac
    
        exit 0
    tutaj możesz ściągnąć ten plik

    Uczyń skrypt qmailctl uruchamialnym i zlinkuj go do katalogu znajdującego się w twojej ścieżce dostępu:
    Kod:
        chmod 755 /var/qmail/bin/qmailctl
        ln -s /var/qmail/bin/qmailctl /usr/bin




    Skrypty supervise

    Kod:
        mkdir -p /var/qmail/supervise/qmail-send/log
        mkdir -p /var/qmail/supervise/qmail-smtpd/log
    Stwórz plik /var/qmail/supervise/qmail-send/run
    Kod:
        #!/bin/sh
        exec /var/qmail/rc
    tutaj możesz ściągnąć ten plik

    Stwórz plik /var/qmail/supervise/qmail-send/log/run
    Kod:
        #!/bin/sh
        exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail
    http://yaro.gdi.pl/linux/qmail/log/run

    Stwórz plik /var/qmail/supervise/qmail-smtpd/run
    Kod:
        #!/bin/sh
        QMAILDUID=`id -u qmaild`
        NOFILESGID=`id -g qmaild`
        MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
    
        LOCAL=`head -1 /var/qmail/control/me`
    
        if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
            echo "QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in"
            echo "/var/qmail/supervise/qmail-smtpd/run"
            exit 1
        fi
    
        if [ ! -f /var/qmail/control/rcpthosts ]; then
            echo "No /var/qmail/control/rcpthosts!"
            echo "Refusing to start SMTP listener because it'll create an open relay"
        quot;
            exit 1
        fi
    
        exec /usr/local/bin/softlimit -m 2000000 /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd xxxx.mandrake.pl /bin/checkpassword /bin/true 2&>1
    http://yaro.gdi.pl/linux/qmail/smtp/run

    Zastąp xxxx.mandrake.pl (FQDN) odpowiednia nazwą swojego komputera w sieci. Np. mail.domena.pl

    Stwórz plik concurrencyincoming (wykonaj polecenia):
    Kod:
        echo 20 > /var/qmail/control/concurrencyincoming
        chmod 644 /var/qmail/control/concurrencyincoming
    Stwórz plik /var/qmail/supervise/qmail-smtpd/log/run
    Kod:
        #!/bin/sh
        exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd
    http://yaro.gdi.pl/linux/qmail/smtp/log/run

    Uczyn pliki startowe plikami uruchamialnymi:
    Kod:
        chmod 755 /var/qmail/supervise/qmail-send/run
        chmod 755 /var/qmail/supervise/qmail-send/log/run
        chmod 755 /var/qmail/supervise/qmail-smtpd/run
        chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
    I utwórz katalogi dla logów:
    Kod:
        mkdir -p /var/log/qmail/smtpd
        chown qmaill /var/log/qmail /var/log/qmail/smtpd
    Zlinkuj katalog supervise do /service:
    Kod:
        ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
    Uwaga: qmail uruchomi się automatycznie wkrótce po utworzeniu powyższych linków. Napisz więc:
    Kod:
        qmailctl stop
    Na 99% otrzymasz ostrzeżenie:
    Kod:
        svc: warning: unable to chdir to /service/qmail-pop3d: file does not exist
        svc: warning: unable to chdir to /service/qmail-pop3d/log: file does not exist
    Będzie się ono wyświetlać dopóki nie doinstalujesz demona pop3




    Kontrola dostępu do SMTP

    Zezwól na wysyłanie poczty z localhosta (127.*.*.*) poprzez SMTP:
    Kod:
        echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp
        qmailctl cdb
    Relayowanie w skrócie polega na odbieraniu wiadomości, które nie są przeznaczone dla lokalnego odbiorcy, ani nie pochodzą od lokalnego nadawcy. Jest ono często używane przez spamerów. Aby je wyłączyć należy stworzyć plik /var/qmail/control/rcpthosts i wpisać tam wszystkie adresy z plików konfiguracyjnych locals i virtualdomains. Jako, że zainstalowaliśmy SMTP AUTH nie musimy się martwić o relay'owanie. Gdyż zasada jest taka - użytkownik który się uwierzytelnił (podał login i hasło przy łączeniu z serwerem SMTP) może wysyłać pocztę przez nasz serwer gdzie tylko chce. Zaś bez uwierzytelnienia mogą to zrobić tylko użytkownicy łączący sie z określonych przez nas (w pliku /etc/tcp.smtp) adresów IP.

    Zastąp istniejący /usr/lib/sendmail jego wersją z qmail'a
    Kod:
        mv /usr/lib/sendmail /usr/lib/sendmail.old
        mv /usr/sbin/sendmail /usr/sbin/sendmail.old
        chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old
        ln -s /var/qmail/bin/sendmail /usr/lib
        ln -s /var/qmail/bin/sendmail /usr/sbin
    Przy pierwszych 3 komendach możesz zignorowac ew. ostrzeżenia o błędach




    Tworzenie systemowych aliasów

    Istnieją trzy aliasy systemowe, które powinny być stworzone w każdym systemie w którym działa qmail:

    Alias Przeznaczenie
    postmaster wymagany przez RFC 821, wskazuje na administratora poczty (ciebie)
    mailer-daemon standardowy odbiorca niedostarczonych listów
    root przekierowuje pocztę z uprzywilejowanego konta do administratora systemu


    By stworzyć te aliasy zdecyduj gdzie chcesz żeby była dostarczana poczta kierowana do nich (do użytkownika lokalnego, czy do adresu na zewnątrz), stwórz i wypełnij odpowiednie pliki .qmail. Na przykład, powiedzmy że lokalny użytkownik yaro jest zarówno administratorem poczty, jak i administratorem systemu:
    Kod:
        echo yaro > /var/qmail/alias/.qmail-root
        echo yaro > /var/qmail/alias/.qmail-postmaster 
        echo yaro > /var/qmail/alias/.qmail-webmaster
        echo yaro > /var/qmail/alias/.qmail-admin
        echo yaro > /var/qmail/alias/.qmail-administrator
        ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon
        chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster
    Jeśli do nowo utworzonych plików znajdujących się w katalogu /var/qmail/alias niczego nie wpiszemy, to wszystkie wiadomości przeznaczone do użytkowników, których nazwy są podane w postaci alias/.qmail-użytkownik (gdzie użytkownik to alias, który definiujemy) będa składowane w pliku /var/qmail/alias/Mailbox lub katalogu /var/qmail/alias/Maildir. Aby wiadomości były dostarczane do innego użytkownika (bezpieczniejsza opcja), należy wpisać do pliku .qmail-użytkownik adres użytkownika, do którego mają być one przesyłane. Dla przykładu, jeśli stworzymy plik alias/.qmail-luser i wpiszemy do niego user, to wiadomości przeznaczone dla lusera będą przychodziły na konto user.





    Tworzenie skrzynek

    Teraz tworzymy _DLA_SIEBIE_ skrzynkę przy pomocy programu maildirmake:
    Kod:
        ln -s /var/qmail/bin/maildirmake /usr/bin
        maildirmake ~/Maildir
    Kazdy uzytkownik musi zrobic to sam lub root zalogowany jako dany user

    Aby zautomatyzować ten proces i nie tworzyć skrzynki ręcznie przy każdym dodaniu nowego użytkownika skrzynki, wpisujemy
    Kod:
        maildirmake /etc/skel/Maildir
    Następnie otwieramy plik /etc/login.defs i zmieniamy w nim 3 opcje dotyczące dostarczania poczty (aby zmiany zadziałały musisz się wylogować i zalogować ponownie) na takie jak przedstawione poniżej.
    Kod:
        QMAIL_DIR      Maildir
        #MAIL_DIR      /var/spool/mail
        MAIL_FILE      Mailbox
    Teraz do pliku /etc/profile dopisujemy następujący kod:
    Kod:
        MAIL=$HOME/Maildir/
        export MAIL
        MAILDROP=$MAIL
        export MAILDROP


    Pliki konfiguracyjne

    Prawie wszystkie pliki konfiguracyjne qmaila znajdują się w katalogu /var/qmail/control/. Oto najważniejsze z nich:

    • me
      Wpisz tutaj nazwę swojego hosta i swoją domenę, używając formatu NazwaTwojegoHosta.TwojaDomena, np. example.net.
    • bouncefrom
      Wpisz tutaj nazwę nadawcy niedostarczonej wiadomości (domyślnie jest nim MAILER_DAEMON). Możesz również ustawić nazwę nadawcy informacji o niedostarczonej wiadomości, np. Administarator_Systemu.
    • badmailfrom
      Tutaj należy wpisać adresy, które będą odrzucane przez serwer.
    • defaultdomain
      Plik ten powinien zawierać domyślną nazwę domeny. Nazwa ta jest ustawiana przy instalacji qmaila (./config-fast pełna.nazwa.hosta). Jeśli zmieniłeś nazwę domeny, to przeedytuj ten plik.
    • defaulthost
      Plik zawierający domyślną nazwę hosta.
    • locals
      Plik z nazwami domen, do których poczta będzie dostarczana lokalnie.
    • timeoutconnect
      Tutaj wpisz, ile czasu czekać na połączenie SMTPD (w sekundach). Domyślną wartościa jest 60.
    • timeoutremote
      Tutaj wpisz, ile czasu czekać na połączenie z zewnętrznym serwerem (w sekundach). Domyślną wartością jest 1200.
    • timeoutsmtpd
      Tutaj wpisz, jak długo czekać przy odbieraniu poczty (w sekundach). Domyślną wartością jest 1200.
    • virtualdomains
      W tym pliku zdefiniowane są wirtualne domeny i ich użytkownicy.





    Instalacja qmail-pop3d

    UWAGA: przed instalacja serwera qmail-pop3d sprawdź czy w Twoim pliku /etc/services znajdują się wpisy z bliżone do tych:
    Kod:
        pop3   110/tcp   pop-3
        pop3   110/udp   pop-3
    A teraz:
    Kod:
        cd /usr/local/src/
        wget http://yaro.gdi.pl/linux/qmail/checkpassword-0.90.tar.gz
        gunzip checkpassword-0.90.tar
        tar -xf checkpassword-0.90.tar
        cd checkpassword-0.90
        patch < /usr/local/src/netqmail-1.05/other-patches/checkpassword-0.90.errno.patch
        make
        make setup check
        mkdir -p /var/qmail/supervise/qmail-pop3d/log
    Utwórz skrypt /var/qmail/supervise/qmail-pop3d/run
    Kod:
        #!/bin/sh
        exec /usr/local/bin/softlimit -m 2000000 /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup xxxx.mandrake.pl /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
    http://yaro.gdi.pl/linux/qmail/pop/run

    xxxx.mandrake.pl (Fully Qualified Domain Name) - pełna nazwa domeny. Zastąp ją odpowiednia nazwą swojego komputera w sieci. Np. mail.yaro.pl

    Utwórz skrypt /var/qmail/supervise/qmail-pop3d/log/run
    Kod:
        #!/bin/sh
        exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/pop3d
    http://yaro.gdi.pl/linux/qmail/pop/log/run

    Utwórz katalog zawierajacy logi, ustaw uprawnienia dla skryptu run i zlinkuj ta usługa z /service:
    Kod:
        chmod +t /var/qmail/supervise/qmail-pop3d
        mkdir /var/log/qmail/pop3d
        chown qmaill /var/log/qmail/pop3d
        chmod 755 /var/qmail/supervise/qmail-pop3d/run
        chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
        ln -s /var/qmail/supervise/qmail-pop3d /service
    uruchom qmail:
    Kod:
        qmailctl start
         qmailctl stat
    powinno sie wyswietlic cos zblizonego do:
    Kod:
        # qmailctl stat
        /service/qmail-send: up (pid 22431) 3625 seconds
        /service/qmail-send/log: up (pid 22432) 3625 seconds
        /service/qmail-smtpd: up (pid 19332) 0 seconds
        /service/qmail-smtpd/log: up (pid 22436) 3625 seconds
        messages in queue: 0
        messages in queue but not yet preprocessed: 0
        /service/qmail-pop3d: up (pid 22443) 3625 seconds
        /service/qmail-pop3d/log: up (pid 22444) 3625 seconds
    I na koniec może jeszcze mały test:
    [root][/]# cd /home/yaro/Maildir/new
    [root][/home/yaro/Maildir/new]# mail yaro
    Subject: mail testowy
    tresc wiadomosci
    .
    Cc:
    [root][/home/yaro/Maildir/new]# ls
    1113222715.20737.xxxx.mandrake.pl
    [root][/home/yaro/Maildir/new]# mail root
    Subject: test do roota
    tresc wiadomosci do administratora serwera

    .
    Cc:
    [root][/home/yaro/Maildir/new]# ls
    1113222715.20737.xxxx.mandrake.pl 1113223170.22145.xxxx.mandrake.pl
    [root][/home/yaro/Maildir/new]#
    [root][/home/yaro/Maildir/new]# cat 1113222715.20737.xxxx.mandrake.pl
    Return-Path:
    Delivered-To: yaro@xxxx.internetdsl.tpnet.pl
    Received: (qmail 20734 invoked by uid 0); 11 Apr 2005 12:31:55 -0000
    Date: 11 Apr 2005 12:31:55 -0000
    Message-ID: <20050411123155.20733.qmail@xxxx.internetdsl.tpnet .pl>
    From: yaro@xxxx.internetdsl.tpnet.pl
    To: yaro@xxxx.internetdsl.tpnet.pl
    Subject: mail testowy

    tresc wiadomosci
    [root][/home/yaro/Maildir/new]# cat 1113223170.22145.xxxx.mandrake.pl
    Return-Path:
    Delivered-To: yaro@xxxx.internetdsl.tpnet.pl
    Received: (qmail 22142 invoked by alias); 11 Apr 2005 12:39:30 -0000
    Delivered-To: root@xxxx.internetdsl.tpnet.pl
    Received: (qmail 22139 invoked by uid 0); 11 Apr 2005 12:39:30 -0000
    Date: 11 Apr 2005 12:39:30 -0000
    Message-ID: <20050411123930.22138.qmail@xxxx.internetdsl.tpnet .pl>
    From: yaro@xxxx.internetdsl.tpnet.pl
    To: root@xxxx.internetdsl.tpnet.pl
    Subject: test do roota

    tresc wiadomosci do administratora serwera

    [root][/home/yaro/Maildir/new]#
    Jak widac serwer działa i obie wiadomosci zostaly dostarczone. Fakt ze obie przyszly do uzytkownika yaro swiadczy o tym ze wczesniej wpisane aliasy dzialaja poprawnie...





    Reputacja przyznana temu postowi
    Łącznie punktów reputacji: 0

    Komentarze:
       neutralny   dobry opis
    Ostatnio edytowane przez suncez ; 31.10.2010 o 14:48

  2. Panna Google
    Panna Google jest aktywna
    Avatar Panny Google

    Dołączył
    01-05-2004
    Skąd
    Internet
    Postów
    999
    Pochwał
    159

    Nie lubisz reklam? Zarejestrowani ich nie widzą! Rejestracja





  3. #2
    Dołączył
    Nov 2005
    Wiek
    29
    Postów
    10
    Wątków
    1
    Downloads
    0
    Uploads
    0
    Siła Reputacji
    0
    Reputacja
    1

    Unhappy Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    A ja pobrałem gotowe pakiety rpm ze strony qmail Toaster no i wszystko niby powinno być ok ale nic mi niezainstalowało a rozpakowując pod Win pakiety było tam sporo danych więc niewiem czemu to tego niepoistalowałem :/ (istalowałem na MDK 9,1)
    Może ktoś coś poradzić thx z góry

  4. #3
    Avatar Sir_Yaro
    Sir_Yaro jest nieaktywny Były Administrator
    Mężczyzna
    • Platforma sprzętowa
      • Płyta Główna:
      • ThinkPad T500
      • Procesor:
      • Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
      • Karta Graficzna:
      • ATI HD3650
      • Karta Dźwiękowa:
      • Conexant 20561
      • Monitor:
      • TFT WSXGA+
      • Kernel:
      • 3.2.0-34
    Dystrybucja: Kubuntu 14.04 LTS
    Polska
    Dołączył
    Jan 2004
    Skąd
    Gdansk
    Wiek
    38
    Postów
    3,675
    Wątków
    214
    Downloads
    27
    Uploads
    31
    Siła Reputacji
    158
    Reputacja
    1854

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    czegos brak w twoim poscie. hmmmm....
    Szczegolow i logow ?

  5. #4
    Dołączył
    Nov 2005
    Wiek
    29
    Postów
    10
    Wątków
    1
    Downloads
    0
    Uploads
    0
    Siła Reputacji
    0
    Reputacja
    1

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    jest taki fajny skrypt w bash'u który wszystko ma zainstalować (http://www.qmailtoaster.com/info/cur...tall-script.sh) ale pakiety wymagają dostępu do ścieżki /usr/lib/rpm/rpmb , takiego katalogu niema, ale stworzyłem go, user i grupa rpm ale przy instalacji z tego pliku bash termianal wypisuje za każydym razem "/usr/lib/rpm/rpmb: Access denied" ustawienia chmod są takie jak do katalogów w /usr/lib/rpm
    okropność
    PS. z logów nic niewynika
    Ostatnio edytowane przez zur887 ; 16.03.2008 o 23:18

  6. #5
    Dołączył
    May 2005
    Postów
    11
    Wątków
    3
    Downloads
    0
    Uploads
    0
    Siła Reputacji
    0
    Reputacja
    13

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    Wszystko cacy demony dzialaja tylko mam 2 problemy user nie moze sie zautoryzowac na smtp system to MDK2006.
    Rozumie ze zawartosc pliku /var/qmail/control/rcpthosts jest pusta.
    Urzytkownik ma stworzony szkielet w katalogu domowym maildirmaker'em i za bardzo juz nie wiem co jeszcze moze mu dolegac w logach nic nie mowi firewall jest oki pop3 dziala dobrze

  7. #6
    Avatar Sir_Yaro
    Sir_Yaro jest nieaktywny Były Administrator
    Mężczyzna
    • Platforma sprzętowa
      • Płyta Główna:
      • ThinkPad T500
      • Procesor:
      • Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
      • Karta Graficzna:
      • ATI HD3650
      • Karta Dźwiękowa:
      • Conexant 20561
      • Monitor:
      • TFT WSXGA+
      • Kernel:
      • 3.2.0-34
    Dystrybucja: Kubuntu 14.04 LTS
    Polska
    Dołączył
    Jan 2004
    Skąd
    Gdansk
    Wiek
    38
    Postów
    3,675
    Wątków
    214
    Downloads
    27
    Uploads
    31
    Siła Reputacji
    158
    Reputacja
    1854

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    Relayowanie w skrócie polega na odbieraniu wiadomości, które nie są przeznaczone dla lokalnego odbiorcy, ani nie pochodzą od lokalnego nadawcy. Jest ono często używane przez spamerów. Aby je wyłączyć należy stworzyć plik /var/qmail/control/rcpthosts i wpisać tam wszystkie adresy z plików konfiguracyjnych locals i virtualdomains. Jako, że zainstalowaliśmy SMTP AUTH nie musimy się martwić o relay'owanie. Gdyż zasada jest taka - użytkownik który się uwierzytelnił (podał login i hasło przy łączeniu z serwerem SMTP) może wysyłać pocztę przez nasz serwer gdzie tylko chce. Zaś bez uwierzytelnienia mogą to zrobić tylko użytkownicy łączący sie z określonych przez nas (w pliku /etc/tcp.smtp) adresów IP
    Copying /var/qmail/control/locals to /var/qmail/control/rcpthosts...
    Now qmail will refuse to accept SMTP messages except to those hosts.
    Make sure to change rcpthosts if you add hosts to locals or virtualdomains!

  8. #7
    Dołączył
    May 2005
    Postów
    11
    Wątków
    3
    Downloads
    0
    Uploads
    0
    Siła Reputacji
    0
    Reputacja
    13

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    oki zrobilem to ale dalej nie moze wyslac poczty najgorsze jest to ze nie sypie qmail logami mam pytanie
    Kod:
    drwxr-xr-x   2 root qmail 424 sty  6 20:55 ./
    drwxr-xr-x  12 root qmail 440 sty  6 00:45 ../
    -rw-r--r--   1 root root    5 sty  5 23:08 bouncefrom
    -rw-r--r--   1 root root    3 sty  5 22:51 concurrencyincoming
    -rw-r--r--   1 root root   11 sty  5 22:46 defaultdelivery
    -rw-r--r--   1 root root   11 sty  6 20:55 defaultdomain
    -rw-r--r--   1 root root   14 sty  5 23:08 defaulthot
    -rw-r--r--   1 root root   14 sty  6 20:55 locals
    -rw-r--r--   1 root root   14 sty  6 20:55 me
    -rw-r--r--   1 root root   11 sty  6 20:55 plusdomain
    -rw-r--r--   1 root root   14 sty  6 20:59 rcpthosts
    -rw-r--r--   1 root root    3 sty  5 23:09 timeoutconnect
    -rw-r--r--   1 root root    5 sty  5 23:09 timeoutremote
    -rw-r--r--   1 root root    5 sty  5 23:09 timeoutsmtpd
    tak wyglada moje controls w rcpthosts i locals mam wpisana swoja domene i za bardzo nei iwem co jeszcze jest mi potrzebne moze jest jakas opcja debugu. A jezeli chodzi o wysylanie emila z konsoli przy urzyciu programu mail to nie ma zadnych problemow
    Ostatnio edytowane przez AwerS ; 06.01.2006 o 21:31

  9. #8
    Dołączył
    May 2005
    Postów
    11
    Wątków
    3
    Downloads
    0
    Uploads
    0
    Siła Reputacji
    0
    Reputacja
    13

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    Witam troszke musialem powalczyc ale udalo sie probloem wynikal z powodu braku a raczej nie dzialania autoryzacji przy pomocny MD5 sciagniecie i skompilowanie MD5 nie dalo efektu awiec postanowilem wylaczyc te opcje ze zrudel

    zeby to zrobic haszujemy nastepujace linie 10,18,26,28

    w fragmencie ma to wygladac tak

    Kod:
    #ifdef AUTHCRAM
    int auth_cram()
    {
      int i, r;
      char *s;
    
      s = unique;
      s += fmt_uint(s,getpid());
      *s++ = '.';
      s += fmt_ulong(s,(unsigned long) now());
      *s++ = '@';
      *s++ = 0;
    
      if (!stralloc_copys(&pass,"<")) die_nomem();
      if (!stralloc_cats(&pass,unique)) die_nomem();
      if (!stralloc_cats(&pass,hostname)) die_nomem();
      if (!stralloc_cats(&pass,">")) die_nomem();
      if (b64encode(&pass,&slop) < 0) die_nomem();
      if (!stralloc_0(&slop)) die_nomem();
    
      out("334 ");
      out(slop.s);
      out("\r\n");
      flush();
    
      if (authgetl() < 0) return -1;
      if (r = b64decode(authin.s,authin.len,&slop) == 1) return err_input();
      if (r == -1 || !stralloc_0(&slop)) die_nomem();
    
      i = str_chr(slop.s,' ');
      s = slop.s + i;
      while (*s == ' ') ++s;
      slop.s[i] = 0;
      if (!stralloc_copys(&user,slop.s)) die_nomem();
      if (!stralloc_copys(&resp,s)) die_nomem();
    
      if (!user.len || !resp.len) return err_input();
      return authenticate();
    }
    #endif
    
    struct authcmd {
      char *text;
      int (*fun)();
    } authcmds[] = {
      { "login", auth_login }
    , { "plain", auth_plain }
    #ifdef AUTHCRAM
    , { "cram-md5", auth_cram }
    #endif
    , { 0, err_noauth }
    };
    kolejna sprawa jakiej nie napisales to iz jeszcze trzeba dodac do /bin/checkpassword UID'a i prawa do wykonywania dla wszystkich i wszystko dziala a co do demona to moze lepiej jest to wszystko wlaczac w systemie V niz w svc skrypty popisalem jak bede mial troszke wiecej czasu to rozbuduje opic Pozdro 4 all i juz chyba wiem dlaczego nie chce chodzic postfix z sasl


    a tutaj zamieszcza skrypta do testowania autoryzacji na danym hoscie


    #!/usr/bin/perl -w
    use strict;

    $| = 1;

    use Getopt::Long;
    use Net::SMTP;

    my $server = 'localhost';
    my $port = 25;
    my $smtpauth = 0;
    my $user = "$ENV{USER}\@localhost";
    my $passwd = '';
    my $debug = 0;
    my $sendtest = 0;
    my $testmsg = undef;
    my $msgto = 'postmaster';

    GetOptions ('host|h=s' => \$server,
    'port=s' => \$port,
    'smtpauth|a' => \$smtpauth,
    'user|u=s' => \$user,
    'password|p=s' => \$passwd,
    'debug|d' => \$debug,
    'sendtest|t' => \$sendtest,
    'testmsg|m=s' => \$testmsg,
    'to=s' => \$msgto
    );

    print "\nAttempt to Connect to Server $server on Port $port:";
    my $smtp = Net::SMTP->new($server, Port => $port, Debug => $debug? 1 : 0);

    # See if Open occured or Not
    my $chk = 1;
    $chk = 0 unless defined $smtp;

    if ( !$chk )
    { print "Failed...\n"; exit; }
    else
    { print "Connected!\n"; }

    if ($smtpauth) {
    print "Attempting to login: ";
    if ($smtp->auth($user, $passwd)) {
    print "succeeded\n";
    } else {
    print "failed\n";
    }
    }

    if ($sendtest) {
    print "Attempting to send message: ";
    my $msg =<<"MSG";
    To: $msgto
    From: $user
    Subject: This is a test

    This is a test from $user on $server.
    MSG

    if ($testmsg and -r $testmsg) {
    if (open (MSG, $testmsg)) {
    local $/;
    $msg = <MSG>;
    close MSG;
    } else {
    warn "Can't open test message at '$testmsg' using default.\nError: $!\n";
    }
    }

    if ($user =~ /@/) {
    $smtp->mail($user);
    } else {
    $smtp->mail("$user\@$server");
    }
    if ($smtp->to($msgto)) {
    if ($smtp->data($msg)) {
    print "success\n";
    } else {
    print "failure on send\n";
    }
    } else {
    print "failure on rcpt\n";
    }
    }

    $smtp->quit;

    __END__

    =head1 NAME

    test-smtp-auth - Script to test SMTP authentication.

    =head1 SYNOPSIS

    test-smtp-auth.pl [-d] [--host] [--port] [--smtpauth [--user] [--password]] [--sendtest [--to] [--testmsg]]

    =head1 DESCRIPTION

    This is a quick script to test SMTP auth and mail relay through an
    SMTP server. NB: This is not a complete open relay test but can be used
    for that.

    =head1 Parameters -
    -d turns on Debugging mode.
    --host smtphost -> allows a destination host to be provided.
    --port smtpport -> allows a destination port to be provided.
    --smtpauth -> turns on SMTP authentication.
    --user user -> required for --smtpauth
    --password pass -> required for --smtpauth
    --sendtest -> actually forces a message to send.
    --to user -> destination user for --sendtest
    --testmsg file -> alternate test message file.

    =head1 SEE ALSO

    Net::SMTP

    =head1 LICENSE

    Copyright (c) 2004 Randy Smith
    All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:
    1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    SUCH DAMAGE.

    =head1 AUTHOR

    Randy Smith <perlstalker@falconsroost.alamosa.co.us>

    =cut
    obslugo prosta test-smtp -d --user toja --password tajnehaslo --smtpauth

    i wszystko ladnie napisze





    Reputacja przyznana temu postowi
    Łącznie punktów reputacji: 12

    Komentarze:
     Sir_Yaro  zgadza się   bardzo ladnie
    Ostatnio edytowane przez AwerS ; 18.01.2006 o 13:56

  10. #9
    Avatar sorn
    sorn jest nieaktywny Boy Hotelowy
    Mężczyzna
    • Platforma sprzętowa
      • Płyta Główna:
      • Gigabyte KT600
      • Procesor:
      • Athlon 2000+
      • Karta Graficzna:
      • GF4 5200 FX
      • Karta Dźwiękowa:
      • Zintegrowana
      • Monitor:
      • Samsung SyncMaster 913n LCD 19''
      • Kernel:
      • 2.6.12-12mdk
    Dystrybucja: Mandriva 2006
    Dołączył
    Apr 2006
    Skąd
    Katowice
    Wiek
    31
    Postów
    33
    Wątków
    1
    Downloads
    0
    Uploads
    0
    Siła Reputacji
    23
    Reputacja
    1

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    Witam troszke musialem powalczyc ale udalo sie probloem wynikal z powodu braku a raczej nie dzialania autoryzacji przy pomocny MD5 sciagniecie i skompilowanie MD5 nie dalo efektu awiec postanowilem wylaczyc te opcje ze zrudel

    zeby to zrobic haszujemy nastepujace linie 10,18,26,28


    hmm a co to za plik?

    pozatym za cholere nie chce mi dostawczyc poczty z serwera zewnetrznego na moj. :/

  11. #10
    Avatar czadczad
    czadczad jest nieaktywny Jaskółka Europejska
    Mężczyzna
    Dystrybucja: paczkowana
    Dołączył
    Oct 2005
    Skąd
    Krakau
    Wiek
    36
    Postów
    670
    Wątków
    30
    Downloads
    2
    Uploads
    0
    Siła Reputacji
    62
    Reputacja
    560

    Odp: [HOW-TO] Instalacja serwera pocztowego Qmail (+pop3 +smtp auth)

    Utknołem w opisie Sir_Yaro na:
    Cytat Napisał Sir_Yaro
    Uwaga: qmail uruchomi się automatycznie wkrótce po utworzeniu powyższych linków. Napisz więc:
    Kod:

    qmailctl stop
    Kod:
    [root@tux daemontools-0.76]# qmailctl stop
    /usr/bin/qmailctl: line 102: syntax error near unexpected token `('
    /usr/bin/qmailctl: line 102: `                                                                              cat <     stop -- stops mail service (smtp connections refused, nothing goes                          out)'
    nie mogę tego błędu pominąć ponieważ w kolejnym kroku wyskakuje on ponownie
    Kod:
    [root@tux daemontools-0.76]# qmailctl cdb
    /usr/bin/qmailctl: line 102: syntax error near unexpected token `('
    /usr/bin/qmailctl: line 102: `                                                                              cat <     stop -- stops mail service (smtp connections refused, nothing goes out)'
    Ratunku!
    Ostatnio edytowane przez suncez ; 31.10.2010 o 14:49

Strona 1 z 2 12 OstatniOstatni

Informacje o wątku

Users Browsing this Thread

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Uprawnienia

  • Nie możesz zakładać nowych wątków
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •