Toto je "kopírovat a vložit" Jak na to! Nejjednodušší způsob, jak postupovat podle tohoto návodu, je použít klienta příkazového řádku/SSH klienta (jako je PuTTY pro Windows) a jednoduše zkopírovat a vložit příkazy (kromě případů, kdy musíte poskytnout vlastní informace, jako jsou IP adresy, názvy hostitelů, hesla,... ). To pomáhá vyhnout se překlepům.
The PerfectSetup – Debian Sarge (3.1)
Verze 1.9
Autor:Falko Timme
Toto je podrobný popis kroků, které je třeba podniknout k nastavení Debianu založený server (Debian Sarge alias Debian 3.1), který nabízí všechny služby potřebné pro ISP a hostitele (webový server (s podporou SSL), poštovní server (s SMTP-AUTH a TLS!), DNS server, FTP server, MySQL server, POP3/POP3s/ IMAP/IMAP, kvóta, brána firewall atd.).
Budu používat následující software:
- Webový server:Apache 2.0.x
- Poštovní server:Postfix (snáze se konfiguruje než sendmail; má kratší historii bezpečnostních děr než sendmail)
- Server DNS:BIND9
- FTP Server:proftpd
- POP3/POP3s/IMAP/IMAPs:v tomto příkladu si můžete vybrat mezi tradičním formátem poštovní schránky UNIX (my pak používáme ipopd/ uw-imapd) nebo formátu Maildir (v tomto případě použijemeCourier-POP3/Courier-IMAP).
- Statistiky webových stránek Webalizer
Nakonec byste měli mít systém, který funguje spolehlivě a je připraven na bezplatný webhostingovládací panel ISPConfig (tj. ISPConfig na něm běží mimo box).
Chci nejprve říci, že to není jediný způsob, jak takový systém nastavit. Existuje mnoho způsobů, jak tohoto cíle dosáhnout, ale já volím tento způsob. Nezaručuji, že to pro vás bude fungovat!
Požadavky
K instalaci takového systému budete potřebovat následující:
- Instalační CD Debian SargeNet (k dispozici zde:http://ftp.de.debian.org/debian-cd/3.1_r0a /i386/iso-cd/debian-31r0a-i386-netinst.iso)
- připojení k internetu, protože v tomto dokumentu popíšu síťovou instalaci
1 TheBase System
Vložte instalační CD SargeNet do systému a spusťte z něj (zadejte linux26 při zaváděcí výzvě k instalaci jádra 2.6). Spustí se instalace a nejprve si musíte vybrat jazyk:
Vyberte svou zemi:
Vyberte rozložení klávesnice:
Spustí se detekce hardwaru:
Zadejte název hostitele. V tomto příkladu se můj systém nazývá server1 .example.com ,takže zadám server1 :
Zadejte název své domény. V tomto příkladu je to example.com :
Nyní musíte rozdělit pevný disk na oddíly. Vytvořím jeden velký oddíl (s bodem připojení / ) a trochu swappartition:
Nyní se instaluje základní systém:
Instaluji nakladač GRUBboot do hlavního spouštěcího záznamu:
Poté vyjměte instalační CD Sarge Netinstall ze systému a restartujte jej:
Konfigurace časového pásma:
Zadejte heslo pro root :
Vytvořte administrátora druhého uživatele :
Vyberte způsob instalace. Protože chci provést instalaci přes síť, vyberu http nebo ftp .
Vyberte zrcadlo pro instalaci:
Zadejte proxy pro instalaci (je-li to nutné) . Normálně můžete toto pole nechat prázdné.
V části Výběr softwaru Debian Vybírám pouze Mailserver . Všechny ostatní služby nainstaluji později ručně.
Zahájí se síťová instalace:
Pokračujte v instalaci libc-client bez podpory Maildir. Pokud chcete používat Maildir, můžete si nainstalovat Courier-POP3 /Courier-IMAP (vysvětleno později):
Nekonfigurovat Exim protože jej nahradíme Postfix lateron:
Blahopřejeme! Váš základní systém je nyní dokončen:
Přejděte k dalšímu kroku...
2 Instalace a konfigurace zbytku systému
Konfigurovat TheNetwork
Protože instalační program DebianSarge nakonfiguroval náš systém tak, aby získal nastavení sítě přes DHCP, musíme to nyní změnit, protože server by měl mít statický IP adresa.Upravit /etc/network/interfaces a upravte ji podle svých potřeb (v tomto příkladu nastavení použiji IP adresu 192.168.0.100 ):
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) |
Pokud chcete přidat IP adresu 192.168.0.101 do rozhraní eth0 měli byste změnit soubor, aby vypadal takto:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) |
Potom restartujte síť:
/etc/init.d/networkingrestart
Upravit /etc/resolv.conf a přidejte nějaké jmenné servery:
search server |
Upravit /etc/hosts a přidejte své nové IP adresy:
127.0.0.1 localhost.localdomain localhost server1 |
Nastavení názvu hostitele
echo server1.example.com> /etc/hostname
/bin/hostname -F /etc/hostname
Instalovat/odebrat software
Nyní si nainstalujme software, který později potřebujeme, a odebereme některé balíčky, které nepotřebujeme:
apt-get install wget bzip2rdate fetchmail libdb3++-dev unzip zip ncftp xlispstat libarchive-zip-perl zlib1g-devlibpopt-dev nmap openssl ++ lynx fileutils g
apt-get remove lpr nfs-commonportmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig
update-rc.d -f exim remove
update-inetd --removedaytime
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
<- Ano
/etc/init.d/openbsd-inetd reload
Kvóta
apt-get instalační kvóta nástroje
<- Ne
Upravit /etc/fstab vypadat takto (přidal jsem ,usrquota,grpquota do oddílu s bodem připojení / ):
# /etc/fstab: static file system information. |
Potom spusťte:
dotkněte se /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
Server DNS
apt-getinstall bind9
Z bezpečnostních důvodů chceme spouštět BIND chrooted, takže musíme provést následující kroky:
/etc/init.d/bind9 stop
Upravit soubor /etc/default/bind9 takže démon poběží jako neprivilegovaný uživatel 'bind písmo> ',chrooted to /var/lib/named .Upravte řádek:OPTS=" -ubind " tak, aby znělo OPTS="-u bind-t /var/lib/named" :
OPTIONS="-u bind -t /var/lib/named" |
Vytvořte potřebné adresáře pod /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
Potom přesuňte konfigurační adresář z /etc do /var/lib/named/etc :
mv /etc/bind /var/lib/named/etc
Vytvořte symbolický odkaz na nový konfigurační adresář ze starého umístění (abyste předešli problémům při budoucí aktualizaci bindis):
ln -s /var/lib/named/etc/bind/etc/bind
Nastavte null a randomdevices a opravte oprávnění adresářů:
mknod /var/lib/named/dev/nullc 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
Potřebujeme upravit spouštěcí skript /etc/init.d/ sysklogd z sysklogd abychom mohli stále dostávat důležité zprávy zaznamenávané do systémových protokolů. Upravte řádek: SYSLOGD="" tak, že zní:SYSLOGD="-a/var/lib/named/dev/log" :
#! /bin/sh |
Restartujte loggingdaemon:
/etc/init.d/sysklogd restart
Spusťte BIND a zkontrolujte /var/log/syslog za případné chyby:
/etc/init.d/bind9 start
MySQL
apt-getinstall mysql-server mysql-client libmysqlclient12-dev
mysqladmin -u root passwordyourrootsqlpassword
Když spustíte netstat-tap nyní byste měli vidět řádek jako tento:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2449/mysqld |
což znamená, že MySQL je přístupné na 127.0.0.1 na portu 3306. Můžete přejít k další části (Postfix). Pokud nevidíte tento řádek upravte /etc/mysql/my.cnf a komentovat skip-networking :
# skip-networking |
Pokud chcete, aby MySQL naslouchalo na všech dostupných IP adresách, upravte /etc/mysql/my.cnf a zakomentujte bind-address =127.0.0.1 :
#bind-address = 127.0.0.1 |
Pokud jste museli upravit /etc/mysql/my.cnf musíte restartovat MySQL:
/etc/init.d/mysql restart
Pokud MySQL naslouchá na všech rozhraních, musíte nyní také nastavit heslo MySQL pro server1.example.com protože jinak by kdokoli mohl získat přístup k vaší databázi:
mysqladmin -h server1.example.com -u heslo root yourrootsqlpassword
Postfix/POP3/IMAP
Chcete-li nainstalovat Postfix s SMTP-AUTH a TLS a také server POP3, který také provádí protokoly POP3 (port 995) a server IMAP, který je také schopen IMAP (port 993) proveďte následující kroky:
apt-get install postfixpostfix-tls libsasl2 sasl2-bin libsasl2-modules ipopd-ssl uw-imapd-ssl (1 řádek!)
<- pop3 a pop3s
<- Ne
<- Internetové stránky
<- ŽÁDNÉ
<- server1.example.com
<- server1.example.com, localhost.example.com, localhost
<- Ne
postconf -e 'smtpd_sasl_local_domain='
postconf -e 'smtpd_sasl_auth_enable =yes'
postconf -e 'smtpd_sasl =noanonymous'
postconf -e 'broken_sasl_auth_clients =ano'
postconf -e 'smtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf>met_eface 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 -days3650
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'_tpd_tm 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'
Soubor /etc/postfix/main.cf by nyní měl vypadat takto:
# 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 = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, 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 = 3600s tls_random_source = dev:/dev/urandom |
/etc/init.d/postfixrestart
Ověření provede saslauthd .Musíme změnit pár věcí, aby to fungovalo správně. Protože Postfix je zakořeněn v /var/spool/postfix musíme udělat následující:
mkdir -p /var/spool/postfix/var/run/saslauthd
Nyní musíme upravit /etc/default/saslauthd za účelem aktivace saslauthd .Odstranit # před START=ano a přidejte řádek PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" :
# This needs to be uncommented before saslauthd will be run automatically START=yes PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" # 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" |
Musíme také upravit /etc/init.d/saslauthd a změňte umístění saslauthdova souboru PID. Změňte hodnotu PIDFILE na /var/spool/postfix/var/run/${NAME}/saslauthd.pid :
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid" |
Nyní začněte saslauthd :
/etc/init.d/saslauthd start
Dále vytvoříme soubor /etc/c-client.cf s následujícím obsahem:
I accept the risk set disable-plaintext 0 |
a restartujte inetd :
/etc/init.d/openbsd-inetd restart
Pokud to neuděláme, naše přihlášení POP3/IMAP selže.
Chcete-li zjistit, zda SMTP-AUTHand TLS fungují správně, spusťte následující příkaz:
telnetlocalhost 25
Po navázání připojení k poštovnímu serveru typu Postfix
ehlolocalhost
Pokud vidíte čáry
250 STARTTLS
a
250-AUTH
vše je v pořádku.
Typ
ukončit
pro návrat do shellu systému.
Courier-IMAP/Courier-POP3
Pokud chcete používat démona POP3/IMAP s podporou Maildir (pokud nechcete používat tradiční formát poštovní schránky Unix), můžete nainstalovat Courier-IMAP/Courier-IMAP-SSL (pro IMAP na portu 993) a Courier-POP3/Courier-POP3-SSL (pro POP3 na portu 995). Jinak můžete pokračovat v konfiguraci Apache.
apt-get install courier-imapcourier-imap-ssl courier-pop courier-pop-ssl
<- Ne
ipopd a UW-IMAP budou poté nahrazeny.
Potom nakonfigurujte Postfix tak, aby doručoval e-maily do poštovního adresáře uživatele*:
postconf -e 'home_mailbox=Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart
*Poznámka:Pokud máte v úmyslu použít ISPConfigon váš systém, nemusíte to dělat, protože ISPConfig provádí nezbytnou konfiguraci pomocí procmailrecipes. Nezapomeňte však povolit Maildir pod Správa -> Nastavení ->E-mail ve webovém rozhraní ISPConfig.