GNU/Linux >> Znalost Linux >  >> Debian

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

Tento tutoriál ukazuje, jak připravit server Debian Jessie (s Apache2, BIND, Dovecot) pro instalaci ISPConfig 3.1 a jak nainstalovat ISPConfig. Ovládací panel webhostingu ISPConfig 3 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 a Dovecot (místo Courier).

1 předběžná poznámka

V tomto tutoriálu použiji 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 tutoriál Minimal Debian Server.

Co je nového v této verzi tutoriálu?

  • Podpora pro nové funkce ISPConfig 3.1.
  • Podpora certifikátů Let's Encrypt SSL.
  • Podpora pro HHVM (HipHop Virtual Machine) pro spouštění PHP skriptů.
  • Podpora XMPP (Metronome).
  • Podpora pro Greylisting e-mailů s Postgrey.
  • UFW jako firewall, který nahradí Bastille.
  • Webová pošta RoundCube namísto Squirrelmail.

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

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

8 Instalace Postfix, Dovecot, MySQL, rkhunter a 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

Chcete-li zabezpečit instalaci MariaDB / MySQL a deaktivovat testovací databázi, spusťte tento příkaz:

mysql_secure_installation

Kořenové heslo MySQL nemusíme měnit, pouze jsme si při instalaci nastavili nové. Odpovězte na otázky následovně:

Změnit heslo uživatele root? [A/n] <-- n
Odebrat anonymní uživatele? [A/n] <-- y
Zakázat vzdálené přihlášení root? [A/N] <-- y
Odebrat testovací databázi a získat k ní přístup? [A/n] <-- y
Načíst nyní tabulky oprávnění? [A/n] <-- y

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,odmítnout
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$restrictions=$mrestrictions
# -o smtpdions=a$sre=ender=ender## -o smtpdions=a$re_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 upravujeme /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ý]:/# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 16806/mysqld

9 Nainstalovat Amavisd-new, SpamAssassin a ClamAV

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

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

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

9.1 Instalace Metronome XMPP Server (volitelné)

Tento krok nainstaluje Metronome XMPP Server, který poskytuje chatovací server, který je kompatibilní s protokolem XMPP. Tento krok je volitelný, pokud nepotřebujete chatovací server, můžete tento krok přeskočit. Na tomto softwaru nezávisí žádné další funkce ISPConfig.

Přidejte do Debianu úložiště balíčků Prosody.

echo "deb http://packages.prosody.im/debian jessie main"> /etc/apt/sources.list.d/metronome.list
wget http://prosody.im/files/ prosody-debian-packages.key -O - | sudo apt-key add -

Aktualizujte seznam balíčků:

aktualizace apt-get

a nainstalujte balíčky pomocí apt.

apt-get install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocks
luarocks instaluje lpc

Přidejte uživatele prostředí pro Metronome.

adduser --no-create-home --disabled-login --gecos metronom 'Metronome'

Stáhněte si Metronome do adresáře /opt a zkompilujte jej.

cd /opt; git klon https://github.com/maranda/metronome.git metronom
cd ./metronome; ./configure --ostype=debian --prefix=/usr
provést
provést instalaci

Metronome je nyní nainstalován do /opt/metronome.

10 Instalace Apache2, PHP, FCGI, suExec, Pear, phpMyAdmin 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í hlavičky cgi dav_fs dav auth_digest

Abychom zajistili, že server nemůže být napaden prostřednictvím zranitelnosti HTTPOXY, deaktivujeme hlavičku HTTP_PROXY v Apache globálně přidáním konfiguračního souboru /etc/apache2/conf-available/httpoxy.conf.

sudo nano /etc/apache2/conf-available/httpoxy.conf

Do souboru vložte následující obsah:

 RequestHeader předčasně zrušil nastavení proxy

A aktivujte modul spuštěním:

a2enconf httpoxy
restart služby apache2

10.1 Instalace HHVM (HipHop Virtual Machine)

V tomto kroku nainstalujeme HHVM z jeho oficiálního úložiště Debian. Přidejte úložiště HHVM a importujte klíč.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian jessie main | sudo tee /etc/apt/sources.list.d/hhvm.list

Aktualizujte seznam balíčků:

aktualizace sudo apt-get

a nainstalujte HHVM:

sudo apt-get install hhvm

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 suphp opravdu potřebujete z důvodu starší verze, postupujte podle kroků v této kapitole a zkompilujte jej ručně. Jeho instalaci ale nedoporučujeme.

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

11 Nainstalujte Let's Encrypt

ISPConfig 3.1 má podporu pro bezplatnou certifikační autoritu SSL Let's encrypt. Funkce Let's Encrypt vám umožňuje vytvářet bezplatné certifikáty SSL pro váš web v rámci ISPConfig.

Nyní přidáme podporu pro Let's encrypt.

mkdir /opt/certbot
cd /opt/certbot
wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-auto

Nyní spusťte příkaz certboot-auto, který stáhne a nainstaluje software a jeho závislosti.

./certbot-auto

Příkaz vám pak řekne, že "ve vašich konfiguračních souborech nebyla nalezena žádná jména" a zeptá se, zda má pokračovat, zde prosím vyberte "ne", protože certifikáty vytvoří ISPConfig.

12 Instalace PHP-FPM a XCache

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.

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

12.2 Instalace XCache

XCache lze nainstalovat následovně:

apt-get install php5-xcache

Nyní restartujte Apache:

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

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

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 a kvóty

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

Pokud je váš server virtuálním počítačem, důrazně se doporučuje nainstalovat démona hasged, abyste získali vyšší entropii pro podepisování DNSSEC. Můžete nainstalovat hasged i na nevirtuální servery, nemělo by to bolet.

apt-get install byla provedena

Vysvětlení k tomuto tématu naleznete zde.

16 Instalace Webalizer a AWStats

Webalizer a AWStats lze nainstalovat následovně:

apt-get install webalizer awstats geoip-database libclass-dbi-mysql-perl libtimedate-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.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit- 2.19
./debian/rules binární

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

cd ..
dpkg -i jailkit_2.19-1_*.deb
rm -rf jailkit-2.19*

18 Instalace fail2ban a UFW Firewall

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

Chcete-li nainstalovat bránu firewall UFW, spusťte tento příkaz apt:

apt-get install ufw

19 Instalace RoundCube

Roundcube není k dispozici v hlavním úložišti Debianu 8, ale můžeme jej získat prostřednictvím backportů.

Přidejte úložiště Backports do souboru /etc/apt/sources.list:

echo "deb http://ftp.debian.org/debian jessie-backports main">> /etc/apt/sources.list

a spusťte apt-get update.

aktualizace apt-get

Poté nainstalujte RoundCube pomocí tohoto příkazu:

apt-get install roundcube roundcube-core roundcube-mysql roundcube-plugins

Instalační program se zeptá na následující otázky:

Konfigurovat databázi pro roundcube pomocí dbconfig.common? <-- yes
Vyberte typ databáze:<-- mysql
Heslo administrátora databází:<-- zde zadejte heslo root MySQL.
Heslo aplikace MySQL pro roundcube:<- - stiskněte enter

Poté upravte soubor RoundCube /etc/roundcube/config.inc.php a upravte několik nastavení:

nano /etc/roundcube/config.inc.php

Nastavte default_host a smtp_server na localhost.

$config['default_host'] ='localhost';
$config['smtp_server'] ='localhost';

Poté upravte konfigurační soubor Apache roundcube /etc/apache2/conf-enabled/roundcube.conf:

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

A přidejte řádek aliasu pro alias apache /webmail, řádek můžete přidat hned na začátek souboru. POZNÁMKA:Nepoužívejte /mail jako alias, jinak e-mailový modul ispconfig přestane fungovat!

Alias ​​/webmail /var/lib/roundcube

Poté znovu načtěte Apache:

obnovení služby apache2

Nyní máte k RoundCube přístup 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)

 

20 Stáhnout ISPConfig 3

Chcete-li nainstalovat ISPConfig 3 z nejnovější vydané verze, postupujte takto:

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

K dnešnímu dni (12. dubna 2016) ještě není ke stažení finále ISPConfig 3.1. Pokud si chcete vyzkoušet předběžnou verzi nadcházející verze 3.1, stáhněte si ji pomocí tohoto příkazu:

cd /tmp
wget -O ISPConfig-3.1-beta.tar.gz  https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ISPConfig-3.1-beta.tar.gz
cd ispconfig3-stable-3.1*
cd install

21 Nainstalujte ISPConfig

Dalším krokem je spuštění instalačního programu ISPConfig.

php -q install.php

Tím se spustí instalační program ISPConfig 3. Instalační program nakonfiguruje všechny služby jako Postfix, Dovecot atd. za vás. Ruční nastavení požadované pro ISPConfig 2 (dokonalé průvodce nastavením) není nutné.

POZNÁMKA:Nelekejte se, že instalační program ISPConfig 3 identifikuje Debian Jessie jako neznámou verzi. To nenarušuje žádnou funkci a bude opraveno příští aktualizací ISPConfig.

# php -q install.php

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

>> Počáteční konfigurace
Operační systém:Debian 8.0 (Jessie) nebo kompatibilní
Následovat bude několik otázek pro primární konfiguraci, takže buďte opatrní.
Výchozí hodnoty jsou v [závorkách] a lze je přijmout pomocí .
Klepněte na "quit" (bez uvozovek) k zastavení instalačního programu.

Vyberte jazyk (en,de) [en]:<-- Stiskněte Enter
Režim instalace (standardní, expertní) [standardní]: <-- Stiskněte Enter
Úplný název hostitele (FQDN) serveru, např. server1.domain.tld [server1.canomi.com]: <-- Stiskněte Enter
Název hostitele serveru MySQL [localhost]: <-- Stiskněte Enter
Port serveru MySQL [3306]: <-- Stiskněte Enter
Uživatelské jméno MySQL root [root]: <-- Stiskněte Enter
Heslo kořenového adresáře MySQL []: <-- Zadejte své kořenové heslo MySQL
Vytvoření databáze MySQL [dbispconfig]: <-- Stiskněte Enter
Znaková sada MySQL [utf8]: <-- Stiskněte Enter
Konfigurace Postgrey
Konfigurace Postfixu
Generování 4096bitového soukromého klíče RSA
........................ ...................................................++
................................................ ................................................................... .......................................++
zápis nového soukromého klíče do 'smtpd.key'
-----
Budete požádáni o zadání informací, které budou začleněny
do vaší žádosti o certifikát.
Co se chystáte zadat je to, co se nazývá rozlišovací jméno nebo DN.
Je zde poměrně dost polí, ale některá můžete nechat prázdná
Některá pole budou mít výchozí hodnotu,
Pokud zadáte '. ', pole zůstane prázdné.
-----
Název země (dvoumístný kód) [AU]:<-- Zadejte dvoumístný kód země
Název státu nebo provincie ( celé jméno) [Některý stát]:<-- Zadejte název  státu
Název lokality (např. město) []:<-- Zadejte své město
Název organizace (např. společnost) [ Int ernet Widgits Pty Ltd]:<-- Zadejte název společnosti nebo stiskněte enter
Název organizační jednotky (např. sekce) []: <-- Stiskněte Enter
Běžný název (např. FQDN serveru nebo VAŠE jméno) []:<-- Zadejte název hostitele serveru, v mém případě:server1.example.com
E-mailová adresa []: <-- Stiskněte Enter
Konfigurace Mailmana
Konfigurace Dovecot
Konfigurace Spamassassin
Konfigurace Amavisd
Konfigurace Getmail
Konfigurace BIND
Konfigurace Jailkit
Konfigurace Pureftpd
Konfigurace Apache
Konfigurace vloggeru
Konfigurace Metronome XMPP Server
zápis nového soukromého klíče do 'localhost.key'
-----
Název země (2 písmenný kód) [AU]: <-- Enter 2písmenný kód země
Název lokality (např. město) []: <-- Zadejte své město
Název organizace (např. společnost) [Internet Widgits Pty Ltd]: <-- Zadejte název společnosti nebo stiskněte zadejte
Název organizační jednotky (např. sekce) []: <-- Stiskněte Enter
Běžný název (např. FQDN serveru nebo VAŠE jméno) [server1.canomi.com]: <-- Zadejte název hostitele serveru , v mém případě:server1.example.com
E-mailová adresa []: <-- Stiskněte Enter
Konfigurace brány Ubuntu Firewall
Konfigurace Fail2ban
Služba [INFO] OpenVZ nebyla zjištěna
Konfigurace aplikací vhost
Instalace ISPConfig
Port ISPConfig [8080]:
Heslo správce [admin]:
Chcete zabezpečené (SSL) připojení k webovému rozhraní ISPConfig (y,n) [y]: <-- Stiskněte Enter
Generování soukromého klíče RSA, modul dlouhý 4096 bit
.......................++
..... ................................................................... ................................................................... .......................++
e je 65537 (0x10001)
Budete požádáni o zadání informací, které budou být začleněno
do vaší žádosti o certifikát.
To, co se chystáte zadat, se nazývá rozlišovací jméno nebo DN.
Je zde poměrně dost polí, ale některá můžete nechat prázdná
U některých polí bude výchozí hodnota,
Pokud zadáte '.', pole zůstane prázdné.
-----
Název země (dvoupísmenný kód) [AU]: <-- Zadejte dvoupísmenný kód země
Název státu nebo provincie (celý název) [Některý stát]: <-- Zadejte název státu
Název lokality (např. město) []: <-- Zadejte své město
Název organizace (např. společnost) [Internet Widgits Pty Ltd]: <-- Zadejte název společnosti nebo stiskněte enter
Název organizační jednotky (např. sekce) [] : <-- Stiskněte Enter
Obvyklý název (např. server FQDN nebo VAŠE jméno) []: <-- Zadejte název hostitele serveru, v mém případě:server1.example.com
E-mailová adresa []: <-- Stiskněte Enter
Zadejte prosím následující 'extra' atributy
které mají být zaslány s vaší žádostí o certifikát
Heslo výzvy []: <-- Stiskněte Enter
Volitelný název společnosti []: <- - Stiskněte Enter
zapisování klíče RSA

Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.

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

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.1.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.

21.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ů.

22 Additional Notes

22.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 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)

  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