GNU/Linux >> Znalost Linux >  >> Debian

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

Tento tutoriál ukazuje, jak připravit server Debian Jessie (s nginx, BIND, Dovecot) pro instalaci ISPConfig 3.1 a jak nainstalovat ISPConfig 3.1. ISPConfig 3 je webhostingový ovládací panel, který 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á nginx (místo Apache), BIND jako server DNS a Dovecot jako server IMAP / POP3.

1 předběžná poznámka

V tomto tutoriálu používám 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 to být minimální bitová kopie Debianu od vašeho poskytovatele hostingu nebo k nastavení základního systému použijte tutoriál Minimal Debian Server.

2 Instalace serveru SSH

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

apt-get -y 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 8 a postupujte podle zbývajících kroků z tohoto návodu.

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

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

apt-get -y install nano vim-nox

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

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". Upravit /etc/hosts. Ať to vypadá 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 úložiště wheezy-updates (to zajistí, že budete vždy dostávat nejnovější aktualizace pro antivirový skener ClamAV – tento projekt vydává vydání velmi často a někdy staré verze přestanou fungovat), a že jsou povoleny repozitáře 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 http://ftp.us.debian.org/debian/ hlavní příspěvek jessie nesvobodný
deb-src http://ftp.us.debian.org/debian/ hlavní příspěvek jessie nesvobodný zdarma

deb http://security.debian.org/ jessie/updates hlavní příspěvek nesvobodný
deb-src http://security.debian.org/ jessie/updates hlavní příspěvek nesvobodné

# Debian backports – povinné pro Letsencrypt
deb http://ftp.debian.org/debian jessie-backports main

DŮLEŽITÉ: Přidejte úložiště Debian Backports, jak je znázorněno výše.

Spustit

aktualizace apt-get

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

upgrade apt-get

k instalaci nejnovějších aktualizací (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, 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

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

Obecný typ konfigurace pošty:<-- Internet Site
Název systémové pošty:<-- server1.example.com
Nové heslo pro uživatele "root" MariaDB:<-- 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, stačí si při instalaci nastavit 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 odeslání a smtps následovně (ponechte -o milter_macro_daemon_name=ORIGINATING, protože to nepotřebujeme):

[...]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 MySQL naslouchalo na všech rozhraních, nejen na localhost, proto upravíme /etc/mysql/my.cnf a zakomentujeme řádek bind-address =127.0.0.1:

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
tcp         0       0 *:mysql                  *:*                       POSLECHNOUT   <# br e-mail 218123/my sq >

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

Nainstalujte programy, které jsou nutné pro proces sestavení

apt-get install build-essential

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 Nginx, PHP (PHP-FPM) a Fcgiwrap

Nginx je k dispozici jako balíček pro Debian, který můžeme nainstalovat následovně:

apt-get install nginx

Pokud je již Apache2 v systému nainstalován, zastavte jej nyní...

zastavení služby apache2

Zpráva „Nepodařilo se zastavit apache2.service:Jednotka apache2.service nenačtena. " je v pořádku a neindikuje chybu.

... a odstraňte odkazy pro spuštění systému Apache:

systemctl zakázat apache2

Poté spusťte nginx:

spuštění služby nginx

(Pokud jsou nainstalovány Apache2 i nginx, instalační program ISPConfig 3 se vás zeptá, který z nich chcete použít - v tomto případě odpovězte nginx. Pokud je nainstalována pouze jedna z nich, ISPConfig provede potřebnou konfiguraci automaticky.)

Můžeme zajistit fungování PHP5 v nginx pomocí PHP-FPM (PHP-FPM (FastCGI Process Manager) je alternativní implementace PHP FastCGI s některými dalšími funkcemi užitečnými pro weby jakékoli velikosti, zejména rušnější weby), které nainstalujeme následovně:

apt-get install php5-fpm

PHP-FPM je proces démona (se skriptem init /etc/init.d/php5-fpm), který spouští server FastCGI na soketu /var/run/php5-fpm.sock.

Abychom získali podporu MySQL v PHP, můžeme nainstalovat balíček php5-mysql. Je dobré nainstalovat některé další moduly PHP5, stejně jako je můžete potřebovat pro své aplikace. Dostupné moduly PHP5 můžete vyhledat takto:

apt-cache search php5

Vyberte ty, které potřebujete, a nainstalujte je takto:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-memcached  php5-pspell php5-recode php5-sqidytlite -xmlrpc php5-xsl memcached

APC 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 cacherů PHP operačních kódů, jako jsou eAccelerator a XCache. Důrazně se doporučuje mít jeden z nich nainstalovaný, aby se urychlila vaše stránka PHP.

APC lze nainstalovat následovně:

apt-get install php-apc

Dále otevřete /etc/php5/fpm/php.ini...

nano /etc/php5/fpm/php.ini

... a nastavte cgi.fix_pathinfo=0 a vaše časové pásmo:

[...]cgi.fix_pathinfo=0[...]date.timezone="Europe/Berlin"[...]

(Všechna dostupná časová pásma naleznete v adresářích /usr/share/zoneinfo a jeho podadresářích.)

Nyní znovu načtěte PHP-FPM:

reload služby php5-fpm

Chcete-li získat podporu CGI v nginx, nainstalujeme Fcgiwrap.

Fcgiwrap je CGI wrapper, který by měl fungovat i pro složité CGI skripty a lze jej použít pro sdílená hostitelská prostředí, protože umožňuje každému vhostu používat svůj vlastní adresář cgi-bin.

Nainstalujte balíček fcgiwrap:

apt-get install fcgiwrap

Po instalaci by již měl být spuštěn démon fcgiwrap; jeho socket je /var/run/fcgiwrap.socket. Pokud neběží, můžete jej spustit pomocí skriptu fservice fcgiwrap.

A je to! Když nyní vytvoříte nginx vhost, ISPConfig se postará o správnou konfiguraci vhost.

10.1 Další verze PHP

Počínaje ISPConfig 3.0.5 je možné mít více verzí PHP na jednom serveru (volitelné přes ISPConfig), které lze spustit přes PHP-FPM vč. PHP 7 a 7.1. Chcete-li se dozvědět, jak vytvořit další verze PHP (PHP-FPM) a jak nakonfigurovat ISPConfig, podívejte se prosím na tento tutoriál: Jak nainstalovat PHP 7 (PHP-FPM &FastCGI) pro ISPConfig 3 na Debian 8 (Jessie)

10.2 Instalace phpMyAdmin

Nainstalujte phpMyAdmin následovně:

apt-get install phpmyadmin

Nevybírejte možnost, když instalační program požaduje „Automatické překonfigurování webového serveru: “ a stiskněte ok.

Konfigurovat databázi pro phpmyadmin pomocí dbconfig-common? <-- yes
Heslo administrátora databáze:<-- Zadejte kořenové heslo MySQL
Heslo aplikace MySQL pro phpmyadmin:<-- Stiskněte Enter

phpMyAdmin nyní najdete v adresáři /usr/share/phpmyadmin/.

Po instalaci ISPConfig 3 můžete přistupovat k phpMyAdmin následovně:

Aplikace ISPConfig vhost na portu 8081 pro nginx jsou dodávány s konfigurací phpMyAdmin, takže pro přístup k phpMyAdmin můžete použít http://server1.example.com:8081/phpmyadmin nebo http://server1.example.com:8081/phpMyAdmin.

Pokud chcete použít alias /phpmyadmin nebo /phpMyAdmin, který můžete použít ze svých webových stránek, je to o něco složitější než pro Apache, protože nginx nemá globální aliasy (tj. aliasy, které lze definovat pro všechny vhosty). Proto musíte definovat tyto aliasy pro každý vhost, ze kterého chcete přistupovat k phpMyAdmin.

Chcete-li to provést, vložte následující do pole Direktivy nginx na kartě Možnosti na webu v ISPConfig:

 umístění /phpmyadmin { root /usr/share/; index index.php index.html index.htm; umístění ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; zahrnout /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } umístění ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } umístění /phpMyAdmin { přepsat ^/* /phpmyadmin poslední; }

Pokud používáte https místo http pro váš vhost byste měli přidat řádek fastcgi_param HTTPS on; do vaší konfigurace phpMyAdmin takto:

 umístění /phpmyadmin { root /usr/share/; index index.php index.html index.htm; umístění ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS zapnuto; # <-- přidejte tento řádek fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; zahrnout /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } umístění ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } umístění /phpMyAdmin { přepsat ^/* /phpmyadmin poslední; }

Pokud pro svůj vhost používáte http i https, můžete použít proměnnou $https. Znovu přejděte do pole Direktivy nginx a místo fastcgi_param HTTPS zapněte; přidáte řádek fastcgi_param HTTPS $https; abyste mohli používat phpMyAdmin pro požadavky http i https:

 umístění /phpmyadmin { root /usr/share/; index index.php index.html index.htm; umístění ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $https; # <-- přidejte tento řádek fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; zahrnout /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } umístění ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } umístění /phpMyAdmin { přepsat ^/* /phpmyadmin poslední; }

10.3 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

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.

apt-get install python-certbot -t jessie-backports

12 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 stránek <-- 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ř. [email protected]
Počáteční heslo poštovního doručovatele: <-- heslo správce pro seznam poštovních doručovatelů
Chcete-li dokončit vytváření seznamu adresátů, musíte upravit svůj /etc/aliases (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 subscribe mailman"
mailman-un přihlásit se k odběru:  "|/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

poté a restartujte Postfix:

restart služby postfix

Poté spusťte démona Mailman:

spuštění služby mailman

Po instalaci ISPConfig 3 můžete přistupovat k Mailmanu následovně:

Aplikace ISPConfig vhost na portu 8081 pro nginx jsou dodávány s konfigurací Mailman, takže můžete použít http://server1.example.com:8081/cgi-bin/mailman/admin/ nebo http://server1.example .com:8081/cgi-bin/mailman/listinfo/ pro přístup k aplikaci Mailman.

Pokud chcete používat Mailman ze svých webových stránek, je to o něco složitější než pro Apache, protože nginx nemá globální aliasy (tj. aliasy, které lze definovat pro všechny vhosty). Proto musíte definovat tyto aliasy pro každý vhost, ze kterého chcete přistupovat k Mailman.

Chcete-li to provést, vložte následující do pole Direktivy nginx na kartě Možnosti na webu v ISPConfig:

 umístění /cgi-bin/mailman { root /usr/lib/; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; zahrnout /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap.socket; } umístění /images/mailman { alias /usr/share/images/mailman; } umístění /pipermail { alias /var/lib/mailman/archives/public; autoindex zapnutý; }

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

Pod http:///pipermail najdete archivy konference.

13 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 země (např. „DE“).
Název státu nebo provincie (celý název) [Některý stát]:<-- Zadejte svůj stát nebo název provincie.
Název lokality (např. město) []:<-- Zadejte své město.
Název organizace (např. společnost) [Internet Widgits Pty Ltd]:<-- Zadejte název 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

14 Instalace serveru DNS BIND

BIND lze nainstalovat následovně:

apt-get install bind9 dnsutils

Pokud je váš server virtuální počítač, pak se důrazně doporučuje nainstalovat démona ohrady, 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 haveged
systemctl povolte hasged
service hasged start

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

15 Instalace Webalizer a AWstats

Webalizer a AWstats lze nainstalovat následovně:

apt-get install webalizer awstats geoip-database libtimedate-perl 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

16 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*

17 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

18 Instalace RoundCube

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

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';

ISPConfig má nějakou konfiguraci v nginx apps vhost pro squirrelmail, která funguje i pro roundcube. Aktivujeme jej pomocí:

ln -s /usr/share/roundcube /usr/share/squirrelmail

Nyní máte k RoundCube přístup následovně:

http://192.168.1.100:8081/webmail
http://server1.example.com:8081/webmail (po instalaci ISPConfig viz další kapitola)

 

19 Instalace ISPConfig 3

Před zahájením instalace ISPConfig se ujistěte, že je Apache zastaven (pokud je nainstalován - je možné, že některé z vašich nainstalovaných balíčků nainstalovaly Apache jako závislost, aniž byste o tom věděli). Pokud je již Apache2 v systému nainstalován, zastavte jej nyní...

zastavení služby apache2

... a odstraňte odkazy pro spuštění systému Apache:

update-rc.d -f odstranit apache2

Ujistěte se, že nginx běží:

restart služby nginx

(Pokud máte nainstalovaný Apache i nginx, instalační program se vás zeptá, který z nich chcete použít:Byly zjištěny Apache a nginx. Vyberte server, který chcete použít pro ISPConfig:(apache,nginx) [apache]:

Zadejte nginx. Pokud je nainstalován pouze Apache nebo nginx, instalační program to automaticky detekuje a nebude položena žádná otázka.)

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/

Dalším krokem je spuštění

php -q install.php

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

# 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
Byly zjištěny Apache a nginx. Vyberte server, který chcete použít pro ISPConfig:(apache,nginx) [apache]:<-- nginx

Konfigurace Postgrey
Konfigurace Postfix
Generování 4096bitového soukromého klíče RSA
................................................................. ......................++
...................... ................................................................... ................................................................... ...............++
zápis nového soukromého klíče do 'smtpd.key'
-----
Budete požádáni, abyste zadejte informace, které budou začleněny
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 můžete odejít některé prázdné
U některých polí bude výchozí hodnota,
Pokud zadáte '.', pole zůstane prázdné.
-----
Název země ( 2písmenný kód) [AU]:<-- Zadejte 2pí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ř. 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 Nginx
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 UFW 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

Konfigurace DBServer
Instalace ISPConfig crontab
žádný crontab pro root
žádný crontab pro getmail
Zjištění IP adres
Restartování služeb ...
Instalace dokončena.

Instalační program automaticky nakonfiguruje všechny základní služby, takže není potřeba žádná ruční konfigurace.

Poté můžete přistupovat k ISPConfig 3 pod http(s)://server1.example.com:8080/ nebo http(s)://192.168.1.100:8080/ (http nebo https závisí na tom, co jste zvolili během instalace). Přihlaste se pomocí uživatelského jména admin a hesla admin (po prvním přihlášení byste měli změnit výchozí heslo):

Systém je nyní připraven k použití.

20.1 ISPConfig 3 příručka

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

21 dalších poznámek

21.1 OpenVZ

Pokud je server Debian, který jste právě nastavili v tomto tutoriálu, kontejner OpenVZ (virtuální stroj), měli byste to udělat na hostitelském systému (předpokládám, že ID kontejneru OpenVZ je 101 – nahraďte jej správné VPSID ve vašem systému):

VPSID=101
pro CAP v CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETGID SETGID ID NET_BIND_SERVICE NET_ADMIN_SYS IDCAP ${ /schopnost /V SYS>} na --save
hotovo

22 stažení obrazu virtuálního stroje tohoto tutoriálu

Tento tutoriál je k dispozici jako obraz virtuálního stroje připravený k použití ve formátu ovf/ova, který je kompatibilní s VMWare a Virtualbox. Obraz virtuálního počítače používá následující přihlašovací údaje:

Přihlášení SSH / Shell

Uživatelské jméno:správce
Heslo:howtoforge

Uživatelské jméno: root
Heslo:howtoforge

Přihlášení ISPConfig

Uživatelské jméno:admin
Heslo:howtoforge

Přihlášení k MySQL

Uživatelské jméno:root
Heslo:howtoforge

IP VM je 192.168.1.100, lze ji změnit v souboru /etc/network/interfaces. Změňte prosím všechna výše uvedená hesla pro zabezpečení virtuálního počítače.

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


Debian
  1. The Perfect Server – Ubuntu 14.10 (nginx, BIND, Dovecot, ISPConfig 3)

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

  3. The Perfect Server – Ubuntu 15.04 (nginx, BIND, Dovecot a ISPConfig 3)

  1. The Perfect Server – Ubuntu 12.04 LTS (nginx, BIND, Dovecot, ISPConfig 3)

  2. The Perfect Server – Ubuntu 12.10 (nginx, BIND, Dovecot, ISPConfig 3)

  3. The Perfect Server – Ubuntu 13.04 (nginx, BIND, Dovecot, ISPConfig 3)

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

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

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