Konfigurimi perfekt - Debian Sarge (3.1)

Mbështetur tek The Perfect Setup - Debian Sarge (3.1) i Falko Timme.

Në vazhdim do të japim përshkrimin e hollësishëm të të gjithë kalimeve të nevojshme për të konfiguruar një server të bazuar në Debian (Debian Sarge ose Debian 3.1) që do të afrojë të gjitha shërbimet e duhura për ISP-të e kush afron shërbime web (server web me suport për SSL, server mail me SMTP-AUTH dhe TLS, server DNS, server FTP, server MySQL, POP3/POP3s/IMAP/IMAPs, Quota, Firewall, etj.

Ja programet që do të përdorim:

  • Server Web: Apache 2.0.x
  • Server Mail: Postfix (më i thjeshtë se sendmail në konfigurim; më i sigurt se sendmail)
  • Server DNS: BIND9
  • Server FTP: proftpd
  • POP3/POP3s/IMAP/IMAPs: mund të zgjedhim midis formatit tradicional UNIX mailbox (duhet përdorur ipopd/uw-imapd) ose formatit Maildir (duhet përdorur Courier-POP3/Courier-IMAP).
  • Webalizer për statistikat web.

Në përfundim do të kemi një sistem të gatshëm për t'u përdorur siç është për hosting apo për të instaluar një panel kontrolli për webhosting.

Është mirë që të kryeni "kopjo&ngjit" të pjesës më të madhe të komandave/konfigurimeve të shkruara në vazhdim, për të shmangur gabimet në shkrim.

Çfarë na duhet:

Fillojmë instalimin:

SISTEMI BAZË

Futim CD me Sarge Netinstall në lexuesin CD-ROM dhe nisim kompjuterin nga CD. (Shkruajmë linux26 në boot promt për të instaluar kernel 2.6).

boot promt
Shkruaj linux26 në boot promt...

Fillon instalimi.

  • Zgjedhim gjuhën shqipe:

    zgjedhja e gjuhës
    Zgjedhja e gjuhës

  • Zgjedhim hartën e tastierës në përdorim:

    zgjedhja e tastierës
    Zgjedhja e tastierës

  • Fillon zbulimi automatik i hardware në përdorim:

    hardware detect
    Zbulimi i hardware...

  • Shkruajmë emrin e kompjuterit.
    Në shembullin tonë sistemi do të quhet server1.shembull.org, prandaj në hapin në vazhdim shkruajmë server1:

    hostname
    Emri i kompjuterit...

  • Shkruajmë emrin e domain.
    Në shembullin tonë, është shembull.org:

    domain
    Emri i domain...

  • Hapi në vazhdim është ndarja (particionimi) i diskut fiks: në shembullin tonë kemi një hard disk që do t'i kushtohet krejtësisht serverit.
    Do të krijojmë një particion të vogël swap (2 X sasia e RAM fizik të instaluar) dhe me çfarë mbetet në disk një particion të madh (me pikë montimi /):

    Ndarja, hapi 1

  • Krijojmë particionin swap (në shembullin tonë 500 MB):

    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Mbaruam me particionin swap.

  • Me pjesën e mbtetur të diskut krijojmë një particion të madh, me pikë montimi / :

    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri

  • Përfundojmë ndarjen dhe shkruajmë ndryshimet në disk:

    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Krijimi i particionit të ri
    Përfundimi i ndarjes

  • Më së fundi fillon instalimi i sistemit bazë:

    sistemi bazë
    Instalimi i sistemit bazë...

  • Instalojmë GRUBmaster boot record:

    GRUB
    GRUB në MBR...

  • Përfundojmë instalimin bazë, heqim CD nga lexuesi dhe rinisim kompjuterin:

    Fund i bazës
    Përfundimi i instalimit bazë.

KONFIGURIMI BAZË

Mbasi kompjuteri të jetë rinisur, do të gjendemi në fazën e konfigurimit të sistemit bazë:

Konfigurimi i sistemit bazë
Fillimi i konfigurimit bazë...

  • Konfigurojmë zonën orare:

    Zona orare
    Zona orare
    Zona orare...

  • Shkruaj fjalëkalimin për përdoruesin root:

    Fjalëkalimi i root
    Përdoruesi root..

  • Krijo një përdorues të zakonshëm:

    Përdoruesi
    Përdoruesi
    Përdoruesi
    Krijimi i përdoruesit të zakonshëm...

  • Zgjedhim metodën e instalimit:

    Metoda e instalimit

    Meqenëse do të kryejmë një instalim via internet, zgjedhim http:

    Metoda e instalimit

    • Zgjedhim një mirror për instalimin tonë:

      Mirror
      Mirror

    • Nëse përdorni proxy në rrjet, plotësoni të dhënat (zakonisht bosh):

      Proxy

    • Do të fillojë testimi i burimeve apt dhe në vazhdim do të hapet dritarja e dialogut të zgjedhjes së programeve për tu instaluar: zgjedhim vetëm "Serveri i postës", pasi pakot e tjera do t'i instalojmë vetë më vonë.

      Zgjedhja e programeve
      Zgjedhja e programeve...

    • Fillon instalimi në rrjet (Internet):

      Instalimi i programeve
      Instalimi i programeve...

    • Vazhdojmë instalimin pa suportin Maildir.
      Më vonë do të shohim instalimin e suportit të formatiti Maildir me anë të instalimit të Courier-POP3/Courier-IMAP:

      Instalimi i programeve

    • Nuk konfigurojmë Exim, mbasi më pas do ta zëvendësojmë me Postfix:

      Instalimi i programeve - Exim
      Instalimi i programeve - EximAsnjë konfigurim...

    • Instalimi i programeve - Exim
      Përdoruesi ku ridrejtohet posta e root...

    Urime! Sapo përfunduat konfigurimin e sistemit bazë:

    Përfundimi i konfigurimit bazë
    Përfundimi i konfigurimit bazë...

    INSTALIMI DHE KONFIGURIMI I PJESËS TJETËR TË SISTEMIT

    Konfigurimi i rrjetit

    Meqenëse Instaluesi i Debian Srage ka konfiguruar sistemin tonë në menyrë që të marrë konfigurimet e rrjetit via DHCP, tani duhet të ndryshojmë këto konfigurime, mbasi një server duhet të ketë një adresë statike IP.

    Për këtë qëllim, ndryshojmë /etc/network/interfaces dhe e rregullojmë sipas nevojës.
    Në shembullin tonë do të përdorim adresën IP 192.168.1.10:
    Nga...:

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    # The loopback network interface
    auto lo
    iface lo inet loopback
    # The primary network interface
    auto eth0
    iface eth0 inet dhcp

    Në...

    # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
    # The loopback interface
    auto lo
    iface lo inet loopback
    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1

    Mbas kryerjes dhe ruajtjes së ndryshimeve, rinisim rrjetin:

    /etc/init.d/networking restart

    Ndryshojmë /etc/resolv.conf duke shtuar disa servera emrash (unë po shkruaj ata që përdor në Itali):

    search server
    nameserver  85.37.17.49
    nameserver  85.38.28.91
    nameserver  151.99.125.1

    Ndryshojmë /etc/hosts dhe shtojmë adresën e re IP:

    127.0.0.1       localhost.localdomain   localhost       server1
    192.168.1.10    server1.shembull.org    server1
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodesff02::2 ip6-allrouters
    ff02::3 ip6-allhosts

    Sistemojmë emrin e host:

    echo server1.shembull.org > /etc/hostname/bin/hostname -F /etc/hostname

    Instalojmë/heqim disa programe

    Tani, të instalojmë disa programe që do të na duhen për më vonë dhe të heqim programet që nuk na hyjnë në punë:

    apt-get install wget bzip2 rdate fetchmail libdb3++-dev unzip zip ncftp xlispstat libarchive-zip-perl zlib1g-dev libpopt-dev nmap openssl lynx fileutils

    (një rresht i vetëm)

    apt-get remove lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig
    update-rc.d -f exim4 remove
    update-inetd --remove daytime
    update-inetd --remove telnet
    update-inetd --remove time
    update-inetd --remove finger
    update-inetd --remove talk
    update-inetd --remove ntalk
    update-inetd --remove ftp
    update-inetd --remove discard
    /etc/init.d/inetd reload

    Quota

    apt-get install quota quotatool

    Tek dritarja e dialogut të instalimit përgjigju: -> Jo

    Ndryshojmë /etc/fstab (shtojmë usrquota, grpquota tek particioni me pikë montimi /):

    # /etc/fstab: static file system information.
    ## <file system> <mount point>   <type>  <options>       <dump>  <pass>
    proc            /proc           proc    defaults        0       0
    /dev/sda1       /               ext3    defaults,errors=remount-ro,usrquota,grpquota 0       1
    /dev/sda5       none            swap    sw              0       0
    /dev/hdc        /media/cdrom0   iso9660 ro,user,noauto  0       0
    /dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

    Mbasi të kemi ruajtur ndryshimet, ekzekutojmë:

    touch /quota.user /quota.group
    chmod 600 /quota.*
    mount -o remount /
    quotacheck -avugm
    quotaon -avug

    Serveri DNS

    apt-get install bind9

    Për të rritur nivelin e sigurisë, BIND do të ekzekutohet në "birucë" (chrooted), prandaj duhet të veprojmë si në vazhdim:

    /etc/init.d/bind9 stop

    Ndryshojmë file /etc/default/bind9 në menyrë që deamon të funksionojë si përdorues pa të drejta 'bind', chroot-uar në /var/lib/named.
    Ndryshojmë rreshtin: OPTS="-u bind" në menyrë që të lexohet OPTS="-u bind -t /var/lib/named":

    OPTIONS="-u bind -t /var/lib/named"

    Krijojmë directories e duhura nën /var/lib:

    mkdir -p /var/lib/named/etc
    mkdir /var/lib/named/dev
    mkdir -p /var/lib/named/var/cache/bind
    mkdir -p /var/lib/named/var/run/bind/run

    dhe lëvizim directory me konfigurimin nga /etc/var/lib/named/etc:

    mv /etc/bind /var/lib/named/etc

    Për të shmangur problemet që mund të lindin gjatë përditësimeve të mundëshme të mëvonshme, krijojmë një lidhje simbolike midis directory të konfigurimit dhe pozicionit të vjetër:

    ln -s /var/lib/named/etc/bind /etc/bind

    Krijojmë devices "null" dhe "random" dhe sistemojmë të drejtat e kartelave:

    mknod /var/lib/named/dev/null c 1 3
    mknod /var/lib/named/dev/random c 1 8
    chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
    chown -R bind:bind /var/lib/named/var/*
    chown -R bind:bind /var/lib/named/etc/bind

    Gjithashtu na duhet të ndryshojmë script-in e nisjes së szsklogd (/etc/init.d/sysklogd) në menyrë që të vazhdojmë regjistrimin e mesazheve të rendësishme të log tek logs e sistemit.

    Ndryshojmë rreshtin SYSLOGD="" në menyrë që të lexojë: SYSLOGD="-a /var/lib/named/dev/log":

    #! /bin/sh
    # /etc/init.d/sysklogd: start the system log daemon.

    ### BEGIN INIT INFO
    # Provides:             syslog
    # Required-Start:       $local_fs $network $time
    # Required-Stop:        $local_fs $network $time
    # Default-Start:        2 3 4 5
    # Default-Stop:         S 0 1 6
    # Short-Description:    System logger
    ### END INIT INFO

    PATH=/bin:/usr/bin:/sbin:/usr/sbin

    pidfile=/var/run/syslogd.pid
    binpath=/sbin/syslogd

    test -x $binpath || exit 0
    # Options for start/restart the daemons
    #   For remote UDP logging use SYSLOGD="-r"
    #SYSLOGD="-a /var/lib/named/dev/log"
    create_xconsole()
    {  
    if [ ! -e /dev/xconsole ]; then        mknod -m 640 /dev/xconsole p    else        chmod 0640 /dev/xconsole    fi    chown root:adm /dev/xconsole}running(){    # No pidfile, probably no daemon present    #    if [ ! -f $pidfile ]    then        return 1    fi    pid=`cat $pidfile`    # No pid, probably no daemon present    #    if [ -z "$pid" ]    then        return 1    fi    if [ ! -d /proc/$pid ]    then        return 1    fi    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1`    # No syslogd?    #    if [ "$cmd" != "$binpath" ]    then        return 1    fi    return 0}case "$1" in  start)    echo -n "Starting system log daemon: syslogd"    create_xconsole    start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD    echo "."    ;;  stop)    echo -n "Stopping system log daemon: syslogd"    start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile    echo "."    ;;  reload|force-reload)    echo -n "Reloading system log daemon: syslogd"    start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile    echo "."    ;;  restart)    echo -n "Restarting system log daemon: syslogd"    start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile    sleep 1    start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD    echo "."    ;;  reload-or-restart)    if running    then        echo -n "Reloading system log daemon: syslogd"        start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile    else        echo -n "Restarting system log daemon: syslogd"        start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD    fi    echo "."    ;;  *)    echo "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}"    exit 1esacexit 0

    Rinisim daemon e sistemit të regjistrimit të mesazheve:

    /etc/init.d/sysklogd restart

    Nisim BIND, dhe kontrollojmë /var/log/syslog për ndonjë gabim të mundshëm:

    /etc/init.d/bind9 start

    MySQL

    apt-get install mysql-server mysql-client libmysqlclient12-dev

    Ndryshojmë (ose më mirë i caktojmë një fjalëkalim përdoruesit root të MySQL, duke parë që kur instalohet root nuk ka asnjë fjalëkalim) fjalëkalimin e root të MySQL:

    mysqladmin -u root password fjalëkalimijuajpërmysqlroot

    Japim komandën

    netstat -tap

    dhe midis të tjerave duhet të shohim një rresht të ngjashëm me:

    tcp        0      0 localhost.localdo:mysql *:*                     LISTEN     2449/mysqld

    që do të thotë që MySQL është në "dëgjim" tek adresa 127.0.1, porta rezultuese.

    Postfix/POP3/IMAP

    Në menyrë që të instalojmë Postfix me SMTP-AUTH dhe TLS si server POP3 që gjithashtu shërben POP3s (porta 995) dhe një server IMAP që trajton edhe IMAPs (porta 993) do të veprojmë si në vazhdim:

    apt-get install postfix postfix-tls libsasl2 sasl2-bin libsasl2-modules ipopd-ssl uw-imapd-ssl

    (një rresht i vetëm)

    Konfigurimi i ipopd
    -> pop3 dhe pop3s
    -> JoKonfigurimi i postfix
    -> Internet Site
    -> None
    -> server1.shembull.org
    -> server1.shembull.org, localhost.shembull.org, localhost
    -> Jo

    Japim komandat:

    postconf -e 'smtpd_sasl_local_domain ='
    postconf -e 'smtpd_sasl_auth_enable = yes'
    postconf -e 'smtpd_sasl_security_options = noanonymous'
    postconf -e 'broken_sasl_auth_clients = yes'
    postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
    postconf -e 'inet_interfaces = all'

    echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
    echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

    mkdir /etc/postfix/ssl
    cd /etc/postfix/ssl/

    openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
    chmod 600 smtpd.key
    openssl req -new -key smtpd.key -out smtpd.csr
    openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
    openssl rsa -in smtpd.key -out smtpd.key.unencrypted

    mv -f smtpd.key.unencrypted smtpd.key

    openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

    postconf -e 'smtpd_tls_auth_only = no'
    postconf -e 'smtp_use_tls = yes'
    postconf -e 'smtpd_use_tls = yes'
    postconf -e 'smtp_tls_note_starttls_offer = yes'
    postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
    postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
    postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
    postconf -e 'smtpd_tls_loglevel = 1'
    postconf -e 'smtpd_tls_received_header = yes'
    postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
    postconf -e 'tls_random_source = dev:/dev/urandom'

    Mbas konfigurimeve të mësipërme, file /etc/postfix/main.cf duhet të jetë i ngjashëm me:

    # See /usr/share/postfix/main.cf.dist for a commented, more complete version
    smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
    biff = no

    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h

    myhostname = localhost.localdomain
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = /etc/mailname
    mydestination = server1.shembull.org, localhost.shembull.org, localhost
    relayhost =
    mynetworks = 127.0.0.0/8
    mailbox_command = procmail -a "$EXTENSION"
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    smtpd_sasl_local_domain =
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    broken_sasl_auth_clients = yes
    smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
    smtpd_tls_auth_only = no
    smtp_use_tls = yes
    smtpd_use_tls = yes
    smtp_tls_note_starttls_offer = yes
    smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
    smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
    smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
    smtpd_tls_loglevel = 1
    smtpd_tls_received_header = yes
    smtpd_tls_session_cache_timeout = 3600
    stls_random_source = dev:/dev/urandom

    Rinisim Postfix:

    /etc/init.d/postfix restart

    Autentifikimi do të kryhet nga saslauthd. Që të punojë si duhet duhet të kryejmë nja dy ndryshime. Meqenëse Postfix funksionon i chroot-uar në /var/spool/postfix duhet të veprojmë si në vazhdim:

    mkdir -p /var/spool/postfix/var/run/saslauthd
    rm -fr /var/run/saslauthd

    Tani duhet të ndryshojmë /etc/default/saslauthd në menyrë që të aktivojmë saslauthd. Heqim # në fillim të START=yes dhe shtojmë rreshtin PARAMS="-m /var/spool/postfix/var/run/saslauthd":

    # This needs to be uncommented before saslauthd will be run automatically
    START=yes
    PARAMS="-m /var/spool/postfix/var/run/saslauthd"
    # You must specify the authentication mechanisms you wish to use.
    # This defaults to "pam" for PAM support, but may also include
    # "shadow" or "sasldb", like this:
    # MECHANISMS="pam shadow"
    MECHANISMS="pam"

    Në fund duhet të ndryshojmë /etc/init.d/saslauthd.Ndryshojmë rreshtin:

    dir=`dpkg-statoverride --list $PWDIR`

    në:

    #dir=`dpkg-statoverride --list $PWDIR`

    Pastaj ndryshojmë të ndryshieshmet PWDIR dhe PIDFILE dhe shtojmë të ndryshueshmen dir në fillim të file:

    PWDIR="/var/spool/postfix/var/run/${NAME}"
    PIDFILE="${PWDIR}/saslauthd.pid"
    dir="root sasl 755 ${PWDIR}"

    File /etc/init.d/saslauthd tashmë duhet të jetë si në vazhdim:

    #!/bin/sh
    NAME=saslauthd
    DAEMON="/usr/sbin/${NAME}"
    DESC="SASL Authentication Daemon"
    DEFAULTS=/etc/default/saslauthd
    PWDIR="/var/spool/postfix/var/run/${NAME}"
    PIDFILE="${PWDIR}/saslauthd.pid"

    dir="root sasl 755 ${PWDIR}"
    createdir() {
    # $1 = user# $2 = group# $3 = permissions (octal)# $4 = path to directory        [ -d "$4" ] || mkdir -p "$4"        chown -c -h "$1:$2" "$4"        chmod -c "$3" "$4"}test -f "${DAEMON}" || exit 0# Source defaults file; edit that file to configure this script.if [ -e "${DEFAULTS}" ]; then    . "${DEFAULTS}"fi# If we're not to start the daemon, simply exitif [ "${START}" != "yes" ]; then    exit 0fi# If we have no mechanisms definedif [ "x${MECHANISMS}" = "x" ]; then    echo "You need to configure ${DEFAULTS} with mechanisms to be used"    exit 0fi# Add our mechanimsms with the necessary flagPARAMS="${PARAMS} -a ${MECHANISMS}"START="--start --quiet --pidfile ${PIDFILE} --startas ${DAEMON} --name ${NAME} -- ${PARAMS}"# Consider our optionscase "${1}" in  start)        echo -n "Starting ${DESC}: "        #dir=`dpkg-statoverride --list $PWDIR`        test -z "$dir" || createdir $dir        if start-stop-daemon ${START} >/dev/null 2>&1 ; then                echo "${NAME}."        else                if start-stop-daemon --test ${START} >/dev/null 2>&1; then                        echo "(failed)."                        exit 1                else                        echo "${DAEMON} already running."                        exit 0                fi        fi        ;;  stop)        echo -n "Stopping ${DESC}: "        if start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" \                --startas ${DAEMON} --retry 10 --name ${NAME} \                >/dev/null 2>&1 ; then                        echo "${NAME}."        else                if start-stop-daemon --test ${START} >/dev/null 2>&1; then                        echo "(not running)."                        exit 0                else                        echo "(failed)."                        exit 1                fi        fi        ;;  restart|force-reload)          $0 stop        exec $0 start        ;;  *)        echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload}" >&2        exit 1        ;;esacexit 0

    Tani mund të nisim saslauthd:

    /etc/init.d/saslauthd start

    Për të kontrolluar që SMTP-AUTH dhe TLS punojnë si duhet ekzekutojmë komandën në vazhdim:

    telnet localhost 25


    Trying 127.0.0.1...
    Connected to localhost.localdomain.
    Escape character is '^]'.
    220 localhost.localdomain ESMTP Postfix (Debian/GNU)

    Tani japim komandën:

    ehlo localhost


    250-localhost.localdomain
    250-PIPELINING
    250-SIZE 10240000
    250-VRFY250-ETRN
    250-STARTTLS
    250-AUTH LOGIN PLAIN
    250-AUTH=LOGIN PLAIN
    250 8BITMIME

    Nga përgjigja dallojmë ekzistencën e rreshtave 250-STARTTLS dhe 250-AUTH: gjithçka është në rregull.
    Dalim:

    quit
    • Courier-IMAP/Courier-POP3
      Po të duam të përdorim një daemon POP3/IMAP me suport për Maildir (nëse nuk duam të përdorim formatin e zakonshëm mailbox) mund të instalojmë Courier-IMAP/Courier-IMAP-SSL (për IMAPs në portën 993) dhe Courier-POP3/Courier-POP3-SSL (për POP3s në portën 995). Përndryshe mund të kaloni tek hapi pasardhës: Konfigurimi i Apache.

      apt-get install courier-imap courier-imap-ssl courier-pop courier-pop-ssl

      Tek dritarja e dialogut përgjigju -> Jo
      ipopd dhe UW-IMAP do të zëvendësohen.
      Konfigurojmë Postfix që të shpërndajë e-mailet tek Maildir e përdoruesit:

      postconf -e 'home_mailbox = Maildir/'
      postconf -e 'mailbox_command ='

      Rinisim Postfix:

      /etc/init.d/postfix restart

    Apache

    Instalojmë Apache:

    apt-get install apache2 apache2-doc
    apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick

    (në një rresht!)
    Ndryshojmë file e konfigurimit /etc/apache2/apache2.conf
    Gjejmë dhe ndryshojmë nga:

    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

    DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

    Ndryshojmë /etc/apache2/ports.conf dhe shtojmë rreshtin Listen 443:

    Listen 80
    Listen 443

    Aktivojmë disa modulë të Apache (SSL, rewrite dhe suexec):

    a2enmod ssl
    a2enmod rewrite
    a2enmod suexec
    a2enmod include

    Rinisim Apache:

    /etc/init.d/apache2 restart

    Provojmë funksionimin e Apache dhe PHP:

    cd /var/www

    Krijojmë një file të quajtur info.php me përmbajtje:

    <?php phpinfo(); ?>

    Hapim një shfletues web dhe shkruajmë adresën: http://adresa_IP_e_serverit/info.php

    Duhet të hapet faqja informuese e php.

    Proftpd

    Instalojmë:

    apt-get install proftpd

    -> standalone

    Që të rrisim sigurinë mund të shtojmë rreshtat në vazhdim tek /etc/proftpd.conf (shiko dhe http://proftpd.linux.co.uk/localsite/Userguide/linked/userguide.html):

    DefaultRoot ~
    IdentLookups off
    ServerIdent on "FTP Server ready."

    Rinisim Proftpd:

    /etc/init.d/proftpd restart

    Webalizer

    Instalojmë webalizer:

    apt-get install webalizer

    -> /var/www/webalizer
    -> Statistikat e perdorimit per
    -> /var/log/apache2/access.log.1

    Sinkronizimi i orës së sistemit

    M.q.s. kemi të bëjmë me një server është mirë që ora e sistemit të sinkronizohet rregullisht me një server NTP.

    Krijojmë file e crontabs:

    touch /var/spool/cron/crontabs/root

    Shtojmë në të rreshtat në vazhdim:

    # përditëso orën me serverët ntp
    0 3,9,15,21 * * * /usr/sbin/rdate 128.2.136.71 | logger -t NTP

    Pastaj:

    chmod 600 /var/spool/cron/crontabs/root

    Rinisim cron:

    /etc/init.d/cron restart

    Disa Modulë Perl

    Nëse do të na duhet të instalojmë SpamAssassin, duhet të instalojmë disa modulë shtesë Perl:

    apt-get install libdb-file-lock-perl libdigest-hmac-perl libnet-dns-perl libhtml-parser-perl

    Mund të përdorim edhe Shell e Perl për të instaluar modulët:

    perl -MCPAN -e shell

    Mbas konfigurimit (që mund të kryhet edhe automatikisht nga sistemi) fillojmë instalimin në shell:

    install HTML::Parser
    install DB_File
    install Net::DNS

    (kur kërkohet aktivimi i testeve, zgjidh 'no')

    q

    (për të dalë nga shell)
    Instalimi me sukses i një moduli jep si rezultat diçka të ngjashme me:
    /usr/bin/make install -- OK

    FUNDI

    Në përfundim, mund të shtojmë dhe një kalim tjetër: kompilimin dhe instalimin e një kernel të personalizuar (për një server është një domosdoshmëri): kompilimi i një kernel në Debian

    • lehtësoni kernel-in bazë nga të gjitha veçoritë e panevojshme
    • mundohuni të krijoni një kernel statik me suport vetëm për hardware që keni në kompjuter

    Në këtë menyrë mund të konsiderojmë të përfunduar konfigurimin e serverit tonë, makina është gati për të filluar shërbimin e faqeve web, postës web, etj..etj.

    - Lidhje -