Dokonalý server – Fedora 15 x86_64 [ISPConfig 2]
Toto je podrobný popis, jak nastavit Fedora 15 server, který nabízí všechny služby potřebné pro poskytovatele internetových služeb a hostitele:webový server Apache (s podporou SSL) s PHP5/Ruby/Python, poštovní server Postfix s SMTP-AUTH a TLS, server DNS BIND, server FTP Proftpd, server MySQL, Dovecot POP3/ IMAP, Quota, Firewall atd. Tento návod je napsán pro 64bitovou verzi Fedory 15, ale měl by se vztahovat i na 32bitovou verzi s velmi malými úpravami. Nakonec byste měli mít systém, který funguje spolehlivě, a pokud chcete, můžete si nainstalovat bezplatný ovládací panel webhostingu ISPConfig (tj. ISPConfig na něm běží hned po vybalení).
Budu používat následující software:
- Webový server:Apache 2.2.17
- PHP 5.3.6
- Ruby
- Python
- Databázový server:MySQL 5.5.12
- Poštovní server:Postfix
- Server DNS:BIND9 (chrootovaný)
- FTP Server:profpd
- Server POP3/IMAP:Dovecot
- 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í:
- Stáhněte si iso obraz Fedora 15 DVD ze zrcadla ve vašem okolí (seznam zrcadel naleznete zde:http://mirrors.fedoraproject.org/publiclist/Fedora/15/), např. http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/15/Fedora/x86_64/iso/Fedora-15-x86_64-DVD.iso
- 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 v případě potřeby musíte nahradit.
Ujistěte se prosím, že systém, který chcete upgradovat, má více než 600 MB RAM – jinak by se systém mohl zablokovat při pokusu o spuštění s následující zprávou:
Pokouším se rozbalit obraz rootfs jako initramfs...
3 Instalace základního systému
Spusťte z vašeho DVD Fedora 15. Vyberte možnost Instalovat nový systém nebo upgradovat stávající systém:
Testování instalačního média může trvat dlouho, takže tento test zde přeskočíme:
Dále vyberte jazyk:
Vyberte rozložení klávesnice:
Předpokládám, že používáte lokálně připojený pevný disk, takže byste zde měli vybrat Základní úložná zařízení:
Protože chceme novou instalaci Fedory, klikněte na tlačítko Ano, zahodit všechna data:
Vyplňte název hostitele serveru:
Vyberte své časové pásmo:
Dejte rootovi heslo:
Dále provedeme rozdělení. Vyberte Nahradit existující systémy Linux. Tím získáte malý oddíl /boot a velký oddíl /, což je pro naše účely v pořádku:
Vyberte možnost Zapsat změny na disk:
Probíhá formátování pevného disku:
Nyní vybereme software, který chceme nainstalovat. Zrušte zaškrtnutí políčka Grafická plocha a místo toho zaškrtněte Webový server. Poté zaškrtněte možnost Přizpůsobit nyní. Poté vyberte další úložiště Fedora 15 - x86_64 a Fedora 15 - x86_64 - Aktualizace (pokud používáte systém i686, názvy jsou pravděpodobně Fedora 15 - i686 a Fedora 15 - i686 - Aktualizace):
Protože poslední dvě úložiště potřebují připojení k internetu, objeví se nové okno, kde musíte nakonfigurovat síťovou kartu. Vyberte síťovou kartu a klikněte na OK:
Přejděte na kartu Kabelové, vyberte síťové rozhraní (všimněte si prosím, že Fedora 15 používá názvy BIOS pro zařízení, proto se vaše síťová karta jmenuje jako p3p1 místo eth0 – to později změníme; více informací o tom najdete na http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming) a klikněte na Upravit...:
Zaškrtněte políčko Připojit automaticky a přejděte na kartu Nastavení IPv4 a v rozevírací nabídce Metoda vyberte možnost Ručně. Vyplňte jeden, dva nebo tři jmenné servery (oddělené čárkou) do pole DNS servery (např. 8.8.8.8, 8.8.4.4), poté klikněte na tlačítko Přidat vedle oblasti Adresy:
Nyní přidělte své síťové kartě statickou IP adresu a síťovou masku (v tomto tutoriálu používám IP adresu 192.168.0.100 a síťovou masku 255.255.255.0 pro demonstrační účely; pokud si nejste jisti správnými hodnotami, http://www. subnetmask.info vám může pomoci). Vyplňte také svou bránu (např. 192.168.0.1) a klikněte na tlačítko Uložit...:
Dále klikněte na Zavřít v okně Síťová připojení:
Dokonalý server – Fedora 15 x86_64 [ISPConfig 2] – Strana 2
4 Změňte název vaší karty NIC na ethx
Nyní musíme nakonfigurovat Fedoru, aby již nepoužívala názvy zařízení BIOS pro naše síťové rozhraní. Místo p3p1 potřebujeme zpět naše dobré, staré eth0 (protože jinak se firewall ISPConfigu zblázní a zablokuje vše, protože místo p3p1 očekává eth0). Otevřete /etc/grub.conf...
vi /etc/grub.conf
... a přidejte biosdevname=0 do řádku jádra:
# grub.conf generovaný anaconda## Všimněte si, že po provedení změn v tomto souboru nemusíte znovu spouštět grub# UPOZORNĚNÍ:Máte / spouštěcí oddíl. To znamená, že# všechny cesty jádra a initrd jsou relativní k /boot/, např.# root (hd0,0)# kernel /vmlinuz-version ro root=/dev/mapper/vg_server1-lv_root# initrd /initrd-[generic- ]version.img#boot=/dev/sdadefault=0timeout=0splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle Fedora (2.6.38.6-27.fc15.x86_64) kořenové jádro (hd0,0) /vmlinuz -2.6.38.6-27.fc15.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap.bNO_swap rd_NO_MD_LUKS. tichý biosdevname=0 initrd /initramfs-2.6.38.6-27.fc15.x86_64.img |
Poté restartujte systém:
restartovat
Po restartu by se vaše NIC měla jmenovat eth0. Spustit...
ifconfig
... pro ověření:
[[email protected] ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:15:60:FA
inet addr:192.168.0.0.510.5 5 Ma. 255.0
inet6 addr: fe80::20c:29ff:fe15:60fa/64 Scope:Link
UP BROADCAST RUNNING : MULTICAST Metrika bred:1500 Metrika :1500 0 přetečení:0 snímek:0
TX pakety:58 chyby:0 zahozeno:0 překročení:0 přenašeč:0
kolize:0 txqueuelen:1000
6 Bes:TX 2 Ki (R 5 X 2 bytes:9682 (9,4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Maska:255.0.0.0
:1 / t dr 8 Host
NAHORU LOOPBACK RUNNING MTU:16436 Metrika:1
RX pakety:2 chyby:0 zahozené:0 přetečení:0 snímek :0
chyba:2 přeběhy TX 0 carrier:0
kolize:0 txqueuelen:0
RX bajtů:100 (100,0 b) TX bajtů:100 (100,0 b)
[[email protected] ~]#
5 Upravte /etc/hosts
Dále upravíme /etc/hosts. Ať to vypadá takto:
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.0.100 server1.example.com server1::1 localhost localhost.localdomain localhost6 localhost6. localdomain6 |
Je důležité, abyste přidali řádek pro server1.example.com a odebrali server1.example.com a server1 z řádku 127.0.0.1.
6 Konfigurace brány firewall
(Pokud jste již na konci základní instalace systému firewall deaktivovali, můžete tuto kapitolu přeskočit.)
Chci nainstalovat ISPConfig na konci tohoto tutoriálu, který je dodáván s vlastním firewallem. Proto nyní deaktivuji výchozí firewall Fedory. Samozřejmě ho můžete nechat zapnutý a nakonfigurovat podle svých potřeb (ale později byste neměli používat žádný jiný firewall, protože by s největší pravděpodobností narušoval firewall Fedory).
Spustit
system-config-firewall
a vypněte firewall.
Chcete-li zkontrolovat, zda byl firewall skutečně deaktivován, můžete spustit
iptables -L
později. Výstup by měl vypadat takto:
[[email protected] ~]# iptables -L
VSTUP řetězce (zásady PŘIJÍMÁTE)
cíl ochranný opt zdroj cíl
Získat PŘEDPOŘÁDNUTÍ
prot opt source destination
Chain OUTPUT (policy ACEPT)
cíl prot opt source destination
[example@unixlinux].
7 Zakázat SELinux
SELinux je bezpečnostní rozšíření Fedory, 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 SELinux). Proto jsem to zakázal (to je nutnost, pokud chcete ISPConfig nainstalovat později).
Upravte /etc/selinux/config a nastavte SELINUX=disabled:
vi /etc/selinux/config
# Tento soubor řídí stav SELinuxu v systému.# SELINUX=může nabývat jedné z těchto tří hodnot:# vynucování – bezpečnostní politika SELinuxu je vynucována .# permisivní - SELinux vypisuje varování místo vynucování.# vypnuto - Není zavedena žádná politika SELinuxu.SELINUX=disabled# SELINUXTYPE=může nabývat jedné z těchto dvou hodnot:# targeted - Cílené procesy jsou chráněny,# mls - Ochrana více úrovní zabezpečení. SELINUXTYPE=cílený |
Poté musíme restartovat systém:
restartovat
8 Instalace softwaru
Nejprve importujeme klíče GPG pro softwarové balíčky:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Dále aktualizujeme naše stávající balíčky v systému:
yum aktualizace
Nyní nainstalujeme některé softwarové balíčky, které budeme potřebovat později:
yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp gcc gcc-c++
9 ž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.)
Pro instalaci kvóty spustíme tento příkaz:
yum instalační kvóta
Upravte /etc/fstab a přidejte ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 do oddílu / (/dev/mapper/vg_server1-lv_root):
vi /etc/fstab
## /etc/fstab# Vytvořil anaconda dne St 25. května 15:57:24 2011## Přístupné souborové systémy, podle reference, jsou udržovány pod '/dev/disk'# Pro více informací viz manuálové stránky fstab(5), findfs(8), mount(8) a/nebo blkid(8)#/dev/mapper/vg_server1-lv_root / ext4 defaults,usrjquota=aquota .user,grpjquota=aquota.group,jqfmt=vfsv0 1 1UUID=366ba6a7-7e68-4ec9-9743-4b02dd105180 /boot ext4 defaults 1 2/dev/mapper/vg_server1/vg_server1 sspv 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs výchozí hodnoty 0 0proc /proc proc výchozí hodnoty 0 0 |
Potom spusťte
mount -o remount /
kvóta -avugm
kvóta -avug
pro povolení kvóty.
10 Instalace Chrooted DNS Server (BIND9)
Chcete-li nainstalovat chrootovaný BIND9, provedeme toto:
yum install bind-chroot
Dále změníme několik oprávnění:
chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/ named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/ var/named/
ln -s ../../ chroot
Poté otevřeme /etc/sysconfig/named a ujistíme se, že obsahuje následující řádek, který BINDu sděluje, že běží chrootovaný v /var/named/chroot:
vi /etc/sysconfig/named
[...]ROOTDIR=/var/named/chroot |
Dále otevřete /etc/rsyslog.conf...
vi /etc/rsyslog.conf
... a přidejte k němu řádek $AddUnixListenSocket /var/named/chroot/dev/log:
[...]$AddUnixListenSocket /var/named/chroot/dev/log |
Restartujte rsyslog:
/etc/init.d/rsyslog restart
Poté vytvoříme spouštěcí odkazy systému pro BIND:
chkconfig --levels 235 pojmenované na
BIND nyní nespouštíme, protože selže kvůli chybějícímu /var/named/chroot/etc/named.conf. To bude vytvořeno později ISPConfig (pokud používáte DNS Manager ISPConfig, to znamená).
Dokonalý server – Fedora 15 x86_64 [ISPConfig 2] – Strana 4
11 MySQL 5
Chcete-li nainstalovat MySQL, provedeme toto:
yum install mysql mysql-devel mysql-server
Poté vytvoříme spouštěcí odkazy systému pro MySQL (takže se MySQL spustí automaticky při každém spuštění systému) a spustíme server MySQL:
chkconfig --levels 235 mysqld na
/etc/init.d/mysqld start
Nyní zkontrolujte, zda je síť povolena. Spustit
netstat -tap | grep mysql
Mělo by to ukazovat něco takového:
[[email protected] ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* ~ 5 příkladu / br. link 11
Pokud ne, upravte soubor /etc/my.cnf a zakomentujte možnost skip-networking:
vi /etc/my.cnf
[...]#skip-networking[...] |
a restartujte server MySQL:
/etc/init.d/mysqld restart
Spustit
mysql_secure_installation
nastavit heslo pro uživatele root (jinak má kdokoli přístup k vaší databázi MySQL!).
[[email protected] ~]# mysql_secure_installation
POZNÁMKA: SPUŠTĚNÍ VŠECHNY ČÁSTI TOHOto skriptu JE DOPORUČUJEME PRO VŠECHNY MySQL
SERVERY V PRODUKTU POUŽITÍ! PROSÍM POČTĚTE KAŽDÝ KROK POZOR!
Aby se přihlásili do MySQL a zabezpečili je, budeme potřebovat aktuální
heslo pro uživatele root. Pokud jste právě nainstalovali MySQL a
ještě nenastavili heslo kořenu , heslo bude prázdné,
tak měli stačí stisknout sem enter.
Enter aktuální heslo pro kořen (zadejte pro žádné): <-- ENTER
OK, úspěšně použité heslo, pokračujeme ...
Nastavení hesla root zajistí , že se nikdo nemůže přihlásit do MySQL
root uživatel bez správného oprávnění.
Nastavit heslo uživatele root? [A/N] <-- ZADEJTE
Nové heslo: <-- heslo yourrootsql
Znovu zadejte nové heslo: <-- heslo vaše rootsql
Heslo úspěšně aktualizováno!
Opětovné načítání tabulek privilegií. .
... Úspěch!
Ve výchozím nastavení má instalace MySQL anonymního uživatele, který umožňuje
přihlásit se do MySQL bez musí mít uživatelský účet vytvořené pro ně
. Toto je určeno pouze pro testování a aby instalace
byla o něco plynulejší. Měli byste je odstranit [A/N] <-- ENTER
... Úspěch!
Za normálních okolností by měl uživatel pouze povolit připojení z 'localhost'. To
zajišťuje , že někdo nemůže odhadnout heslo root ze sítě.
Zakázat vzdálené přihlášení rootu? [A/N] <-- ENTER
... Úspěch!
Ve výchozím nastavení MySQL přichází s databází nazvanou 'test', ke které má kdo
přístup. Toto je také je určeno pouze pro testování a mělo by se odstranit
před přestěhováním do produkčního prostředí.
Odstranit testovací databázi a získat do ní přístup? [A/N] <-- ENTER
- Odstranění testovací databáze...
... Úspěch!
- Odebrání oprávnění na testovací databázi...
... Úspěch !
Opětovné načtení tabulek privilegií zajistí , že všechny dosud provedené změny se okamžitě projeví.
Znovu načíst tabulky privilegií hned? [A/N] <-- ENTER
... Úspěch!
Úklid ...
Vše hotovo! Pokud jste dokončili všechny výše uvedené kroky, vaše mySQL
instalace by nyní měla být zabezpečena.
Děkujeme za používání MySQL!
[příklad @unixlinux.online ~]#
12 Postfix s SMTP-AUTH a TLS
Nyní nainstalujeme Postfix a Dovecot (Dovecot bude náš POP3/IMAP server):
yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot
Nyní nakonfigurujeme SMTP-AUTH a TLS:
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 'inet_interfaces /0.0.0:2 :1]/128'
Musíme upravit /usr/lib64/sasl2/smtpd.conf tak, aby Postfix umožňoval PLAIN a LOGIN přihlášení (na 32bitových systémech je tento soubor v /usr/lib/sasl2/smtpd.conf). Mělo by to vypadat takto:
vi /usr/lib64/sasl2/smtpd.conf
pwcheck_method:saslauthdmech_list:prosté přihlášení |
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:
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'
Poté nastavíme název hostitele v naší instalaci Postfixu (ujistěte se, že jste nahradili server1.example.com svým vlastním názvem hostitele):
postconf -e 'myhostname =server1.example.com'
Po těchto konfiguračních krocích byste nyní měli mít /etc/postfix/main.cf, který vypadá takto (odstranil jsem z něj všechny komentáře):
cat /etc/postfix/main.cf
queue_directory =/var/spool/postfixcommand_directory =/usr/sbindaemon_directory =/usr/libexec/postfixdata_directory =/var/lib/postfixmail_owner =postfixinet_interfaces =allinet_protocols =allmydestination =$myhostname, localhost.$mydomain, localhostunknown_local_recipient_reject_code =550alias_maps =hash:/etc/aliasesalias_database =hash:/etc/aliasesdebug_peer_level =2debugger_command =/PATH:/binusr:/usr=/binrus:/ /X11R6/bin ddd $daemon_directory/$process_name $process_id &sleep 5sendmail_path =/usr/sbin/sendmail.postfixnewaliases_path =/usr/bin/newaliases.postfixmailq_path =/usr/bin/mailq.postdirectorysetropusr_group =postd =html share/mansample_directory =/usr/share/doc/postfix-2.8.3/samplesreadme_directory =/usr/share/doc/postfix-2.8.3/README_FILESsmtpd_sasl_brocal_domain =smtpd_sasl_auth_enable =smopd_sasl_auth_enable =smopd_sasl_auth_enable =smopsecurity_yesm d_sasl_authenticated_header =yessmtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationmynetworks =127.0.0.0/8 [::1]/128smtpd_tls_auth_only =nosmtp_use_tls =yessmtpd_use_tls =yessmtp_tls_note_starttls_offer =yessmtpd_tls_key_file =/etc/postfix/ssl/smtpd.keysmtpd_tls_cert_file =/etc/postfix/ssl/smtpd .crtsmtpd_tls_CAfile =/etc/postfix/ssl/cacert.pemsmtpd_tls_loglevel =1smtpd_tls_received_header =yessmtpd_tls_session_cache_timeout =3600stls_comname server:/random_de>my |
Nyní spusťte Postfix a saslauthd:
chkconfig sendmail off
chkconfig --levels 235 postfix on
chkconfig --levels 235 saslauthd on
chkconfig --levels 235 dovecot on
/etc/init.d/sendmail stop
/etc/init.d/postfix start
/etc/init.d/saslauthd start
Než spustíme Dovecot, musíme povolit ověřování pomocí prostého textu. Otevřete /etc/dovecot/conf.d/10-auth.conf...
vi /etc/dovecot/conf.d/10-auth.conf
... a přidejte řádek disable_plaintext_auth =no:
[...]# Zakázat příkaz LOGIN a všechna ostatní autentizace v prostém textu, pokud není použito # SSL/TLS (funkce LOGINDISABLED). Všimněte si, že pokud vzdálená IP# odpovídá místní IP (tj. připojujete se ze stejného počítače), je připojení# považováno za bezpečné a je povolena autentizace pomocí prostého textu.#disable_plaintext_auth =yesdisable_plaintext_auth =no[...] |
Poté spusťte Dovecot:
/etc/init.d/dovecot 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 AUT
vše je v pořádku.
[[email protected] ssl]# telnet localhost 25
Pokouším se o ::1...
Připojeno k localhost.
Escape znak je '^]'.
220 server1. example.com ESMTP Postfix
<-- ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLÁN PŘIHLÁŠENÍ
250-AUTH=PŘIHLÁŠENÍ PLAIN
250-ENHANCED STATUSCODES
250-8BITMIME
250 DSN
<-- quit
221 2.0.0 Nashledanou
Spojení uzavřeno zahraničním hostitelem.
[[email protected] ssl]#
Zadejte
ukončit
pro návrat do shellu systému.
12.1 Maildir
Dovecot používá formát Maildir (ne mbox), takže pokud na server nainstalujete ISPConfig, ujistěte se, že jste povolili Maildir v části Správa -> Server -> Nastavení -> E-mail. ISPConfig poté provede potřebnou konfiguraci.
Pokud nechcete instalovat ISPConfig, musíte nakonfigurovat Postfix tak, aby doručoval e-maily do poštovního adresáře uživatele (můžete to také udělat, pokud používáte ISPConfig - nebolí to;-)):
postconf -e 'home_mailbox =Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart
Dokonalý server – Fedora 15 x86_64 [ISPConfig 2] – strana 5
13 Apache2 s PHP, Ruby, Python, WebDAV
Nyní nainstalujeme Apache s PHP5 (toto je PHP 5.3.6):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php- mcrypt php-mssql php-shout php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel
Poté upravte /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.conf
a změňte DirectoryIndex na
[...]DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl[... ] |
Nyní nakonfigurujte svůj systém tak, aby spouštěl Apache při spouštění:
chkconfig --levels 235 httpd na
Spusťte Apache:
/etc/init.d/httpd start
13.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 PHP skripty, bez ohledu na to, co zadáte v ISPConfig.
Abychom PHP globálně zakázali, upravíme /etc/httpd/conf.d/php.conf a zakomentujeme řádky AddHandler a AddType:
vi /etc/httpd/conf.d/php.conf
## PHP je skriptovací jazyk vestavěný do HTML, který se snaží vývojářům usnadnit psaní dynamicky generovaných webových stránek.# |
Poté restartujeme Apache:
/etc/init.d/httpd restart
13.2 Ruby
Počínaje verzí 2.2.20 má ISPConfig vestavěnou podporu pro Ruby. Místo použití CGI/FastCGI závisí ISPConfig na dostupnosti mod_ruby na serveru Apache.
Pro Fedoru 15 není k dispozici žádný balíček mod_ruby, takže jej musíme zkompilovat sami. Nejprve nainstalujeme některé předpoklady:
yum nainstalovat httpd-devel ruby ruby-devel
Dále stáhneme a nainstalujeme mod_ruby následovně:
cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3 .0/
./configure.rb --with-apr-includes=/usr/include/apr-1
provést
provést instalaci
Nakonec musíme přidat modul mod_ruby do konfigurace Apache, takže vytvoříme soubor /etc/httpd/conf.d/ruby.conf...
vi /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.soRubyAddPath /1.8 |
... a restartujte Apache:
/etc/init.d/httpd restart
(Pokud vynecháte direktivu RubyAddPath /1.8, uvidíte v protokolu chyb Apache při volání souborů Ruby chyby podobné těm následujícím:
[Thu May 26 02:05:05 2011] [error] mod_ruby:ruby:0:in `require':no takový soubor k načtení -- apache/ruby-run (LoadError)
[Čt 26. května 02:05:05 2011] [chyba] mod_ruby:nepodařilo se vyžadovat apache/ruby-run
[Čt 26. května 02:05:05 2011] [chyba] mod_ruby:chyba v ruby
)
Další podrobnosti o mod_ruby najdete v tomto článku.
13.3 Instalace mod_python
Chcete-li nainstalovat mod_python, jednoduše spustíme...
yum install mod_python
... a poté restartujte Apache:
/etc/init.d/httpd restart
13.4 WebDAV
WebDAV by již měl být povolen, ale pro kontrolu otevřete /etc/httpd/conf/httpd.conf a ujistěte se, že jsou aktivní následující tři moduly:
vi /etc/httpd/conf/httpd.conf
[...]LoadModule auth_digest_module modules/mod_auth_digest.so[...]LoadModule dav_module modules/mod_dav.so[...]LoadModule dav_fs_module modules/mod_dav_fs.so[...] |
Pokud musíte upravit /etc/httpd/conf/httpd.conf, nezapomeňte poté restartovat Apache:
/etc/init.d/httpd restart
14 ProFTPd
ISPConfig má lepší podporu pro proftpd než vsftpd, takže odeberte vsftpd a nainstalujme proftpd:
yum remove vsftpd
yum install proftpd
Nyní můžeme vytvořit spouštěcí odkazy systému pro Proftpd a spustit jej:
chkconfig --levels 235 proftpd na
/etc/init.d/proftpd start
15 Webalizer
Chcete-li nainstalovat webalizer, stačí spustit
yum install webalizer
16 Synchronizace systémových hodin
Pokud chcete synchronizovat systémové hodiny se serverem NTP, proveďte následující:
yum install ntp
chkconfig --levels 235 ntpd na
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start
17 Instalace některých modulů Perl
ISPConfig přichází se SpamAssassinem, který ke své práci potřebuje několik modulů Perl. Požadované moduly Perl nainstalujeme jediným příkazem:
yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall perl-NetAddr-IP perl-Archive-Tar
18 ISPConfig
The configuration of the server is now finished. You can now install ISPConfig on it, following these instructions: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 673:
vim /usr/include/stdio.h
[...]/* Like `getdelim', but reads up to a newline. 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:653:note:previous declaration of âgetlineâ was here
make[2]:*** [htpasswd.o] Error 1
make[2]:Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]:*** [build-support] Error 1
make[1]:Leaving directory `/home/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!).
18.1 A Note On SuExec
If you want to run CGI scripts under suExec, you should specify /var/www as the web root for websites created by ISPConfig as Fedora's suExec is compiled with /var/www as Doc_Root. Run
/usr/sbin/suexec -V
and the output should look like this:
[[email protected] ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-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).
19 Links
- Fedora:http://fedoraproject.org/
- Network Device Naming:http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming
- ISPConfig:http://www.ispconfig.org/