GNU/Linux >> Znalost Linux >  >> Debian

The Perfect Server – Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)

Tento tutoriál ukazuje, jak připravit server Debian Jessie (s Apache2, BIND, Dovecot) pro instalaci ISPConfig 3 a jak nainstalovat ISPConfig 3. Ovládací panel webhostingu ISPConfig 3 vám umožňuje konfigurovat následující služby prostřednictvím webového prohlížeče:Webový server Apache nebo nginx, poštovní server Postfix, server IMAP/POP3 Courier nebo Dovecot, jmenný server MySQL, BIND nebo MyDNS, PureFTPd, SpamAssassin, ClamAV a mnoho dalších. Toto nastavení pokrývá Apache (místo nginx), BIND (místo MyDNS) a Dovecot (místo Courier).

1 předběžná poznámka

V tomto tutoriálu budu používat název hostitele server1.example.com s IP adresou 192.168.1.100 a bránou 192.168.1.1. Tato nastavení se pro vás mohou lišit, takže je musíte v případě potřeby nahradit. Než budete pokračovat dále, musíte mít minimální instalaci Debianu 8. Může se jednat o minimální bitovou kopii Debianu od vašeho poskytovatele hostingu nebo můžete k nastavení základního systému použít tutorial Minimal Debian Server.

2 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 Debian Jessie a postupujte podle zbývajících kroků z tohoto návodu.

3 Instalace textového editoru prostředí (volitelné)

Použijeme nano textový editor v tomto tutoriálu. Někteří uživatelé preferují klasický editor vi, proto zde nainstalujeme oba editory. Výchozí program vi se na Debianu a Ubuntu chová podivně; abychom to napravili, nainstalujeme vim-nox:

apt-get install nano vim-nox

Pokud je vi váš oblíbený editor, nahraďte nano vi v následujících příkazech pro úpravu souborů.

4 Konfigurace názvu hostitele

Název hostitele vašeho serveru by měla být subdoména jako „server1.example.com“. Nepoužívejte název domény bez části subdomény, jako je „example.com“, jako název hostitele, protože by to později způsobilo problémy s nastavením pošty. Nejprve byste měli zkontrolovat název hostitele v /etc/hosts a v případě potřeby jej změnit. Řádek by měl být:"IP adresa - mezera - celé jméno hostitele včetně domény - mezera - část subdomény". Pro náš název hostitele server1.example.com bude soubor vypadat takto:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.1.100 server1.example.com server1# Následující řádky jsou vhodné pro hostitele s podporou IPv6::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 -allrouters

Poté upravte soubor /etc/hostname:

nano /etc/hostname

Bude obsahovat pouze část subdomény, v našem případě:

server1

Nakonec restartujte server, aby se změna uplatnila:

restartovat

Znovu se přihlaste a pomocí těchto příkazů zkontrolujte, zda je název hostitele správný:

název hostitele
název hostitele -f

Výstup by měl být takto:

[e-mail chráněný]:/tmp# název hostitele
server1
[chráněný e-mailem]:/tmp# název hostitele -f
server1.example.com

5 Aktualizujte svou instalaci Debianu

Nejprve se ujistěte, že váš /etc/apt/sources.list obsahuje repozitář jessie/updates (to zajistí, že vždy dostanete nejnovější aktualizace zabezpečení), a že jsou povolena úložiště contrib a non-free (některé balíčky jako libapache2- mod-fastcgi nejsou v hlavním úložišti).

nano /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 8.0.0 _Jessie_ - Oficiální amd64 NETINST Binary-1 20150425-12:50]/ jessie main

deb http://ftp.us.debian .org/debian/ jessie main contrib nesvobodný
deb-src http://ftp.us.debian.org/debian/ jessie main contrib nesvobodný

deb http:/ /security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

Spustit:

aktualizace apt-get

Aktualizace databáze balíčků apt

upgrade apt-get

a nainstalovat nejnovější aktualizace (pokud nějaké existují).

6 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ří.

7 Synchronizace systémových hodin

Je vhodné synchronizovat systémové hodiny s NTP (n síť t ime p rotocol) server přes internet. Jednoduše spusťte

apt-get install ntp ntpdate

a váš systémový čas bude vždy synchronizován.

8 Instalace Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Můžeme nainstalovat Postfix, Dovecot, MySQL, rkhunter a binutils jediným příkazem:

apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo

Pokud dáváte přednost MySQL před MariaDB, nahraďte balíčky "mariadb-client mariadb-server" ve výše uvedeném příkazu za "mysql-client mysql-server".

Budou vám položeny následující otázky:

Obecný typ konfigurace pošty:<-- Internet Site
Jméno systémové pošty:<-- server1.example.com
Nové heslo pro uživatele MariaDB "root":<-- yourrootsqlpassword
Opakujte heslo pro uživatele „root“ MariaDB: <-- yourrootsqlpassword

Dále otevřete TLS/SSL a porty pro odesílání v Postfixu:

nano /etc/postfix/master.cf

Odkomentujte sekce pro odeslání a smtps následovně a přidejte řádky tam, kde je to nutné, aby tato sekce souboru master.cf vypadala přesně jako ta níže.

[...]submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
- o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$restrictions=$mrestrictions
# -o smtpdionsbr/mu$s br /># -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=PŮVODNÍ
smtps inet n - - - - sys -log - smt_p postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=o smtpd_client_restrictions=tremit_sasl_authenticated,reject
#no_rebr_d =$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_r estrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated, odmítnout
# -o milter_macro_daemon_name=ORIGINAČNÍ[...]

Poté restartujte Postfix:

restart služby postfix

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

nano /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:

restart služby mysql

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

netstat -tap | grep mysql

Výstup by měl vypadat takto:

[e-mail chráněný]:/tmp# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 27371/mysqld

9 Nainstalovat Amavisd-new, SpamAssassin And Clamav

Chcete-li nainstalovat amavisd-new, SpamAssassin a ClamAV, spustíme

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo rozbalit bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs démon libio-libio-string-sperl perl libnet-ident-perl zip libnet-dns-perl

Nastavení ISPConfig 3 používá amavisd, který interně načítá knihovnu filtrů SpamAssassin, takže můžeme zastavit SpamAssassin, abychom uvolnili RAM:

service spamassassin stop
systemctl deaktivovat spamassassin

10 Instalace Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear a mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear a mcrypt lze nainstalovat následovně:

apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql phpmycli-php5php php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby libapache2-mod-python php5-curl php5-intl php5-memcache phpre5-phped5-spelm -sqlite php5-tidy php5-xmlrpc php5-xsl memcached libapache2-mod-passenger

Uvidíte následující otázky:

Automaticky překonfigurovat webový server: <- apache2
Nakonfigurovat databázi pro phpmyadmin pomocí dbconfig-common? <- yes
Zadejte heslo administrátora? <- yourrootmysqlpassword
Zadejte heslo aplikace phpmyadmin? <-  Stačí stisknout enter

Poté spusťte následující příkaz pro povolení modulů Apache suexec, rewrite, ssl, actions a include (plus dav, dav_fs a auth_digest, pokud chcete používat WebDAV):

Akce a2enmod suexec přepis SSL zahrnují dav_fs dav auth_digest cgi

a povolte moduly spuštěním:

restart služby apache2

AKTUALIZOVANÁ POZNÁMKA:SuPHP by se již neměl instalovat, pokračujte krokem 11

SuPHP již není k dispozici pro Debian Jessie. Režim suphp by se již v ISPConfig neměl používat, protože jsou k dispozici lepší režimy PHP jako php-fpm a php-fcgi. Pokud opravdu potřebujete suphp z důvodu starší verze, postupujte podle kroků v této kapitole a zkompilujte jej ručně:

apt-get install apache2-dev build-essential autoconf automake libtool flex bison debhelper binutils
cd /usr/local/src
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz
wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch
patch -Np1 -d suphp-0.7.2 cd suphp-0.7.2
autoreconf -if
./configure --prefix=/usr/ --sysconfdir=/etc/suphp/ --with-apr=/usr/bin /apr-1-config --with-apache-user=www-data --with-setid-mode=owner --with-logfile=/var/log/suphp/suphp.log
make
provést instalaci

Vytvořte konfigurační adresář suphp a soubor suphp.conf:

mkdir /var/log/suphp
mkdir /etc/suphp
nano /etc/suphp/suphp.conf
[global]
;Cesta k logfile
logfile=/var/log/suphp/suphp.log

;Loglevel
loglevel=info

;Uživatel Apache běží jako
webserver_user=www-data

;Cesta všech skriptů musí být v
docroot=/var/www

;Cesta k chroot() před provedením skriptu
;chroot=/mychroot

; Možnosti zabezpečení
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

;Zkontrolujte, zda je skript v DOCUMENT_ROOT_vhost
check =true

;Posílat menší chybové zprávy do prohlížeče
errors_to_browser=false

;Proměnná prostředí PATH
env_path=/bin:/usr/bin

;Umask pro nastavení, specifikujte v osmičkovém zápisu
umask=0022

; Minimální UID
min_uid=100

; Minimální GID
min_gid=100


[obslužné nástroje]
;Obslužný nástroj pro skripty php
x-httpd-suphp="php:/usr/ bin/php-cgi"

;Obslužný program pro skripty CGI
x-suphp-cgi=execute:!self
umask=0022

Dále přidáme konfigurační soubor pro načtení modulu suphp v Apache:

echo "LoadModule suphp_module /usr/lib/apache2/modules/mod_suphp.so"> /etc/apache2/mods-available/suphp.load

A pak otevřete /etc/apache2/mods-available/suphp.conf...

nano /etc/apache2/mods-available/suphp.conf

... a přidejte následující obsah:

 AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp  suPHP_Engine on  # Ve výchozím nastavení zakázat suPHP pro webové aplikace zabalené v debianu, protože soubory # jsou ve vlastnictví uživatele root a suPHP je nemůže spustit kvůli min_uid.  suPHP_Engine off # # # Použít konkrétní konfigurační soubor php (adresář, který obsahuje soubor php.ini)# suPHP_ConfigPath /etc/php5/cgi/suphp/# ​​# Řekne mod_suphp, že se nemá zpracovávat požadavky s typem .# suPHP_RemoveHandler 

Povolte modul suphp v Apache:

a2enmod suphp

Poté restartujte Apache:

restart služby apache2

12 XCache a PHP-FPM

XCache je bezplatný a otevřený PHP opcode cacher pro ukládání do mezipaměti a optimalizaci PHP přechodného kódu. Je to podobné jako u jiných PHP cacherů operačních kódů, jako je eAccelerator a APC. Důrazně se doporučuje mít jeden z nich nainstalovaný, aby se urychlila vaše stránka PHP.

XCache lze nainstalovat následovně:

apt-get install php5-xcache

Nyní restartujte Apache:

restart služby apache2

12.2 PHP-FPM

Počínaje ISPConfig 3.0.5 existuje další režim PHP, který si můžete vybrat pro použití s ​​Apache:PHP-FPM.

Pro použití PHP-FPM s Apache potřebujeme modul mod_fastcgi Apache (nepleťte si to prosím s mod_fcgid - jsou velmi podobné, ale nemůžete použít PHP-FPM s mod_fcgid). PHP-FPM a mod_fastcgi můžeme nainstalovat následovně:

apt-get install libapache2-mod-fastcgi php5-fpm

Ujistěte se, že modul povolíte a restartujete Apache:

a2enmod akce fastcgi alias
restart služby apache2

13 Nainstalujte Mailman

ISPConfig vám umožňuje spravovat (vytvářet/upravovat/mazat) poštovní seznamy Mailman. Pokud chcete tuto funkci využívat, nainstalujte Mailman následovně:

apt-get install mailman

Vyberte alespoň jeden jazyk, např.:

Podporované jazyky: <-- en (angličtina)
Seznam chybějících webů <-- OK

Než budeme moci spustit Mailman, musí být vytvořen první mailing list s názvem mailman:

newlist mailman
[email protected]:~# newlist mailman
Zadejte e-mail osoby vedoucí seznam: <-- e-mailová adresa administrátora, např. [chráněno e-mailem]
Počáteční heslo poštovního doručovatele: <-- heslo správce pro seznam poštovních doručovatelů
Abyste dokončili vytváření seznamu adresátů, musíte upravit svůj /etc/aliasy (nebo
ekvivalentní) soubor přidání následujících řádků a případně spuštění programu 
`newaliases':

## poštovní seznam adresátů
mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:         "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:       "|/var/lib/mailman/mail/mailman bounces mailman“
mailman-confirm:      "|/var/lib/mailman/mail/mailman potvrdit poštáře"
mailman-join:         "|/var/lib/mailman/mail/mailman připojit se k mailmanovi"
mailman- opustit:        "|/var/lib/mailman/mail/mailman opustit doručovatele"
majitel pošty:         "|/var/lib/mailman/mail/majitel pošty poštář"
požadavek poštovního doručovatele:      "| /var/lib/mailman/mail/mailman požadavek mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman přihlásit se k odběru mailman"
mailman-unsu bscribe:  "|/var/lib/mailman/mail/mailman odhlásit poštář"

Stisknutím tlačítka Enter upozorněte vlastníka pošty... <-- ENTER

[e-mail chráněn] :~#

Poté otevřete /etc/aliases...

vi /etc/aliases

... a přidejte následující řádky:

[...]## mailman mailing listmailman:"|/var/lib/mailman/mail/mailman post mailman"mailman-admin:"|/var/lib/mailman/mail/mailman admin mailman"mailman- bounces:"|/var/lib/mailman/mail/mailman bounces mailman"mailman-confirm:"|/var/lib/mailman/mail/mailman potvrdit mailman"mailman-join:"|/var/lib/mailman/mail /mailman join mailman"mailman-leave:"|/var/lib/mailman/mail/mailman opustit mailman"mailman-owner:"|/var/lib/mailman/mail/mailman vlastník mailman"mailman-request:"|/ var/lib/mailman/mail/mailman požadavek mailman"mailman-subscribe:"|/var/lib/mailman/mail/mailman přihlásit mailman"mailman-unsubscribe:"|/var/lib/mailman/mail/mailman unsubscribe mailman" 

Spustit

newaliases

poté a restartujte Postfix:

restart služby postfix

Nakonec musíme povolit konfiguraci Mailman Apache:

ln -s /etc/mailman/apache.conf /etc/apache2/conf-enabled/mailman.conf

Toto definuje alias /cgi-bin/mailman/ pro všechny hostitele Apache, což znamená, že máte přístup k administrátorskému rozhraní Mailman pro seznam na http://server1.example.com/cgi-bin/mailman/admin/ a webovou stránku pro uživatele konference lze nalézt na adrese http://server1.example.com/cgi-bin/mailman/listinfo/.

Pod http://server1.example.com/pipermail najdete archivy konference.

Poté restartujte Apache:

restart služby apache2

Poté spusťte démona Mailman:

spuštění služby mailman

14 Instalace PureFTPd And Quota

PureFTPd a kvótu lze nainstalovat pomocí následujícího příkazu:

apt-get install pure-ftpd-common pure-ftpd-mysql kvóta kvóty

Upravte soubor /etc/default/pure-ftpd-common...

nano /etc/default/pure-ftpd-common

... a ujistěte se, že je režim spuštění nastaven na samostatný a nastavte VIRTUALCHROOT=true:

[...]STANDALONE_OR_INETD=samostatný[...]VIRTUALCHROOT=pravda[...]

Nyní nakonfigurujeme PureFTPd tak, aby umožňoval FTP a TLS relace. FTP je velmi nezabezpečený protokol, protože všechna hesla a všechna data jsou přenášena jako prostý text. Pomocí TLS lze celou komunikaci šifrovat, čímž je FTP mnohem bezpečnější.

Pokud chcete povolit relace FTP a TLS, spusťte

echo 1> /etc/pure-ftpd/conf/TLS

Abychom mohli používat TLS, musíme vytvořit SSL certifikát. Vytvořím jej v /etc/ssl/private/, proto nejprve vytvořím tento adresář:

mkdir -p /etc/ssl/private/

Poté můžeme vygenerovat certifikát SSL následovně:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Název země (2 písmenný kód) [AU]:<-- Zadejte název své země (např. „DE“).
Název státu nebo provincie (celý název) [Some-State]:<-- Zadejte název svého státu nebo provincie.
Název lokality (např. město) []:<-- Zadejte své město.
Název organizace (např. společnost) [Internet Widgits Pty Ltd]:<-- Zadejte název vaší organizace (např. název vaší společnosti).
Název organizační jednotky (např. sekce) []:<-- Zadejte název organizační jednotky (např. „IT oddělení“).
Běžný název (např. VAŠE jméno) []:<-- Zadejte plně kvalifikovaný název domény systému (např. „server1.example.com“).
E-mailová adresa []: <-- Zadejte svou e-mailovou adresu.

Změňte oprávnění certifikátu SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Poté restartujte PureFTPd:

restart služby pure-ftpd-mysql

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):

nano /etc/fstab
# /etc/fstab:informace o statickém systému souborů.
#
# Použijte 'blkid' k vytištění univerzálně jedinečného identifikátoru zařízení
#; toto lze použít s UUID=jako robustnější způsob pojmenování zařízení
#, který funguje i po přidání a odebrání disků. Viz fstab(5).
#
#
# / bylo během instalace na /dev/sda1
UUID=3dc3b58d-97e5-497b-8254-a913fdfc5408 / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 swap was on># /vde /sda5 během instalace
UUID=36bf486e-8f76-492d-89af-5a8eb3ce8a02 žádný swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

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

mount -o remount /
quotacheck -avugm
quotaon -avug

15 Instalace serveru DNS BIND

BIND lze nainstalovat následovně:

apt-get install bind9 dnsutils

16 Instalace Vloggeru, Webalizeru a AWStats

Vlogger, Webalizer a AWStats lze nainstalovat následovně:

apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Poté otevřete /etc/cron.d/awstats...

nano /etc/cron.d/awstats

... a okomentujte vše v tomto souboru:

#MAILTO=root#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] &&/usr/share/awstats/tools/update.sh# Generovat statické reporty:#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] &&/usr/share/awstats/tools/buildstatic.sh

17 Instalace Jailkit

Jailkit je potřeba pouze v případě, že chcete chrootovat uživatele SSH. Lze jej nainstalovat následovně (důležité:Jailkit musí být nainstalován před ISPConfig – nelze jej nainstalovat později!):

apt-get install build-essential autoconf automake libtool flex bison debhelper binutils
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit- 2.17
./debian/rules binární

Nyní můžete nainstalovat balíček Jailkit .deb následovně:

cd ..
dpkg -i jailkit_2.17-1_*.deb
rm -rf jailkit-2.17*

18 Instalace fail2ban

Toto je volitelné, ale doporučené, protože monitor ISPConfig se snaží zobrazit protokol:

apt-get install fail2ban

Chcete-li, aby fail2ban monitoroval PureFTPd a Dovecot, vytvořte soubor /etc/fail2ban/jail.local:

nano /etc/fail2ban/jail.local

[pureftpd]enabled =trueport =ftpfilter =pureftpdlogpath =/var/log/syslogmaxretry =3[dovecot-pop3imap]enabled =truefilter =dovecot-pop3imapaction =iptables-multiport[name=dovecot-pop3imap, port="pop3imap, port pop3s,imap,imaps", protocol=tcp]logpath =/var/log/mail.logmaxretry =5[postfix-sasl]enabled =trueport =smtpfilter =postfix-sasllogpath =/var/log/mail.logmaxretry =3 

Poté vytvořte následující dva soubory filtru:

nano /etc/fail2ban/filter.d/pureftpd.conf
[Definice]failregex =.*pure-ftpd:\(.*@\) \[VAROVÁNÍ\] Ověření uživatele selhalo.*ignoreregex =
nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definice]failregex =(?:pop3-login|imap-login):.*(?:Selhání ověření|Přerušené přihlášení \(auth selhalo|Přerušené přihlášení \(zkuseno použít zakázáno|Odpojeno \(auth se nezdařilo|| Přerušené přihlášení \(\d+ pokusy o ověření).*rip=(?P\S*),.*ignoreregex =

Poté, chcete-li přidat řádek ignoreregex do souboru filtru postfix-sasl, spusťte:

echo "ignoreregex =">> /etc/fail2ban/filter.d/postfix-sasl.conf

Poté restartujte fail2ban:

restart služby fail2ban

19 Instalace squirrelmail

Chcete-li nainstalovat webového poštovního klienta SquirrelMail, spusťte

apt-get install squirrelmail

Poté nakonfigurujte SquirrelMail:

squirrelmail-configure

Musíme SquirrelMail sdělit, že používáme Dovecot-IMAP/-POP3:

Konfigurace SquirrelMail : Přečtěte si: config.php (1.4.0)
------------------------------ ---------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Nastavit předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapnout barvu
S   Uložit data
Q   Ukončit

Příkaz >> <-- D


Konfigurace SquirrelMail : Přečtěte si: config.php
---------------------------- ------------------------------
Zatímco budujeme SquirrelMail , objevili jsme některé 
předvolby které fungují lépe s některými servery, které nefungují tak
dobře s jinými. Pokud vyberete svůj IMAP server, tato možnost 
nastaví některá předdefinovaná nastavení pro tento server.

Upozorňujeme, že budete stále musíte procházet a ujistit se
vždy je správně. To nemění všechno. Existuje 
pouze několik nastavení , která to se změní.

Vyberte svůj IMAP server:
    bincimap    = Binc IMAP server
   < kurýr      = server AP Kurier> Cyrus =Cyrus IMAP Server
Dovecot =Dovecot Secure IMAP Server
Exchange =Microsoft Exchange Server
HmailServer =HmailServer
Macosx =Mac OS X MailServer
Mercury32 =Merkur /32
    uw          = Server IMAP Univerzita Washingtonu
    gmail        = Přístup IMAP k účtům Google mail (Gmail) změňte a nedělejte nic 
    nic = <  >     >                   -- dovecot


Konfigurace SquirrelMail : Přečtěte si: config.php
----------------------- ----------------------------------
Zatímco budujeme SquirrelMail , některé jsme objevili
předvolby, které fungují lépe s některými servery , které nefungují tak
dobře s ostatními. Pokud vyberete svůj IMAP server, tato možnost 
nastaví některá předdefinovaná nastavení pro tento server.

Upozorňujeme, že budete stále musíte procházet a ujistit se
vždy je správně. To nemění všechno. Existuje 
pouze několik nastavení , která to se změní.

Vyberte svůj IMAP server:
    bincimap    = Binc IMAP server
   < kurýr      = server AP Kurier> Cyrus =Cyrus IMAP Server
Dovecot =Dovecot Secure IMAP Server
Exchange =Microsoft Exchange Server
HmailServer =HmailServer
Macosx =Mac OS X MailServer
Mercury32 =Merkur /32
    uw          = Server IMAP Washingtonské univerzity
    gmail        = Přístup IMAP k účtům Google mail (Gmail) změna

 nic nedělejte >   nic nedělejte >                            Ne                 

imap_server_type =dovecot
default_folder_prefix =
trash_folder =trash
send_folder =odeslán
Draft_Folder =Drafts
show_contain_subfolders_option = fa lse
            optional_delimiter = detect
                  delete_folder = false

Stisknutím libovolné klávesy pokračujte... <-- stiskněte konfiguraci / > 
config.php (1.4.0)
-------------------------------------- -------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Nastavit předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapnout barvu
S   Uložit data
Q   Ukončit

Příkaz >> <-- S


Konfigurace SquirrelMail : Přečtěte si: config.php (1.4.0)
---------------------- -----------------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Nastavit předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapnout barvu
S   Uložit data
Q   Ukončit

Příkaz >> <-- Q

Nyní nakonfigurujeme SquirrelMail tak, abyste jej mohli používat ze svých webových stránek (vytvořených pomocí ISPConfig) pomocí aliasů /squirrelmail nebo /webmail. Pokud je tedy váš web www.example.com, budete mít přístup k SquirrelMail pomocí www.example.com/squirrelmail nebo www.example.com/webmail.

Konfigurace Apache SquirrelMail je v souboru /etc/squirrelmail/apache.conf, ale tento soubor Apache nenačítá, protože není v adresáři /etc/apache2/conf.d/. Proto vytvoříme symbolický odkaz nazvaný squirrelmail.conf v adresáři /etc/apache2/conf.d/, který ukazuje na /etc/squirrelmail/apache.conf a poté znovu načteme Apache:

cd /etc/apache2/conf-enabled/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
reload služby apache2

Nyní otevřete /etc/apache2/conf-enabled/squirrelmail.conf...

nano /etc/apache2/conf-enabled/squirrelmail.conf

... a přidejte do kontejneru následující řádky, abyste se ujistili, že mod_php se používá pro přístup ke SquirrelMail, bez ohledu na to, jaký režim PHP vyberete pro svůj web v ISPConfig:

[...] Možnosti FollowSymLinks  AddType application/x-httpd-php .php php_flag magic_quotes_gpc Vypnuto php_flag include track_vars Zapnuto php_admin_flag allow_url_fopen. php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname php_Module offModule_Ifir register_globals .c> DirectoryIndex index.php  # přístup ke configtestu je ve výchozím nastavení omezen, aby se zabránilo úniku informací 
 order deny,allow deny from all allow from 127.0.0.1 [ ...]

Vytvořte adresář /var/lib/squirrelmail/tmp...

mkdir /var/lib/squirrelmail/tmp

... a převést jej do vlastnictví uživatele www-data:

chown www-data /var/lib/squirrelmail/tmp

Znovu načtěte Apache:

obnovení služby apache2

To už je ono – /etc/apache2/conf-enabled/squirrelmail.conf definuje alias nazvaný /squirrelmail, který ukazuje na instalační adresář SquirrelMail /usr/share/squirrelmail.

Nyní můžete přistupovat ke SquirrelMail ze svých webových stránek následovně:

http://192.168.0.100/squirrelmail
http://www.example.com/squirrelmail

Můžete k němu také přistupovat z ovládacího panelu ISPConfig vhost (po instalaci ISPConfig, viz další kapitola) následovně (nepotřebuje žádnou konfiguraci v ISPConfig):

http://server1.example.com:8080/squirrelmail

Pokud byste chtěli použít alias /webmail místo /squirrelmail, jednoduše otevřete /etc/apache2/conf-enabled/squirrelmail.conf

nano /etc/apache2/conf-enabled/squirrelmail.conf

... a přidejte řádek Alias ​​/webmail /usr/share/squirrelmail:

Alias ​​/squirrelmail /usr/share/squirrelmailAlias ​​/webmail /usr/share/squirrelmail[...]

Poté znovu načtěte Apache:

obnovení služby apache2

Nyní máte přístup ke Squirrelmail následovně:

http://192.168.1.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (po instalaci ISPConfig se podívejte na další kapitola)

 

Pokud byste chtěli definovat vhost, jako je webmail.example.com, kde mohou vaši uživatelé přistupovat ke SquirrelMail, museli byste do /etc/apache2/conf-enabled/squirrelmail.conf přidat následující konfiguraci vhost:

vi /etc/apache2/conf-enabled/squirrelmail.conf

[...] DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com

Samozřejmě musí existovat DNS záznam pro webmail.example.com, který ukazuje na IP adresu, kterou používáte v konfiguraci vhost. Also make sure that the vhost webmail.example.com does not exist in ISPConfig (otherwise both vhosts will interfere with each other!).

Now reload Apache...

/etc/init.d/apache2 reload

... and you can access SquirrelMail under http://webmail.example.com!

20 Install ISPConfig 3

To install ISPConfig 3 from the latest released version, do this:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

The next step is to run

php -q install.php

This will start the ISPConfig 3 installer. The installer will configure all services like Postfix, Dovecot, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not necessary.

NOTE:Do not be alarmed that the ISPConfig 3 installer identifies Debian Jessie as unknown version. This does not interfere with any functionality and will be fixed with the next ISPConfig update.

[email protected]:/tmp/ispconfig3_install/install# php -q install.php
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian or compatible, unknown version.

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with .
    Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]: <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password [ ]: <-- yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Generating a 4096 bit RSA private key
.............................................................++
.........................................................................................................................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, comp any) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring Vlogger
Configuring Apps vhost
Configuring Bastille Firewall
Configuring Fail2ban
Installing ISPConfig
ISPConfig Port [8080]: <-- ENTER

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- ENTER

Generating RSA private key, 4096 bit long modulus
.................................................................................................++
........++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd .
Restarting IMAP/POP3 mail server: dovecot.
[Tue May 07 02:36:22 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Tue May 07 02:36:22 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
[Tue May 07 02:36:23 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Tue May 07 02:36:23 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
Restarting web server: apache2 ... waiting .
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -H -O clf:/var/log/pure-ftpd/transfer.log -Y 1 -D -u 1000 -A -E -b -8 UTF-8 -B
Installation completed.
[email protected]:/tmp/ispconfig3_install/install#

The installer automatically configures all underlying services, so no manual configuration is needed.

You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel, so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ ( http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):

The system is now ready to be used.

20.1 ISPConfig 3 Manual

Abyste se naučili používat ISPConfig 3, důrazně doporučuji stáhnout si příručku ISPConfig 3.

Na více než 300 stránkách pokrývá koncept ISPConfig (administrátoři, prodejci, klienti), vysvětluje, jak nainstalovat a aktualizovat ISPConfig 3, obsahuje odkaz na všechny formuláře a pole formulářů v ISPConfig spolu s příklady platných vstupů a poskytuje výukové programy. pro nejběžnější úkoly v ISPConfig 3. Také uvádí, jak zvýšit zabezpečení serveru, a na konci je dodávána část pro odstraňování problémů.

20.2 ISPConfig Monitor App For Android

With the ISPConfig Monitor App, you can check your server status and find out if all services are running as expected. You can check TCP and UDP ports and ping your servers. In addition to that you can use this app to request details from servers that have ISPConfig installed (please note that the minimum installed ISPConfig 3 version with support for the ISPConfig Monitor App is 3.0.3.3! ); these details include everything you know from the Monitor module in the ISPConfig Control Panel (e.g. services, mail and system logs, mail queue, CPU and memory info, disk usage, quota, OS details, RKHunter log, etc.), and of course, as ISPConfig is multiserver-capable, you can check all servers that are controlled from your ISPConfig master server.

For download and usage instructions, please visit http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

21 Additional Notes

21.1 OpenVZ

If the Debian server that you've just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system (I'm assuming that the ID of the OpenVZ container is 101 - replace it with the correct VPSID on your system):

VPSID=101
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
  vzctl set $VPSID --capability ${CAP}:on --save
done

  • Debian:http://www.debian.org/
  • ISPConfig:http://www.ispconfig.org/

Debian
  1. Perfektní server – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

  2. The Perfect Server – OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

  3. Perfektní server – CentOS 7.1 s Apache2, Postfix, Dovecot, Pure-FTPD, BIND a ISPConfig 3

  1. The Perfect Server – Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)

  2. The Perfect Server – Debian 8.6 (nginx, BIND, Dovecot, ISPConfig 3.1)

  3. The Perfect Server – Debian 9 (Stretch) s Apache, BIND, Dovecot, PureFTPD a ISPConfig 3.1

  1. The Perfect Server – Debian 9 (Nginx, BIND, Dovecot, ISPConfig 3.1)

  2. The Perfect Server – Debian 10 (Nginx, BIND, Dovecot, ISPConfig 3.2)

  3. The Perfect Server – Debian 10 (Buster) s Apache, BIND, Dovecot, PureFTPD a ISPConfig 3.2