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

The Perfect Server – CentOS 5.7 x86_64 [ISPConfig 2]

Dokonalý server – CentOS 5.7 x86_64 [ISPConfig 2]

Tento tutoriál ukazuje, jak nastavit CentOS 5.7 server (x86_64), který nabízí všechny služby potřebné pro ISP a webhostery:webový server Apache (s podporou SSL), poštovní server Postfix s SMTP-AUTH a TLS, BIND DNS server, Proftpd FTP server, MySQL server, Dovecot POP3/IMAP, Kvóta, Firewall atd. Tento tutoriál je napsán pro 64bitovou verzi CentOS 5.7, 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 2 (tj. ISPConfig na něm běží hned po vybalení).

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

  • Webový server:Apache 2.2 s PHP 5.1.6
  • Databázový server:MySQL 5.0
  • Poštovní server:Postfix
  • Server DNS:BIND9 (chrootovaný)
  • FTP Server:Proftpd
  • 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 dvě CentOS 5.7 DVD nebo osm CentOS 5.7 CD ze zrcadla vedle vás (seznam zrcadel lze nalézt zde:http://isoredirect.centos.org/centos/5/isos/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 v případě potřeby musíte nahradit.

3 Instalace základního systému

Spusťte z vašeho prvního CentOS 5.7 CD (CD 1) nebo prvního CentOS 5.7 DVD. Stiskněte na výzvu ke spuštění:

Testování instalačního média může trvat dlouho, takže tento test zde přeskočíme:

Zobrazí se uvítací obrazovka instalačního programu CentOS. Klikněte na Další:

Dále vyberte jazyk:

Vyberte rozložení klávesnice:

Instaluji CentOS 5.7 na nový systém, takže na otázku Přejete si inicializovat tento disk a vymazat VŠECHNA DATA?

Nyní musíme vybrat schéma rozdělení pro naši instalaci. Pro jednoduchost vyberu Odstranit linuxové oddíly na vybraných discích a vytvořím výchozí rozložení. Výsledkem bude malý /boot a velký / a také odkládací oddíl. Pevný disk si samozřejmě můžete rozdělit, jak chcete. Poté jsem klikl na Další:

Na následující otázku (Opravdu to chcete udělat?) odpovězte Ano:

Přejděte do nastavení sítě. Výchozí nastavení je konfigurace síťových rozhraní pomocí DHCP, ale instalujeme server, takže statické IP adresy nejsou špatný nápad... Klikněte na tlačítko Upravit vpravo nahoře.

V okně, které se objeví, zrušte zaškrtnutí políčka Dynamic IP configuration (DHCP) a Enable IPv6 support a přidělte vaší síťové kartě statickou IP adresu (v tomto návodu používám IP adresu 192.168.0.100 pro demonstrační účely) a vhodnou síťovou masku (např. 255.255.255.0; pokud si nejste jisti správnými hodnotami, může vám pomoci http://www.subnetmask.info):

Nastavte název hostitele ručně, např. server1.example.com a zadejte bránu (např. 192.168.0.1) a až dva servery DNS (např. 8.8.8.8 a 145.253.2.75):

Vyberte své časové pásmo:

Dejte rootovi heslo:

Dokonalý server – CentOS 5.7 x86_64 [ISPConfig 2] – Strana 2

4 Upravte /etc/hosts

Dále upravíme /etc/hosts. Ať to vypadá takto:

vi /etc/hosts
# Neodstraňujte následující řádek, jinak selžou různé programy#, které vyžadují síťové funkce.127.0.0.1 localhost.localdomain localhost192.168.0.100 server1 .example.com server1::1 localhost6.localdomain6 localhost6

5 Konfigurace dalších IP adres

(Tato část je zcela volitelná. Pouze ukazuje, jak přidat další IP adresy do vašeho síťového rozhraní eth0, pokud potřebujete více než jednu IP adresu. Pokud vám vyhovuje jedna IP adresa, můžete tuto část přeskočit.)

Předpokládejme, že naše síťové rozhraní je eth0. Dále je zde soubor /etc/sysconfig/network-scripts/ifcfg-eth0, který obsahuje nastavení pro eth0. Můžeme to použít jako příklad pro naše nové rozhraní virtuální sítě eth0:0:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0

Nyní chceme použít IP adresu 192.168.0.101 na virtuálním rozhraní eth0:0. Proto otevřeme soubor /etc/sysconfig/network-scripts/ifcfg-eth0:0 a upravíme jej následovně (řádek HWADDR můžeme vynechat, protože se jedná o stejnou fyzickou síťovou kartu):

vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
# Řadič Intel Corporation 82545EM Gigabit Ethernet (měď)DEVICE=eth0:0BOOTPROTO=staticBROADCAST=192.168.0.255IPADDR=192.168.0.101NETMASK=2555255 NETWORK=192.168.0.0ONBOOT=ano

Poté musíme restartovat síť:

/etc/init.d/network restart

Po přidání nových IP adres můžete také upravit /etc/hosts, i když to není nutné.

Nyní spusťte

ifconfig

Nyní byste měli ve výstupu vidět svou novou IP adresu:

[[email protected] ~]# ifconfig
eth0      Odkaz encap:Ethernet  HWaddr 00:0C:29:89:71:35
          inet addr:292.168.0.5150.5 Ma. 255,0
          PŘECHÁZENÍ VYSÍLÁNÍ MULTICAST  MTU:1500  Metrika:1
          RX pakety:307 chyby:0 zahozené:0 přetečení:0 přetečení snímek 5    TX přetečení       chyba TX :2 :0 carrier:0
          kolize:0 txqueuelen:1000
          RX bajtů:29217 (28,5 KiB) net TX bajtů:45961 (44,8 / br 0B 0B) (44,8 / br KiB 0 HWaddr 00:0C:29:89:71:35
          inet addr:192.168.0.101  Bcast:192.168.0.255  Maska:TUM C 255.255.255.0 
 255.0 
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Maska:255.0.0.0
      RX   ets: 8 chyba LOOPBACK :6 UP LOOPBACK s:4 0 6 RUNNING :0 přetečení:0 snímek:0
          TX pakety:8 chyby:0 zahozené:0 překročení:0 přenašeč:0
          kolize:0 txqueuelen:0
          RX bajtů:560 (560,0 b)  TX bajtů:560 (560,0 b)

[example@unixlinux.

6 Zakázat bránu firewall a SELinux

(Tuto kapitolu můžete přeskočit, pokud jste již deaktivovali firewall a SELinux na konci základní instalace systému (v Setup Agent).)

Chci nainstalovat ISPConfig na konci tohoto tutoriálu, který je dodáván s vlastním firewallem. Proto nyní deaktivuji výchozí firewall CentOS. 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 CentOS).

SELinux je bezpečnostní rozšíření CentOS, 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 také zakázal (to je nutnost, pokud chcete ISPConfig nainstalovat později).

Spustit

system-config-securitylevel

Nastavte Úroveň zabezpečení i SELinux na Vypnuto a stiskněte OK:

Poté musíme restartovat systém:

restartovat

7 Instalace softwaru

Nejprve importujte klíče GPG pro softwarové balíčky:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Poté 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 gcc gcc-c++

8 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,usrquota,grpquota do oddílu / (/dev/VolGroup00/LogVol00):

vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults,usrquota,grpquota 1 1LABEL=/boot /boot ext3 defaults 1 2tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys výchozí nastavení sysfs 0 0proc /proc výchozí nastavení 0 0/dev/VolGroup00/LogVol01 výchozí nastavení swapu 0 0

Potom spusťte

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

pro povolení kvóty.

9 Instalace Chrooted DNS Server (BIND9)

Chcete-li nainstalovat chrootovaný BIND9, provedeme toto:

yum install bind-chroot

Pak proveďte toto:

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
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.local /var/named/ chroot/var/named/named.local
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
dotkněte se /var/named/chroot/etc/named.conf
chkconfig --levels 235 pojmenované na
/etc/init.d/named start

BIND poběží v chrootovém vězení pod /var/named/chroot/var/named/. Pro konfiguraci BIND (zóny atd.) použiji ISPConfig.

Dokonalý server – CentOS 5.7 x86_64 [ISPConfig 2] – Strana 4

10 MySQL (5.0)

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ěl by ukazovat řádek jako tento:

[[email protected] ~]# netstat -tap | grep mysql
tcp         0       0 *:mysql                      *:*                                                                                                 řádek 3 PŘEHLÉDNUTÍ

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 

Nastavte hesla pro kořenový účet MySQL:

mysql_secure_installation

[[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é):
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 náležité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 ~]#

11 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

Dále 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_rozhraní /00 ='2my /0con1 ='2 mynetworks. /P>

Musíme upravit /usr/lib64/sasl2/smtpd.conf tak, aby Postfix umožňoval PLAIN a LOGIN přihlášení. Na 32Bit Centos 5.7 musíte místo toho upravit soubor /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/postfixmail_owner =postfixinet_interfaces =allmydestination =$myhostname, localhost.$ mojedomena, localhostunknown_local_recipient_reject_code =550alias_maps =hash:/etc/aliasesalias_database =hash:/etc/aliasesdebug_peer_level =2debugger_command =PATH=/bin:/usr/bin:/direct_dbusg/$X1binx $X1bin:on process_name $process_id &sleep 5sendmail_path =/usr/sbin/sendmail.postfixnewaliases_path =/usr/bin/newaliases.postfixmailq_path =/usr/bin/mailq.postfixsetgid_group =postdrophtml_directory =nomanpage_directory =/usr/share/mansshare dre/postfix-2.3.3/samplesreadme_directory =/usr/share/doc/postfix-2.3.3/README_FILESsmtpd_sasl_local_domain =smtpd_sasl_auth_enable =yessmtpd_sasl_security_options =anosmtpd_sasl_security_options =anosmtpd_sasl_security_options =anoth_security_options strictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationmynetworks =127.0.0.0/8smtpd_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_random_source =dev:/dev/urandommyhostname =server1.example.com

Ve výchozím nastavení poskytuje démon Dovecot CentOS pouze služby IMAP a IMAPs. Protože chceme také POP3 a POP3, musíme nakonfigurovat Dovecot, aby tak činil. Upravili jsme /etc/dovecot.conf a povolili linkové protokoly =imap imaps pop3 pop3s:

vi /etc/dovecot.conf
[...]# protokoly, které chceme poskytovat:imap imaps pop3 pop3s# Pokud chcete používat pouze dovecot-auth, můžete nastavit toto na "none".protocols =imap imaps pop3 pop3s[...]

Nyní spusťte Postfix, saslauthd a Dovecot:

chkconfig --levels 235 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
/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
Zkouším 127.0.0.1...
Připojeno k localhost.localdomain (127.0.0.1).
Escape znak je '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-VELIKOST 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
ukončit
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.

11.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 – CentOS 5.7 x86_64 [ISPConfig 2] – strana 5

12 Apache2 s PHP, Ruby, Python, WebDAV

Nyní nainstalujeme Apache s PHP (toto je PHP 5.1.6):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc 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

12.1 Globálně deaktivovat 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.

Chcete-li PHP deaktivovat globálně, upravte /etc/httpd/conf.d/php.conf a zakomentujte řá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.# LoadModule php5_module modules/libphp5.so # Použití sestavení "ZTS" s workerem je experimentální a žádné sdílené # moduly nejsou podporovány. LoadModule php5_module modules/libphp5-zts.so## Způsobí, že interpret PHP zpracuje soubory s příponou .php.##AddHandler php5-script .php#AddType text/html .php## Přidat index.php do seznam souborů, které budou obsluhovány jako adresář# indexy.#DirectoryIndex index.php## Odkomentujte následující řádek, abyste umožnili PHP pěkně tisknout soubory .phps# jako zdrojový kód PHP:##AddType application/x-httpd-php -zdroj .phps

Poté restartujeme Apache:

/etc/init.d/httpd restart

12.2 Instalace mod_ruby

Pro CentOS 5.7 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.so

... a restartujte Apache:

/etc/init.d/httpd restart

12.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

12.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

13 ProFTPd

ISPConfig má lepší podporu pro proftpd než vsftpd, takže odeberme vsftpd:

yum remove vsftpd

Protože CentOS nemá žádný balíček proftpd, musíme Proftpd zkompilovat ručně:

cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3e.tar.gz
tar xvfz proftpd-1.3.3e.tar .gz
cd proftpd-1.3.3e/
./configure --sysconfdir=/etc
make
make install
cd ..
rm - fr profpd-1.3.3e*

Binární soubor proftpd se nainstaluje do /usr/local/sbin, ale potřebujeme ho do /usr/sbin, takže vytvoříme symbolický odkaz:

ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd

Nyní vytvořte init skript /etc/init.d/proftpd:

vi /etc/init.d/proftpd
#!/bin/sh# ID $:proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $## proftpd Tento shell skript se stará o spouštění a zastavování# proftpd.## chkconfig:- 80 30# popis:ProFTPD je vylepšený FTP server se zaměřením na \# jednoduchost, bezpečnost a snadnou konfiguraci. \# Obsahuje konfigurační syntaxi velmi podobnou Apache, \# a vysoce přizpůsobitelnou serverovou infrastrukturu, \# včetně podpory více „virtuálních“ FTP serverů, \# anonymní FTP a viditelnost adresářů na základě oprávnění.# název procesu:proftpd# config:/etc/proftp.conf# pidfile:/var/run/proftpd.pid# Knihovna zdrojových funkcí.. /etc/rc.d/init.d/functions# Konfigurace zdrojové sítě.. /etc/sysconfig/network# Zkontrolujte, zda je síť zapnutá.[ ${NETWORKING} ="no" ] &&exit 0[ -x /usr/sbin/proftpd ] || exit 0RETVAL=0prog="proftpd"start() { echo -n $"Spouštění $prog:" démon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] &&touch /var/lock/subsys/proftpd}stop() { echo -n $"Vypínání $prog:" killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] &&rm -f /var/lock/subsys/proftpd}# Podívejte se, jak jsme byli voláni.case "$1" na začátku) start;; stop) stop;; status) status proftpd RETVAL=$?;; restart) stop start;; condrestart) if [ -f /var/lock/subsys/proftpd ]; pak stop start fi;; reload) echo -n $"Opětovné čtení konfigurace $prog:" killproc proftpd -HUP RETVAL=$? echo; *) echo "Použití:$prog {start|stop|restart|reload|condrestart|status}" exit 1esacexit $RETVAL

Poté vytvoříme spustitelný init skript:

chmod 755 /etc/init.d/proftpd

Dále otevřeme /etc/proftpd.conf a změníme skupinu na nikoho:

vi /etc/proftpd.conf
[...]Nikdo ve skupině[...]

Z bezpečnostních důvodů můžete také přidat následující řádky do /etc/proftpd.conf (díky Reinaldo Carvalho; více informací naleznete zde:http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd.conf
[...]Výchozí kořenový adresář ~IdentLookups offServerIdent na "FTP Server připraven."[...]

Chcete-li se ujistit, že uživatelé FTP mohou používat příkaz chmod, zakomentujte sekci :

[...]# výchozí použití SITE CHMOD na liště## DenyAll#[...] 

Nyní můžeme vytvořit odkazy pro spuštění systému pro Proftpd:

chkconfig --levels 235 proftpd zapnuto

A nakonec spustíme Proftpd:

/etc/init.d/proftpd start

14 Webalizer

Chcete-li nainstalovat webalizer, stačí spustit

yum install webalizer

15 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

16 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-Archive-Tar perl-NetAddr-IP

17 Konec

Konfigurace serveru je nyní dokončena a pokud si přejete, můžete na něj nyní nainstalovat ISPConfig 2.

17.1 Poznámka k SuExec

Pokud chcete spouštět CGI skripty pod suExec, měli byste zadat /var/www jako domovský adresář pro weby vytvořené ISPConfig, protože suExec CentOS je zkompilován s /var/www jako Doc_Root. Spustit

/usr/sbin/suexec -V

a výstup by měl vypadat takto:

[[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] ~]#

Pokud tedy chcete používat suExec s ISPconfig, neměňte výchozí webový kořen (což je /var/www), pokud během instalace ISPConfig používáte expertní režim (ve standardním režimu stejně nemůžete webový kořen změnit, takže 'bude moci používat suExec v každém případě).

  • CentOS:http://www.centos.org/
  • ISPConfig 2:http://www.ispconfig.org/ispconfig-2/

Panels
  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]

  1. The Perfect Server – OpenSUSE 12.1 x86_64 s Apache2 [ISPConfig 3]

  2. The Perfect Server – CentOS 5.7 x86_64 [ISPConfig 3]

  3. The Perfect Server – CentOS 6.0 x86_64 [ISPConfig 2]