GNU/Linux >> Znalost Linux >  >> Panels >> Panels

The Perfect Server – Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2]

Dokonalý server – Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2]

Tento tutoriál ukazuje, jak nastavit server Ubuntu Natty Narwhal (Ubuntu 11.04), který nabízí všechny služby potřebné pro poskytovatele internetových služeb a hostitele:webový server Apache (s podporou SSL), poštovní server Postfix s SMTP-AUTH a TLS, server DNS BIND, Proftpd FTP server, MySQL server, Courier POP3/IMAP, Quota, Firewall atd. Nakonec byste měli mít systém, který spolehlivě funguje, a pokud chcete, můžete si nainstalovat bezplatný webhostingový ovládací panel ISPConfig 2 (tj. běží na něm ISPConfig po vybalení).

Budu používat následující software:

  • Webový server:Apache 2.2.17 s PHP 5.3.5, Python, Ruby a WebDAV
  • Databázový server:MySQL 5.1.54
  • Poštovní server:Postfix
  • Server DNS:BIND9
  • FTP Server:profpd
  • POP3/IMAP:Použiji formát Maildir, a proto nainstaluji Courier-POP3/Courier-IMAP.
  • Webalizer pro statistiky webových stránek

Upozorňujeme, že toto nastavení nefunguje pro ISPConfig 3 ! Platí pouze pro ISPConfig 2!

Nejprve chci říci, že to není jediný způsob, jak nastavit takový systém. Existuje mnoho způsobů, jak tohoto cíle dosáhnout, ale já volím tento způsob. Neposkytuji žádnou záruku, že to pro vás bude fungovat!

1 požadavky

K instalaci takového systému budete potřebovat následující:

  • server CD Ubuntu 11.04, dostupný zde:http://releases.ubuntu.com/releases/11.04/ubuntu-11.04-server-i386.iso (i386) nebo http://releases.ubuntu.com/releases /11.04/ubuntu-11.04-server-amd64.iso (x86_64)
  • rychlé připojení k internetu.

2 Předběžná poznámka

V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.0.100 a bránou 192.168.0.1. Tato nastavení se pro vás mohou lišit, takže je musíte v případě potřeby nahradit.

3 Základní systém

Vložte instalační CD Ubuntu do systému a spusťte z něj. Vyberte svůj jazyk:

Poté vyberte Install Ubuntu Server:

Znovu vyberte svůj jazyk (?):

Poté vyberte své umístění:

Pokud jste vybrali neobvyklou kombinaci jazyka a umístění (např. angličtina jako jazyk a Německo jako umístění, jako v mém případě), může vám instalační program sdělit, že pro tuto kombinaci není definováno žádné národní prostředí; v tomto případě musíte národní prostředí vybrat ručně. Zde vybírám en_US.UTF-8:

Vyberte rozložení klávesnice (budete požádáni, abyste stiskli několik kláves a instalační program se pokusí zjistit rozložení klávesnice na základě kláves, které jste stiskli):

Instalační program zkontroluje instalační CD, váš hardware a nakonfiguruje síť pomocí DHCP, pokud je v síti DHCP server:

Dokonalý server – Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] – Strana 2

4 Získat oprávnění uživatele root

Po restartu se můžete přihlásit pomocí dříve vytvořeného uživatelského jména (např. Protože musíme všechny kroky z tohoto tutoriálu spustit s právy root, můžeme buď před všechny příkazy v tomto tutoriálu přidat řetězec sudo, nebo se staneme rootem hned teď zadáním

sudo su 

(Přihlášení uživatele root můžete také povolit spuštěním

sudo passwd root

a dát rootovi heslo. Poté se můžete přímo přihlásit jako root, ale vývojáři a komunita Ubuntu to z různých důvodů odsuzují. Viz http://ubuntuforums.org/showthread.php?t=765414.)

5 Instalace serveru SSH (volitelné)

Pokud jste během instalace systému nenainstalovali server OpenSSH, můžete tak učinit nyní:

apt-get install ssh openssh-server

Od této chvíle můžete používat klienta SSH, jako je PuTTY, a připojit se ze své pracovní stanice k serveru Ubuntu 11.04 a postupujte podle zbývajících kroků z tohoto návodu.

6 Instalace vim-nox (volitelné)

V tomto tutoriálu použiji vi jako svůj textový editor. Výchozí program vi má na Ubuntu a Debianu nějaké podivné chování; abychom to napravili, nainstalujeme vim-nox:

apt-get install vim-nox

(Nemusíte to dělat, pokud používáte jiný textový editor, jako je joe nebo nano.)

7 Konfigurace sítě

Protože instalační program Ubuntu 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 statickou IP adresu. Upravte /etc/network/interfaces a upravte jej podle svých potřeb (v tomto příkladu nastavení použiji IP adresu 192.168.0.100 ):

vi /etc/network/interfaces
# Tento soubor popisuje síťová rozhraní dostupná ve vašem systému# a jak je aktivovat. Další informace viz interfaces(5).# Síťové rozhraní zpětné smyčkyauto loiface lo inet loopback# Primární síťové rozhraníauto eth0iface eth0 inet statická adresa 192.168.0.100 maska ​​sítě 255.255.255.0 síť 192.168.0.1 62015 brána.80815.2. před> 

Poté restartujte síť:

/etc/init.d/networking restart

Poté upravte /etc/hosts. Ať to vypadá takto:

vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1# Následující řádky jsou vhodné pro hostitele s podporou IPv6::1 ip6 -localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters

Nyní spusťte

echo server1.example.com> /etc/hostname
/etc/init.d/hostname restart

Poté spusťte

hostname
hostname -f

Oba by nyní měly zobrazovat server1.example.com.

8 Upravte /etc/apt/sources.list a aktualizujte svou instalaci Linuxu

Upravte /etc/apt/sources.list. Zakomentujte nebo odeberte instalační CD ze souboru a ujistěte se, že jsou povolena úložiště vesmíru a multiverse. Mělo by to vypadat takto:

vi /etc/apt/sources.list
## deb cdrom:[Ubuntu-Server 11.04 _Natty Narwhal_ – vydání amd64 (20110426)]/ natty main limited#deb cdrom:[Ubuntu-Server 11.04 _Natty Narwhal_ – Release amd64 (20110426)]/ natty main limited# Viz http://help.ubuntu.com/community/UpgradeNotes, jak upgradovat na # novější verze distribuce.deb http://de.archive. ubuntu.com/ubuntu/ natty main limitededdeb-src http://de.archive.ubuntu.com/ubuntu/ natty main limited## Aktualizace oprav hlavních chyb vytvořené po konečném vydání distribuce ## distribution.deb http:// de.archive.ubuntu.com/ubuntu/ natty-updates hlavní omezenédeb-src http://de.archive.ubuntu.com/ubuntu/ natty-updates hlavní omezené## Pozn. software z tohoto úložiště je ZCELA NEPODPOROVÁN týmem Ubuntu##. Vezměte prosím na vědomí, že software ve vesmíru NEOBDRŽÍ žádnou## recenzi ani aktualizace od bezpečnostního týmu Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ natty universedeb-src http://de.archive. ubuntu.com/ubuntu/ natty universedeb http://de.archive.ubuntu.com/ubuntu/ natty-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ natty-updates universe## N.B. software z tohoto úložiště je ZCELA NEPODPOROVÁN týmem Ubuntu## a nemusí být pod bezplatnou licencí. Ujistěte se prosím, že ## svá práva k používání softwaru. Vezměte prosím na vědomí, že software v## multiverse NEOBDRŽÍ žádnou recenzi ani aktualizace od bezpečnostního týmu Ubuntu##.deb http://de.archive.ubuntu.com/ubuntu/ natty multiversedeb-src http://de. archive.ubuntu.com/ubuntu/ natty multiversedeb http://de.archive.ubuntu.com/ubuntu/ natty-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ natty-updates multiverse## Chcete-li přidat software z úložiště 'backports'##, odkomentujte následující dva řádky.## N.B. software z tohoto úložiště nemusel být důkladně testován## jako software obsažený v hlavním vydání, ačkoli obsahuje## novější verze některých aplikací, které mohou poskytovat užitečné funkce.## Také si prosím uvědomte, že software v backportech NEBUDE jakákoli recenze## nebo aktualizace od bezpečnostního týmu Ubuntu.# deb http://de.archive.ubuntu.com/ubuntu/ natty-backports hlavní omezený vesmír multiverse# deb-src http://de.archive.ubuntu.com /ubuntu/ natty-backports hlavní omezený vesmír multiversedeb http://security.ubuntu.com/ubuntu natty-security main limiteddeb-src http://security.ubuntu.com/ubuntu natty-security main limiteddeb http://security. ubuntu.com/ubuntu natty-security universedeb-src http://security.ubuntu.com/ubuntu natty-security universedeb http://security.ubuntu.com/ubuntu natty-security multiversedeb-src http://security.ubuntu .com/ubuntu natty-security multiverse## Odkomentujte následující dva řádky a přidejte software z ## „partnerského“ úložiště společnosti Canonical ory.## Tento software není součástí Ubuntu, ale je nabízen společností Canonical a## příslušnými prodejci jako služba uživatelům Ubuntu.# deb http://archive.canonical.com/ubuntu natty partner# deb-src http ://archive.canonical.com/ubuntu natty partner## Odkomentujte následující dva řádky a přidejte software z úložiště## 'extras' Ubuntu.## Tento software není součástí Ubuntu, ale je nabízen třetí stranou## vývojáři, kteří chtějí dodávat svůj nejnovější software.# deb http://extras.ubuntu.com/ubuntu natty main# deb-src http://extras.ubuntu.com/ubuntu natty main

Potom spusťte

aktualizace apt-get

pro aktualizaci databáze balíčků apt a

upgrade apt-get

k instalaci nejnovějších aktualizací (pokud nějaké existují). Pokud uvidíte, že se v rámci aktualizací nainstaluje nové jádro, měli byste poté restartovat systém:

restartovat 

9 Změna výchozího prostředí

/bin/sh je symbolický odkaz na /bin/dash, ale potřebujeme /bin/bash, ne /bin/dash. Proto děláme toto:

dpkg-reconfigure dash

Použít pomlčku jako výchozí systémové prostředí (/bin/sh)? <-- Ne

Pokud to neuděláte, instalace ISPConfig se nezdaří.

10 Deaktivace AppArmor

AppArmor je bezpečnostní rozšíření (podobně jako SELinux), které by mělo poskytovat rozšířené zabezpečení. Podle mého názoru to ke konfiguraci zabezpečeného systému nepotřebujete a obvykle to způsobí více problémů než výhod (přemýšlejte o tom, až týden řešíte problémy, protože některá služba nefungovala podle očekávání, a pak zjistěte, že vše bylo v pořádku, problém způsoboval pouze AppArmor). Proto jsem to zakázal (to je nutnost, pokud chcete ISPConfig nainstalovat později).

Můžeme to zakázat takto:

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

Dokonalý server – Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] – Strana 4

11 Instalace softwaru

Nyní nainstalujeme několik balíčků, které budeme potřebovat později. Spustit

apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl-perl-zlibde modules unzi automake1.9 libtool bison autotools-dev g++ build-essential

(Tento příkaz musí jít na jeden řádek !)

12 žurnálovaná kvóta

(Pokud jste zvolili jiné schéma rozdělení než já, musíte upravit tuto kapitolu tak, aby kvóta platila pro oblasti, kde ji potřebujete.)

Chcete-li kvótu nainstalovat, spusťte

instalační kvótu apt-get

Upravit /etc/fstab. Můj vypadá takto (do oddílu s bodem připojení / jsem přidal ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0):

vi /etc/fstab
# /etc/fstab:informace o statickém systému souborů.## Použijte 'blkid -o value -s UUID' k vytištění univerzálně jedinečného identifikátoru# pro zařízení; toto lze použít s UUID=jako robustnější způsob pojmenování# zařízení, který funguje, i když jsou přidány a odebrány disky. Viz fstab(5).##   
  
 proc /proc proc nodev,noexec,nosuid 0 0/dev/mapper/server1-root / chyby ext4 =remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot byl na /dev/sda1 během instalaceUUID=deae7cd1-b106-47aa-9a7c-512f/046d2ebf default dev/mapper/server1-swap_1 žádný swap sw 0 0/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Chcete-li kvótu povolit, spusťte tyto příkazy:

mount -o remount /

kvóta -avugm
kvóta -avug

13 DNS server

Spustit

apt-get install 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

Upravte soubor /etc/default/bind9 tak, aby démon běžel jako nepřivilegovaný uživatel bind, chrootovaný do /var/lib/named. Upravte řádek:OPTIONS="-u bind" tak, aby zněl OPTIONS="-u bind -t /var/lib/named":

vi /etc/default/bind9
# spustit resolvconf?RESOLVCONF=yes# možnosti spuštění pro serverOPTIONS="-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

Poté 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 vazby):

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

Vytvořte nulová a náhodná zařízení a opravte oprávnění adresářů:

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

Musíme vytvořit soubor /etc/rsyslog.d/bind-chroot.conf...

vi /etc/rsyslog.d/bind-chroot.conf

... a přidejte následující řádek, abychom mohli stále zaznamenávat důležité zprávy do systémových protokolů:

$AddUnixListenSocket /var/lib/named/dev/log

Restartujte démona protokolování:

/etc/init.d/rsyslog restart

Spusťte BIND a zkontrolujte /var/log/syslog, zda neobsahuje chyby:

/etc/init.d/bind9 start

14 MySQL

Abychom mohli nainstalovat MySQL, spustíme

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

Budete požádáni o zadání hesla pro uživatele root MySQL – toto heslo je platné pro uživatele [email protected] i [email protected], takže později nemusíme heslo uživatele root MySQL zadávat ručně. :

Nové heslo pro uživatele "root" MySQL:<-- yourrootsqlpassword
Opakujte heslo pro uživatele "root" MySQL:<-- yourrootsqlpassword

Chceme, aby MySQL naslouchalo na všech rozhraních, nejen na localhost, proto upravíme /etc/mysql/my.cnf a zakomentujeme řádek bind-address =127.0.0.1:

vi /etc/mysql/my.cnf
[...]# Místo přeskočení sítě je nyní výchozím nastavením poslouchat pouze na # localhost, který je více kompatibilní a není méně bezpečný. #bind-address =127.0.0.1[...]

Poté restartujeme MySQL:

/etc/init.d/mysql restart

Nyní zkontrolujte, zda je síť povolena. Spustit

netstat -tap | grep mysql

Výstup by měl vypadat takto:

[email protected]:~# netstat -tap | grep mysql
tcp         0      0 *:mysql                  *:*                       POSLECHNUTÍ          PLECHNUTÍ          PLECH.        7220 /> příklad

Dokonalý server – Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] – Strana 5

15 Postfix s SMTP-AUTH a TLS

Chcete-li nainstalovat Postfix s SMTP-AUTH a TLS, proveďte následující kroky:

apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules procmail

Budou vám položeny dvě otázky. Odpovězte následovně:

Obecný typ konfigurace pošty:<-- Internet Site
Název systémové pošty:<-- server1.example.com

Potom spusťte

dpkg-reconfigure postfix

Znovu vám položíme několik otázek:

Obecný typ konfigurace pošty:<-- Internetový server
Jméno systémové pošty:<-- server1.example.com
Kořenový a postmaster příjemce pošty:<-- [prázdné]
Další cíle pro přijímat poštu pro (prázdné pro žádné):<-- server1.example.com, localhost.example.com, localhost.localdomain, localhost
Vynutit synchronní aktualizace poštovní fronty? <-- Ne
Místní sítě:<-- 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Použít procmail pro místní doručování? <-- Ano
Limit velikosti poštovní schránky (bajty):<-- 0
Znak rozšíření místní adresy:<-- +
Použité internetové protokoly:<-- všechny

Dále proveďte toto:

postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable =yes'
postconf -e 'smtpd_sasl_security_options =noclianonymous'
postconf -asl_eth 'smtpd_sasl_authenticated_header =yes'
postconf -e 'smtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'checkinet_post:/satech>th =w sasl/smtpd.conf
echo 'mech_list:plain login'>> /etc/postfix/sasl/smtpd.conf

Poté vytvoříme certifikáty pro TLS:

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

Dále nakonfigurujeme Postfix pro TLS (ujistěte se, že pro myhostname používáte správný název hostitele):

postconf -e 'myhostname =server1.example.com'

postconf -e 'smtpd_tls_auth_only =no'
postconf -e 'smtp_use_tls =yes'
postconf -e 'smtpd_use_tls =yes'
postconf -e 'smtp_tls_offer /postcontls_f =<>ano_starttls_f e 'smtpd_tls_key_file =/etc/postfix/ssl/smtpd.key'
postconf -e 'smtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crt'
postconf -cp_CApost 'smt_ /ssl/cacert.pem'
postconf -e 'smtpd_tls_loglevel =1'
postconf -e 'smtpd_tls_received_header =yes'
postconf -e 'smtpd_tls_session_con3br_0> =postconf. 'tls_random_source =dev:/dev/urandom'

Soubor /etc/postfix/main.cf by nyní měl vypadat takto:

cat /etc/postfix/main.cf
# Viz /usr/share/postfix/main.cf.dist pro komentovanou, úplnější verzi# Specifické pro Debian:Zadání názvu souboru způsobí první # řádek tohoto souboru, který má být použit jako název. Výchozí # Debianu je /etc/mailname.#myorigin =/etc/mailnamesmtpd_banner =$myhostname ESMTP $mail_name (Ubuntu)biff =no# připojení .domény je úkolem MUA.append_dot_mydomain =no# Odkomentujte další řádek pro vygenerování "zpožděné" mail" warnings#delay_warning_time =4hreadme_directory =no# TLS parameterssmtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crtsmtpd_tls_key_file =/etc/postfix/ssl/smtpd.keysmtpd_use_tls =yessmtpd_tls_session_cache_database =btree:${data_directory}/smtpd_scachesmtp_tls_session_cache_database =btree:${ data_directory}/smtp_scache# Informace o povolení SSL v smtp client.myhostname =server1.example.comalias_maps =hash:/etc/aliasesalias_database =viz /usr/share/doc/postfix/TLS_README.gz v balíčku postfix-doc =hash:/etc/aliasesmyorigin =/etc/mailnamemydestination =server1.example.com, localhost.example.com, localhost.localdomain, localhostrelayhost =mynetworks =127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128mailbox_command =procmail -a "$EXTENS ION"mailbox_size_limit =0recipient_delimiter =+inet_interfaces =allinet_protocols =allsmtpd_sasl_local_domain =smtpd_sasl_auth_enable =yessmtpd_sasl_security_options =noanonymousbroken_sasl_auth_clients =yessmtpd_sasl_authenticated_header =yessmtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationsmtpd_tls_auth_only =nosmtp_use_tls =yessmtp_tls_note_starttls_offer =yessmtpd_tls_CAfile =/etc/postfix/ssl/cacert.pemsmtpd_tls_loglevel =1smtpd_tls_received_header =yessmtpd_tls_session_cache_timeout =3600stls_random_source =dev:/dev/urandom

Autentizaci provede saslauthd. Musíme změnit pár věcí, aby to fungovalo správně. Protože Postfix běží chrootovaný 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, abychom aktivovali saslauthd. Nastavte START na yes a změňte řádek OPTIONS="-c -m /var/run/saslauthd" na OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r":

vi /etc/default/saslauthd
## Nastavení pro démona saslauthd# Podrobnosti naleznete v /usr/share/doc/sasl2-bin/README.Debian.## Měl by se saslauthd spustit automaticky při startu? (výchozí:ne)START=ano# Popis této instance saslauthd. Doporučeno.# (návrh:SASL Authentication Daemon)DESC="SASL Authentication Daemon"# Krátký název této instance saslauthd. Důrazně doporučujeme.# (suggestion:saslauthd)NAME="saslauthd"# Jaké autentizační mechanismy by měl saslauthd používat? (výchozí:pam)## Dostupné možnosti v tomto balíčku Debian:# getpwent -- použijte funkci knihovny getpwent() # kerberos5 -- použijte Kerberos 5# pam -- použijte PAM# rimap -- použijte vzdálený IMAP server# shadow - - použijte soubor lokálního stínového hesla# sasldb -- použijte soubor místní databáze sasldb# ldap -- použijte LDAP (konfigurace je v /etc/saslauthd.conf)## V jednu chvíli lze použít pouze jednu možnost. Další informace najdete na manuálové stránce saslauthd#.## Příklad:MECHANISMS="pam"MECHANISMS="pam"# Další možnosti pro tento mechanismus. (výchozí:none)# Informace o možnostech specifických pro mecha najdete na manuálové stránce saslauthd.MECH_OPTIONS=""# Kolik procesů saslauthd máme spustit? (výchozí:5)# Hodnota 0 rozvětví nový proces pro každé připojení.THREADS=5# Další možnosti (výchozí:-c -m /var/run/saslauthd)# Poznámka:MUSÍTE zadat volbu -m nebo saslauthd se nespustí!## VAROVÁNÍ:NEZADÁVEJTE VOLBU -d.# Volba -d způsobí, že saslauthd poběží v popředí místo jako# démona. TAK ZABRÁNÍ VÁŠMU SYSTÉMU V ŘÁDNÉM SPOUŠTĚNÍ. Pokud si přejete# spustit saslauthd v režimu ladění, spusťte jej pro jistotu ručně.## Informace specifické pro Debian najdete v /usr/share/doc/sasl2-bin/README.Debian.# Viz manuálová stránka saslauthd a výstup 'saslauthd -h' pro obecné# informace o těchto volbách.## Příklad pro uživatele postfixu:"-c -m /var/spool/postfix/var/run/saslauthd"#OPTIONS="-c -m / var/run/saslauthd"OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Dále přidejte uživatele postfixu do skupiny sasl (tím zajistíte, že Postfix má oprávnění pro přístup k saslauthd):

adduser postfix sasl

Nyní restartujte Postfix a spusťte saslauthd:

/etc/init.d/postfix restart
/etc/init.d/saslauthd start

Chcete-li zjistit, zda SMTP-AUTH a TLS fungují správně, spusťte následující příkaz:

telnet localhost 25

Po navázání připojení k poštovnímu serveru Postfix typu

ehlo localhost

Pokud vidíte řádky

250 STARTTLS

a

PROSTÉ PŘIHLÁŠENÍ 250 AUTH

vše je v pořádku.

Výstup na mém systému vypadá takto:

[email protected]:/etc/postfix/ssl# telnet localhost 25
Zkouším 127.0.0.1...
Připojeno k localhost.localdomain.
Escape znak je '^]'.
220 server1.example.com ESMTP Postfix (Ubuntu)
ehlo localhost
250-server1.example.com
250-PIPELINING
250-VELIKOST 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCED STATUSCODES
250-8BITMIME
250 DSN
ukončit
221 2.0.0 Nashledanou
Spojení uzavřeno zahraničním hostitelem.
[email protected]:/etc/postfix/ssl#

Typ

ukončit

pro návrat do shellu systému.

16 Courier-IMAP/Courier-POP3

Spusťte toto pro instalaci Courier-IMAP/Courier-IMAP-SSL (pro IMAP na portu 993) a Courier-POP3/Courier-POP3-SSL (pro POP3 na portu 995):

apt-get install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0

Budou vám položeny dvě otázky:

Vytvořit adresáře pro webovou administraci? <-- Ne
Vyžadován certifikát SSL <-- OK

Během instalace se vytvoří certifikáty SSL pro IMAP-SSL a POP3-SSL s názvem hostitele localhost. Chcete-li toto změnit na správný název hostitele (server1.example.com v tomto návodu), odstraňte certifikáty...

cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

... a upravit následující dva soubory; nahraďte CN=localhost za CN=server1.example.com (v případě potřeby můžete upravit i ostatní hodnoty):

vi /etc/courier/imapd.cnf
[...]CN=server1.example.com[...]
vi /etc/courier/pop3d.cnf
[...]CN=server1.example.com[...]

Poté znovu vytvořte certifikáty...

mkimapdcert
mkpop3dcert

... a restartujte Courier-IMAP-SSL a Courier-POP3-SSL:

/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart

Pokud nechcete používat ISPConfig, 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žívat ISPConfig na vašem systému, nemusíte to dělat, protože ISPConfig provádí nezbytnou konfiguraci pomocí receptů procmail. Nezapomeňte však povolit Maildir v části Správa -> Server -> Nastavení -> E-mail ve webovém rozhraní ISPConfig.

Dokonalý server – Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] – Strana 6

17 Apache/PHP5/Ruby/Python/WebDAV

Nyní nainstalujeme Apache:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert

Dále nainstalujeme PHP5, Ruby a Python (všechny tři jako moduly Apache):

apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Dále upravíme /etc/apache2/mods-available/dir.conf:

vi /etc/apache2/mods-available/dir.conf

a změňte řádek DirectoryIndex:

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

Nyní musíme povolit některé moduly Apache (SSL, rewrite, suexec, include a WebDAV):

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include
a2enmod dav_fs
a2enmod dav

Restartujte Apache:

/etc/init.d/apache2 restart

Musíme vyřešit malý problém s Ruby. Pokud si nainstalujete ISPConfig a povolíte Ruby pro webovou stránku, soubory .rbx se spustí v pořádku a zobrazí se v prohlížeči, ale to nefunguje pro soubory .rb – budete vyzváni ke stažení souboru .rb – totéž se stane, pokud nakonfigurujete Ruby ručně pro vhost (tj. nemá to nic společného s ISPConfig). Abychom to napravili, otevřeme /etc/mime.types...

vi /etc/mime.types

... a okomentujte aplikaci/řádek x-ruby:

[...]#application/x-ruby rb[...]

Restartujte Apache:

/etc/init.d/apache2 restart

Nyní budou soubory .rb spuštěny a zobrazeny v prohlížeči, stejně jako soubory .rbx.

V další kapitole (17.1) zakážeme PHP (toto je nutné pouze v případě, že chcete instalovat ISPConfig na tento server). Na rozdíl od PHP jsou Ruby a Python ve výchozím nastavení zakázány, takže to nemusíme dělat.

17.1 Globální deaktivace PHP

(Pokud neplánujete instalovat ISPConfig na tento server, přeskočte prosím tuto sekci!)

V ISPConfig nakonfigurujete PHP na základě jednotlivých webových stránek, tj. můžete určit, které webové stránky mohou spouštět PHP skripty a které ne. To může fungovat pouze v případě, že je PHP globálně zakázáno, protože jinak by všechny webové stránky mohly spouštět skripty PHP, bez ohledu na to, co zadáte v ISPConfig.

Abychom PHP globálně zakázali, upravíme /etc/mime.types a zakomentujeme řádky application/x-httpd-php:

vi /etc/mime.types
[...]#application/x-httpd-php phtml pht php#application/x-httpd-php-source phps#application/x -httpd-php3 php3#application/x-httpd-php3-preprocessed php3p#application/x-httpd-php4 php4#application/x-httpd-php5 php5[...]

Edit /etc/apache2/mods-enabled/php5.conf and comment out the SetHandler lines:

vi /etc/apache2/mods-enabled/php5.conf
  #SetHandler application/x-httpd-php   #SetHandler application/x-httpd-php-source  # To re-enable php in user directories comment the following lines # (from  to .) Do NOT set it to On as it # prevents .htaccess files from disabling it.   php_admin_value engine Off  

Then restart Apache:

/etc/init.d/apache2 restart

18 Proftpd

In order to install Proftpd, run

apt-get install proftpd ucf

You will be asked a question:

Run proftpd:<-- standalone

For security reasons add the following lines to /etc/proftpd/proftpd.conf (thanks to Reinaldo Carvalho; more information can be found here:http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd/proftpd.conf
[...]DefaultRoot ~ServerIdent on "FTP Server ready."[...]

ISPConfig expects the configuration to be in /etc/proftpd.conf instead of /etc/proftpd/proftpd.conf, therefore we create a symlink (you can skip this command if you don't want to install ISPConfig):

ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

Then restart Proftpd:

/etc/init.d/proftpd restart

The Perfect Server - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] - Page 7

19 Webalizer

To install webalizer, just run

apt-get install webalizer geoip-database

20 Synchronize the System Clock

It is a good idea to synchronize the system clock with an NTP (n etwork t ime p rotocol) server over the internet. Simply run

apt-get install ntp ntpdate

and your system time will always be in sync.

21 Install Some Perl Modules Needed By SpamAssassin (Comes With ISPConfig)

Run

apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl libnetaddr-ip-perl perl-modules

22 ISPConfig

The configuration of the server is now finished, and if you wish you can now install ISPConfig on it. Please check out the ISPConfig installation manual:http://www.ispconfig.org/manual_installation.htm

Before you install ISPConfig, there's one important thing you must do. Open /usr/include/stdio.h and replace getline with parseline in line 671:

vi /usr/include/stdio.h
[...] This function is not part of POSIX and therefore no official cancellation point. But due to similarity with an POSIX interface or due to the implementation it is a cancellation point and therefore not marked with __THROW. */extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur;#endif[...]

If you don't do this, the installation will fail because of the following error:

htpasswd.c:101:error:conflicting types for 'getline'
/usr/include/stdio.h:671:note:previous declaration of 'getline' was here
make[2]:*** [htpasswd.o] Error 1
make[2]:Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]:*** [build-support] Error 1
make[1]:Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41'
make:*** [build] Error 2
ERROR:Could not make Apache

You can undo the change to /usr/include/stdio.h after the successful ISPConfig installation (but don't forget to change it back whenever you want to update ISPConfig!).

22.1 A Note On SuExec

If you want to run CGI scripts under suExec, you should specify /var/www as the home directory for websites created by ISPConfig as Ubuntu's suExec is compiled with /var/www as Doc_Root. Run

 /usr/lib/apache2/suexec -V

and the output should look like this:

[email protected]:~# /usr/lib/apache2/suexec -V
 -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="www-data"
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 -D AP_USERDIR_SUFFIX="public_html"
[email protected]:~#

So if you want to use suExec with ISPConfig, don't change the default web root (which is /var/www) if you use expert mode during the ISPConfig installation (in standard mode you can't change the web root anyway so you'll be able to use suExec in any case).

  • Ubuntu:http://www.ubuntu.com/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. The Perfect Desktop – Ubuntu 11.04 (Natty Narwhal) (s Ubuntu Classic Desktop)

  2. Jak upgradovat server Ubuntu 7.10 („Dokonalé nastavení“ + ISPConfig) na Ubuntu 8.04 LTS

  3. Jak upgradovat server Ubuntu 7.04 ("Dokonalé nastavení" + ISPConfig) na Ubuntu 7.10

  1. The Perfect Server – Fedora 15 x86_64 [ISPConfig 2]

  2. The Perfect Server – Fedora 15 x86_64 [ISPConfig 3]

  3. The Perfect Server – Ubuntu 11.04 [ISPConfig 3]

  1. The Perfect Server – CentOS 5.6 x86_64 [ISPConfig 2]

  2. Perfektní server – CentOS 6.1 x86_64 s Apache2 [ISPConfig 3]

  3. Perfektní server – OpenSUSE 12.1 x86_64 s Nginx [ISPConfig 3]