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

The Perfect Server – CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)

Dokonalý server – CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)

Tento tutoriál ukazuje, jak připravit server CentOS 7 x86_64 pro instalaci ISPConfig 3 a jak na něj nainstalovat ISPConfig 3. 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 nginx, poštovní server Postfix, MySQL, jmenný server BIND, PureFTPd, SpamAssassin, ClamAV, Mailman a mnoho dalších. Od verze 3.0.4 přichází ISPConfig s plnou podporou pro webový server nginx kromě Apache; tento tutoriál se zabývá nastavením serveru, který používá nginx, nikoli Apache. Výukový program pro dokonalý server ISPConfig 3 apache je k dispozici zde.

Příručka ISPConfig 3

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

Na zhruba 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 návody 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ů.

1. Požadavky

K instalaci takového systému budete potřebovat následující

  • Stáhněte si dvě DVD CentOS 7.0 ze zrcadla vedle vás (seznam zrcadel naleznete zde:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7.0-1406-x86_64 -DVD.iso.
  • Rychlé internetové připojení

2. Předběžná poznámka

V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.0.100 a bránou 192.168.0.1. Tato nastavení se pro vás mohou lišit, takže je musíte v případě potřeby nahradit. Než budete pokračovat, nainstalujte si prosím minimální instalaci CentOS 7 z tohoto odkazu na tutoriál.

3 Nainstalujte editor nano a upravte /etc/hosts

yum -y nainstalovat nano wget

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

nano /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

a nastavte název hostitele na server1.example.com:

echo 'server1.example.com'> /etc/hostname

4 Konfigurace brány firewall a instalace základního síťového softwaru

(Pokud jste již na konci základní instalace systému firewall deaktivovali, můžete tuto kapitolu přeskočit.)

Chci nainstalovat ISPConfig na konci tohoto tutoriálu, který je dodáván s vlastním firewallem. Proto nyní deaktivuji výchozí firewall CentOS. Samozřejmě ho můžete nechat zapnutý a nakonfigurovat podle svých potřeb (ale později byste neměli používat žádný jiný firewall, protože by s největší pravděpodobností narušoval firewall CentOS).

Spustit

systemctl stop firewalld.service
systemctl zakázat firewalld.service

[[email protected] ~]# systemctl zakázat firewalld.service
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/ basic.target.wants/firewalld.service'
[[email protected] ~]#

a vypněte firewall.

Chcete-li zkontrolovat, zda byl firewall skutečně deaktivován, můžete spustit

firewall-cmd --state

později. Výstup by měl vypadat takto:

[[email protected] ~]# firewall-cmd --state
neběží
[[email protected] ~]#

yum -y nainstalovat net-tools NetworkManager-tui

5 Zakázat SELinux

SELinux je bezpečnostní rozšíření CentOS, které by mělo poskytovat rozšířené zabezpečení. Podle mého názoru to ke konfiguraci zabezpečeného systému nepotřebujete a obvykle to způsobí více problémů než výhod (přemýšlejte o tom, až týden řešíte problémy, protože některá služba nefungovala podle očekávání, a pak zjistěte, že vše bylo v pořádku, problém způsoboval pouze SELinux). Proto jsem to zakázal (to je nutnost, pokud chcete ISPConfig nainstalovat později).

Upravte /etc/selinux/config a nastavte SELINUX=disabled:

nano /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Poté musíme restartovat systém:

restartovat

6 Povolit další úložiště a nainstalovat nějaký software

V našem systému CentOS povolíme úložiště EPEL, protože mnoho balíčků, které se chystáme instalovat v průběhu tohoto tutoriálu, není dostupných v oficiálních repozitářích CentOS 7.0:

yum -y install epel-release

yum -y nainstaluje priority yum

Upravte /etc/yum.repos.d/epel.repo...

nano /etc/yum.repos.d/epel.repo

... a přidejte řádek priority=10 do sekce [epel]:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[...]

Poté aktualizujeme naše stávající balíčky v systému:

yum aktualizace

Nyní nainstalujeme některé softwarové balíčky, které budeme potřebovat později:

yum -y groupinstall 'Development Tools'

Kvóta 7

(Pokud jste zvolili jiné schéma rozdělení než já, musíte upravit tuto kapitolu tak, aby kvóta platila pro oblasti, kde ji potřebujete.)

Pro instalaci kvóty spustíme tento příkaz:

yum -y instalační kvóta

Nyní zkontrolujeme, zda je již povolena kvóta pro souborový systém, kde jsou uloženy webové stránky (/var/www) a data maildir (var/vmail). V tomto příkladu nastavení mám jeden velký kořenový oddíl, takže hledám ' / ':

namontovat | grep ' / '

[[email protected] ~]# připojení | grep ' / '
/dev/mapper/centos-root on / zadejte xfs (rw,relatime,attr2,inode64,noquota)
[[email protected] ~]#

Pokud máte samostatný oddíl /var, použijte:

namontovat | grep ' /var '

namísto. Pokud řádek obsahuje slovo "noquota “, poté pokračujte podle následujících kroků a povolte kvótu.

Povolení kvóty na / (kořenovém) oddílu

Normálně byste povolili kvótu v souboru /etc/fstab, ale pokud je souborovým systémem kořenový souborový systém "/", pak musí být kvóta povolena spouštěcím parametrem linuxového jádra.

Upravte konfigurační soubor grub:

nano /etc/default/grub

prohledejte řádek, který začíná GRUB_CMDLINE_LINUX a do parametrů příkazového řádku přidejte rootflags=uquota,gquota tak, aby výsledný řádek vypadal takto:

[...]

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"
[...]

a aplikujte změny spuštěním následujícího příkazu.

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfg

a restartujte server.

restartovat

Nyní zkontrolujte, zda je povolena kvóta:

namontovat | grep ' / '

[[email protected] ~]# připojení | grep ' / '
/dev/mapper/centos-root on / zadejte xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[[email protected] ~]#

Když je kvóta aktivní, můžeme vidět "usrquota,grpquota " v seznamu možností připojení.

Povolení kvóty na samostatném oddílu /var

Pokud máte samostatný oddíl /var, upravte /etc/fstab a přidejte ,uquota,gquota do oddílu / (/dev/mapper/centos-var):

nano /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Sep 21 16:33:45 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        1 1
/dev/mapper/centos-var /var                     xfs     defaults,uquota,gquota        1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot                   xfs     defaults        1 3
/dev/mapper/centos-swap swap                    swap    defaults        0 0

Potom spusťte

mount -o remount /var

kvóta check -avugm
kvóta -avug

pro povolení kvóty.

8 Synchronizace systémových hodin

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

yum -y nainstalovat ntp

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

9 Nainstalujte MariaDB

MariaDB-server a klienta nainstalujeme následovně:

yum -y nainstalovat mariadb mariadb-server

Chceme, aby služba Mariadb běžela při spuštění a po spuštění a spouštěla ​​službu jako:

systemctl povolit mariadb.service
systemctl spustit mariadb.service

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

mysql_secure_installation

[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:řádek 379:find_mysql_client:příkaz nenalezen

POZNÁMKA:SPUŠTĚNÍ VŠECH ČÁSTÍ TOHOTO SKRIPTU DOPORUČUJEME Marii DOPORUČUJEME
      SERVERY VE VÝROBNÍM POUŽITÍ! PROSÍM, ČTĚTE POZORNĚ KAŽDÝ KROK!

Abychom se mohli přihlásit do MariaDB a zabezpečit ji, budeme potřebovat aktuální
heslo uživatele root. Pokud jste právě nainstalovali MariaDB a
ještě jste nenastavili heslo uživatele root, bude heslo prázdné,
měli byste tedy pouze stisknout zde enter.<--ENTER

Zadejte aktuální heslo pro root (zadejte pro žádné):<--ENTER
OK, úspěšně použité heslo, pokračujeme...

Nastavení hesla root zajistí, že se nikdo nemůže přihlásit k uživateli MariaDB
root bez řádné autorizace.

Nastavit heslo root? [A/n]<--ENTER
Nové heslo:<--vašemariadbheslo
Znovu zadejte nové heslo:<--yourmariadbpassword
Heslo bylo úspěšně aktualizováno!
Opětovné načítání tabulek oprávnění...
 ... Úspěch!


Ve výchozím nastavení má instalace MariaDB anonymního uživatele, který umožňuje kdokoli
pro přihlášení do MariaDB, aniž by pro něj musel být vytvořen uživatelský účet. Toto je určeno pouze pro testování a aby instalace
byla o něco plynulejší. Před přesunem do
produkčního prostředí byste je měli odstranit.

Odebrat anonymní uživatele? [A/n] <--ENTER
 ... Úspěch!

Normálně by měl mít root povoleno připojení pouze z 'localhost'. To
zajišťuje, že někdo nemůže uhodnout heslo root ze sítě.

Zakázat vzdálené přihlášení root? [A/n]<--ENTER
 ... Úspěch!

Ve výchozím nastavení přichází MariaDB s databází nazvanou „test“, ke které má
kdokoli přístup. Toto je také určeno pouze pro testování a mělo by být odstraněno
před přesunem do produkčního prostředí.

Odebrat testovací databázi a přístup k ní? [A/n]<--ENTER
 – Rušení testovací databáze...
 ... Úspěch!
 – Odebírání oprávnění testovací databázi...
 ... Úspěch!

Opětovné načtení tabulek oprávnění zajistí, že všechny dosud provedené změny
se okamžitě projeví.

Znovu načíst tabulky oprávnění nyní? [A/n] <--ENTER
 ... Úspěch!

Úklid...

Vše hotovo! Pokud jste provedli všechny výše uvedené kroky, vaše instalace MariaDB
by nyní měla být zabezpečená.

Děkujeme, že používáte MariaDB!
[[email protected] ~]#

10 Instalace Dovecot

Dovecot lze nainstalovat následovně:

yum -y install dovecot dovecot-pigeonhole dovecot-mysql

Vytvořte prázdný soubor dovecot-sql.conf a symbolický odkaz:

dotkněte se /etc/dovecot/dovecot-sql.conf
ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf

Nyní vytvořte spouštěcí odkazy systému a spusťte Dovecot:

systemctl povolit dovecot.service
systemctl spustit dovecot.service

11 Nainstalujte Postfix

Postfix lze nainstalovat následovně:

yum -y nainstalovat postfix

Potom vypněte Sendmail a spusťte Postfix:

systemctl povolit mariadb.service
systemctl spustit mariadb.service
systemctl zastavit sendmail.service
systemctl zakázat sendmail.service
systemctl povolit postfix.service
systemctl restartovat postfix.service

12 Nainstalujte si Getmail

Getmail lze nainstalovat následovně:

yum -y nainstalovat getmail

13 Instalace Amavisd-new, SpamAssassin a ClamAV

Chcete-li nainstalovat amavisd-new, spamassassin a clamav, spusťte následující příkaz:

yum -y install amavisd-new spamassassin clamav clamd clamav-update unzip bzip2 unrar perl-DBD-mysql

Upravte konfigurační soubor freshclam /etc/freshclam.conf

nano /etc/freshclam.conf

a zakomentujte řádek "Příklad"

[...]
# Příklad
[....]

Poté začneme freshclam, amavisd a clamd.amavisd:

sa-update
freshclam
systemctl povolit amavisd.service

14 Instalace Nginx, PHP5 (PHP-FPM) a Fcgiwrap

Nginx je k dispozici jako balíček pro CentOS 7.0 (od EPEL), který můžeme nainstalovat následovně:

yum -y nainstalovat nginx

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

systemctl stop httpd.service

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

systemctl zakázat httpd.service

Poté vytvoříme spouštěcí odkazy systému pro nginx a spustíme jej:

systemctl povolit nginx.service
systemctl spustit nginx.service

(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, aby PHP5 fungovalo 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). Můžeme nainstalovat php-fpm společně s php-cli a některými moduly PHP5, jako je php-mysql, které potřebujete, pokud chcete používat MySQL z vašich PHP skriptů následovně:

yum -y nainstalovat php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-mbstring php-mcrypt php- mssql php-snmp php-soap php-tidy

Dále otevřeme /etc/php.ini...

nano /etc/php.ini

... a změnit hlášení chyb (tak, aby se upozornění již nezobrazovala):

[...]
;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_reporting = E_ALL & ~E_NOTICE
[...]

Nastavte také cgi.fix_pathinfo=0:

nano /etc/php.ini

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

(Proč byste to měli udělat, přečtěte si prosím http://wiki.nginx.org/Pitfalls.)

Kromě toho, aby se předešlo chybám jako

[08-Aug-2011 18:07:08] Upozornění PHP:phpinfo():Není bezpečné spoléhat na nastavení časového pásma systému. Jste *povinni* použít nastavení date.timezone nebo funkci date_default_timezone_set(). V případě, že jste použili některou z těchto metod a stále se vám zobrazuje toto varování, pravděpodobně jste chybně napsali identifikátor časového pásma. Místo toho jsme v /usr/share/nginx/html/info.php na řádku 2 vybrali „Evropa/Berlín“ pro „CEST/2.0/DST“

... v /var/log/php-fpm/www-error.log při volání PHP skriptu ve vašem prohlížeči byste měli nastavit date.timezone v /etc/php.ini:

[...]
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Berlin"
[...]

Dále vytvořte spouštěcí odkazy systému pro php-fpm a spusťte jej:

systemctl povolit php-fpm
systemctl restartovat php-fpm

PHP-FPM je proces démona (se skriptem init /etc/init.d/php-fpm), který spouští server FastCGI na portu 9000.

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.

Protože pro CentOS 7.0 neexistuje žádný balíček fcgiwrap, musíme si jej vytvořit sami. Nejprve nainstalujeme některé předpoklady:

yum -y nainstalovat fcgi-devel

Nyní můžeme sestavit fcgiwrap následovně:

cd /usr/local/src/
git klon git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
provést
provést instalaci

Tím se fcgiwrap nainstaluje do /usr/local/sbin/fcgiwrap.

Dále nainstalujeme balíček spawn-fcgi, který nám umožňuje spouštět fcgiwrap jako démona:

yum -y install spawn-fcgi

Otevřete /etc/sysconfig/spawn-fcgi...

nano /etc/sysconfig/spawn-fcgi

... a upravte soubor následovně:

# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"

FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=apache
FCGI_GROUP=apache
FCGI_EXTRA_OPTIONS="-M 0770"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"

Nyní přidejte uživatele nginx do skupinového apache:

usermod -a -G apache nginx

Vytvořte spouštěcí odkazy systému pro spawn-fcgi...

chkconfig spawn-fcgi na

... a spusťte jej následovně:

systemctl spustí spawn-fcgi

Nyní byste měli najít soket fcgiwrap v /var/run/fcgiwrap.socket, který vlastní uživatel a skupina apache (některé skripty, např. Mailman, očekávají, že je bude spouštět uživatel/skupina apache, proto nespouštíme spawn -fcgi jako nginx uživatele/skupiny, ale místo toho přidejte nginx do skupiny apache).

14.1 Další verze PHP

Počínaje ISPConfig 3.0.5 je možné mít na jednom serveru více verzí PHP (lze vybrat pomocí ISPConfig), které lze spustit přes FastCGI a PHP-FPM. Postup vytváření dalších verzí PHP na CentOS je popsán v tomto tutoriálu:Jak používat více verzí PHP (PHP-FPM &FastCGI) s ISPConfig 3 (CentOS 6.3)

The Perfect Server – CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) – Strana 2

15 Instalace phpMyAdmin

Dále nainstalujeme phpMyAdmin:

yum -y nainstalujte phpmyadmin

Dále změníme autentizaci v phpMyAdmin z cookie na http:

nano /etc/phpMyAdmin/config.inc.php

[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Nyní můžete najít phpMyAdmin 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:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

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:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Pokud pro svůj vhost používáte http i https, můžete použít proměnnou $https – přejděte znovu 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:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

16 Nainstalujte Mailman

Od verze 3.0.4 vám ISPConfig také umožňuje spravovat (vytvářet/upravovat/mazat) Mailman mailing listy. Pokud chcete tuto funkci využívat, nainstalujte Mailman následovně:

yum -y install mailman

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

dotkněte se /var/lib/mailman/data/aliases
dotkněte se /etc/mailman/aliases
/usr/lib/mailman/bin/newlist mailman

[[email protected] tmp]# /usr/lib/mailman/bin/newlist mailman
Zadejte e-mail osoby vedoucí seznam: <-- e-mailová adresa správce , 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ím následujících řádků a případně spuštěním programu
`newaliases':

## mailman mailing list
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman potvrdit mailmana"
mailman-join:          "|/usr/lib/mailman/mail/mailman připojit se k mailmanovi"
mailman -leave:         "|/usr/lib/mailman/mail/mailman opustit pošťáka"
majitel poštovního serveru:        "|/usr/lib/mailman/mail/majitel poštovního správce poštář"
požadavek poštovního muže:      " |/usr/lib/mailman/mail/mailman požadavek mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman přihlásit se k odběru mailman"
mailma n-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Stisknutím Enter oznámíte vlastníka pošta... <-- ENTER

[příklad @unixlinux.online tmp]#

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

nano /etc/aliases

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

[...]
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Spustit

newaliases

poté a restartujte Postfix:

systemctl restartujte postfix.service

Vytvořte spouštěcí odkazy systému pro Mailman a spusťte jej:

systemctl povolit mailman.service
systemctl spustit mailman.service

Nyní musíme vytvořit tento symbolický odkaz, aby Mailman fungoval s ISPConfig:

cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman

Pokud chcete používat Mailman z vašich webových stránek vytvořených prostřednictvím ISPConfig, 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:

        location /cgi-bin/mailman {
               alias /usr/lib/mailman/cgi-bin;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }

        location /images/mailman {
               alias /usr/lib/mailman/icons;
        }

        location /pipermail {
               alias /var/lib/mailman/archives/public;
               autoindex on;
        }

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.

17 Instalace PureFTPd

PureFTPd lze nainstalovat pomocí následujícího příkazu:

yum -y install pure-ftpd

Poté vytvořte odkazy pro spuštění systému a spusťte PureFTPd:

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

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

OpenSSL vyžaduje TLS; k instalaci OpenSSL jednoduše spustíme:

yum -y install openssl

Otevřete /etc/pure-ftpd/pure-ftpd.conf...

nano /etc/pure-ftpd/pure-ftpd.conf

Pokud chcete povolit relace FTP a TLS, nastavte TLS na 1:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

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) [XX]:<-- Zadejte název země (např. „DE“).
Název státu nebo provincie (celé jméno) []:<-- Zadejte název svého státu nebo provincie .
Název lokality (např. město) [Výchozí město]:<-- Zadejte své město.
Název organizace (např. společnost) [Výchozí společnost 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 nebo název hostitele vašeho serveru) []:<-- 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

Nakonec restartujte PureFTPd:

systemctl restart pure-ftpd.service

A je to. Nyní se můžete pokusit připojit pomocí svého FTP klienta; měli byste však nakonfigurovat svého FTP klienta tak, aby používal TLS.

18 Instalace BIND

BIND můžeme nainstalovat následovně:

yum -y install bind bind-utils

Dále otevřete /etc/sysconfig/named...

nano /etc/sysconfig/named

... a ujistěte se, že řádek ROOTDIR=/var/named/chroot je zakomentován:

# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# OPTIONS="whatever"     --  These additional options will be passed to named
#                            at startup. Don't add -t here, enable proper
#                            -chroot.service unit file.

Vytvořte zálohu existujícího souboru /etc/named.conf a vytvořte nový následovně:

cp /etc/named.conf /etc/named.conf_bak
cat /dev/null> /etc/named.conf
nano /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion no;
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.conf.local";

Vytvořte soubor /etc/named.conf.local, který je součástí /etc/named.conf (/etc/named.conf.local bude později vyplněn ISPConfig, pokud v ISPConfig vytvoříte zóny DNS):

klepněte na /etc/named.conf.local

Poté vytvoříme spouštěcí odkazy a spustíme BIND:

systemctl povolit named.service
spuštění systemctl named.service

19 Instalace Webalizer a AWStats

Webalizer a AWStats lze nainstalovat následovně:

yum -y install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

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

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install
cd ..
rm -rf jailkit-2.17*

21 Instalace fail2ban

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

yum -y install fail2ban

Musíme nakonfigurovat fail2ban tak, aby se přihlašoval do souboru protokolu /var/log/fail2ban.log, protože toto je soubor protokolu, který je monitorován modulem ISPConfig Monitor. Otevřete /etc/fail2ban/fail2ban.conf...

nano /etc/fail2ban/fail2ban.conf

... a ujistěte se, že logtarget =/var/log/fail2ban.log :

[...]
# Option: logtarget
# Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.
#         Only one log target can be specified.
#         If you change logtarget from the default value and you are
#         using logrotate -- also adjust or disable rotation in the
#         corresponding configuration file
#         (e.g. /etc/logrotate.d/fail2ban on Debian systems)
# Values: [ STDOUT | STDERR | SYSLOG | FILE ]  Default: STDERR
#
logtarget = /var/log/fail2ban.log

[...]

Poté vytvořte odkazy pro spuštění systému pro fail2ban a spusťte jej:

systemctl povolit fail2ban.service
systemctl start fail2ban.service

22 Instalace rkhunter

rkhunter lze nainstalovat následovně:

yum -y nainstalovat rkhunter

The Perfect Server – CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) – Strana 3

23 Instalace RoundcubeMail

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

yum -y nainstalovat roundcubemail

ISPConfig obsahuje výchozí alias webmailu pro squirremail ve svých aplikacích vhost. Tento alias použijeme pro modernější roundcube, takže vytvoříme symbolický odkaz s názvem squirrelmail v /usr/share

ln -s /usr/share/roundcubemail /usr/share/squirrelmail

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

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

Pokud chcete použít alias /webmail nebo /roundcubemail, 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 tyto aliasy definovat pro každý vhost, ze kterého chcete přistupovat ke SquirrelMail.

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

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

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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;
               }
               location ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcubemail last;
        }

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

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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;
               }
               location ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcubemail last;
        }

Pokud pro svůj vhost používáte http i https, můžete použít proměnnou $https – přejděte znovu do pole Direktivy nginx a místo fastcgi_param HTTPS zapněte; přidáte řádek fastcgi_param HTTPS $https; takže můžete použít RoundcubeMail pro požadavky http i https:

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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;
               }
               location ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

Nyní potřebujeme databázi pro poštu roundcube, inicializujeme ji následovně:

mysql -u root -p

Na výzvu mariadb použijte:

CREATE DATABASE roundcubedb;
VYTVOŘTE UŽIVATELE [email protected] IDENTIFIKOVANÉHO PODLE 'roundcubepassword';
UDĚLEJTE VŠECHNA PRIVILEGIA na roundcubedb.* na [email protected];
FLUSH PRIVILEGES;
konec

Podrobnosti pro databázi roundcube používám jako test, z bezpečnostních důvodů prosím nahraďte hodnoty podle svého výběru. Instalaci roundcube dokončíme poté, co nainstalujeme ISPConfig.

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

systemctl stop httpd.service

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

systemctl zakázat httpd.service

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

systemctl restartujte nginx.service

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

Stáhněte si aktuální verzi ISPConfig 3 a nainstalujte ji. Instalační program ISPConfig nakonfiguruje všechny služby jako Postfix, Dovecot atd. za vás. Ruční nastavení požadované pro ISPConfig 2 již není nutné.

Nyní máte také možnost nechat instalátor vytvořit SSL vhost pro ovládací panel ISPConfig, takže ISPConfig bude přístupný pomocí https:// místo http://. Chcete-li toho dosáhnout, stiskněte ENTER, když uvidíte tuto otázku:Chcete zabezpečené (SSL) připojení k webovému rozhraní ISPConfig (y,n) [y]:.

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:

[[email protected] install]# php -q install.php


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


>> Počáteční konfigurace

Operační systém: Redhat nebo kompatibilní, neznámá verze.

    Následuje  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í .
    Klepnutím na „konec“ (bez uvozovek) zastavíte instalátor.


Vyberte jazyk (en,de) [en]: <-- ENTER

Režim instalace (standardní, expertní) [standardní]: <-- ENTER

Úplný kvalifikovaný název hostitele (FQDN) serveru, např. server1.domain.tld  [server1.example.com]: <-- ENTER

Název hostitele serveru MySQL [místní hostitel]: <-- ENTER

MySQL root username [root]: <-- ENTER

Heslo root MySQL []: <- - heslo yourrootsql

MySQL databázi k vytvoření [dbispconfig]: <-- ENTER

Znaková sada MySQL [utf8]: <-- ENTER

Apache a zjištěn nginx. Vyberte server pro použití pro ISPConfig: (apache,nginx) [apache]:<-- nginx

Generování 2048 bitového soukromého klíče RSA
......... ................................................................... ..........++++
.................................. .............+++
zápis nového soukromého klíče na 'smtpd.key'
-----
Chystáte se zadejte informace , které budou zahrnuty
do vaší žádosti o certifikát.
To, co se         je to nazývá  Rozlišující jméno nebo DN.
Existuje celkem několik  polí  můžete některá prázdná
U některých polí bude výchozí hodnota,
Pokud zadáte '.', pole zůstane prázdné.
-----
Název země ( 2 písmenný kód) [XX]: <-- ENTER
Název státu nebo provincie (celé jméno) []: <-- ENTER
Název místa (např. město) [Výchozí město]: <-- ENTER
Název organizace (např. společnost) [Výchozí společnost Ltd]: <-- ENTER
Název organizační jednotky (např. sekce) []: <-- ENTER
Běžný název (např. vaše n jméno nebo název hostitele vašeho serveru) []: <-- ENTER
E-mailová adresa []: <-- ENTER
Konfigurace Jailkit
Konfigurace Dovecot
Konfigurace Spamassassin
Konfigurace Amavisd
Konfigurace Getmail
Konfigurace Pureftpd
Konfigurace BIND
Konfigurace nginx
Konfigurace Vlogger
Konfigurace Apps vhost
Konfigurace Bastille Firewall
Konfigurace Fail2ban
Instalace ISPConfig
Port ISPConfig [8080]: <-- ENTER

Chcete zabezpečené (SSL) připojení k webovému rozhraní ISPConfig (y,n) [y] : <-- ENTER

Generování soukromého klíče RSA, 4096 bitů dlouhého modulu
........................ ...................................++
......... ................................................................... ................++
e je 65537 (0x10001)
Chystáte se být požádáno o zadání informací , které budou začleněny
do váš požadavek na certifikát.
Chystáte se zadat to, co se nazývá rozlišující jméno nebo DN.
Tam je poměrně má polí , ale některá můžete ponechat 
U některých polí bude výchozí hodnota,
Pokud zadáte '.', pole zůstane prázdné.
--- --
Název země (2 písmenný kód) [XX]: <-- ENTER
Název státu nebo provincie (celý název) []: <-- ENTER
Název místa (např. město) ) [Výchozí město]: <-- ENTER
Název organizace (např. společnost) [Výchozí společnost Ltd]: <-- ENTER
Název organizační jednotky (např. sekce) []: <-- ENTER
Běžné jméno (např. vaše jméno nebo název hostitele vašeho serveru) []: <-- ENTER
E-mailová adresa []: <-- ENTER

Zadejte následující 'extra ' atributy
které se zašlou s vaší žádostí o certifikát
Heslo výzvy []: <-- ENTER
Volitelný název společnosti []: <-- ENTER
zápis klíče RSA
Konfigurace DBServer
Instalace ISPConfig crontab
žádný crontab pro root
žádný crontab pro getmail
Restartování služeb ...
Zastavení mysqld:                                                                                          >Spuštění MySQLD:[OK]
Vypnutí postfixu:[OK]
Spuštění postfixu:[OK]
Zastavení Saslauthd:[selhalo]
Zahájení Saslauthd:[OK]
Vypnutí Amavisd:Daemon [1554] ukončené Sigterm
[OK]
Amavisd zastavil
Start Amavisd:[OK]

Zastavení Clamd.Amavisd:[OK]
startování clamd.amavisd:[OK]
zastavení dovecot iMap:[OK]
Starting Dovecot iMap:[OK]
Reloading PHP-FPM:[OK]
Znovu načítání nginx:                           [OK]
Zastavení Pure-FTPD:[OK]
Zahájení Pure-FTPD:[OK]
Instalace dokončena.>

Chcete-li opravit chyby Mailman, které se mohou objevit během instalace ISPConfig, otevřete /usr/lib/mailman/Mailman/mm_cfg.py...

vi /usr/lib/mailman/Mailman/mm_cfg.py

... a nastavte DEFAULT_SERVER_LANGUAGE ='en':

[...]
#-------------------------------------------------------------
# The default language for this server.
DEFAULT_SERVER_LANGUAGE = 'en'
[...]

Restartujte Mailman:

systemctl restartujte mailman.service

Nyní dokončím instalaci RoundcubeMail. Otevřete ve svém prohlížeči následující adresu URL:

http://192.168.0.100:8081/roundcubemail/installer

uvítá vás webový instalační program RoundcubeMail, přejděte na stránku dolů a klikněte na další:

Poté zadejte podrobnosti o databázi roundcubedb, kterou jsme vytvořili v kapitole 23, zde:

Nastavte SMTP server na localhost a nastavte preferovaný jazyk

a kliknutím na "Vytvořit konfiguraci" přejděte na další stránku.

Otevřete soubor /etc/roundcubemail/config.inc.php v shellu:

nano /etc/roundcubemail/config.inc.php

a do tohoto souboru vložte konfiguraci zobrazenou ve webovém instalačním programu a soubor uložte.

<?php

/* Local configuration for Roundcube Webmail */

// ----------------------------------
// SQL DATABASE
// ----------------------------------
// Database connection string (DSN) for read+write operations
// Format (compatible with PEAR MDB2): db_provider://user:[email protected]/database
// Currently supported db_providers: mysql, pgsql, sqlite, mssql or sqlsrv
// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
// NOTE: for SQLite use absolute path: 'sqlite:////full/path/to/sqlite.db?mode=0646'
$config['db_dsnw'] = 'mysql://roundcubeuser:[email protected]/roundcubedb';

// ----------------------------------
// IMAP
// ----------------------------------
// The mail host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %t = domain.tld
// WARNING: After hostname change update of mail_host column in users table is
//          required to match old user data records with the new host.
$config['default_host'] = 'localhost';

// ----------------------------------
// SMTP
// ----------------------------------
// SMTP server host (for sending mails).
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// If left blank, the PHP mail() function is used
// Supported replacement variables:
// %h - user's IMAP hostname
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %t = domain.tld
$config['smtp_server'] = 'localhost';

// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';

// this key is used to encrypt the users imap password which is stored
// in the session record (and the client cookie if remember password is enabled).
// please provide a string of exactly 24 chars.
$config['des_key'] = 'lsd7O6Xl_SAPcDf*yH4rL$&h';

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array();

// the default locale setting (leave empty for auto-detection)
// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR
$config['language'] = 'en_US';

// Set the spell checking engine. Possible values:
// - 'googie'  - the default
// - 'pspell'  - requires the PHP Pspell module and aspell installed
// - 'enchant' - requires the PHP Enchant module
// - 'atd'     - install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API
// Since Google shut down their public spell checking service, you need to 
// connect to a Nox Spell Server when using 'googie' here. Therefore specify the 'spellcheck_uri'
$config['spellcheck_engine'] = 'pspell';

Poté se vraťte do webového instalačního programu a klikněte na tlačítko pokračovat. Na této stránce klikněte na "inicializovat databázi":

Stránka by měla po úspěšné inicializaci databáze vypadat takto:

Abych ochránil konfiguraci RoundcubeMail před neoprávněnými úpravami, odstraním instalační složku spuštěním tohoto příkazu v shellu:

rm -rf /usr/share/roundcubemail/installer

25 První přihlášení ISPConfig

Poté můžete přistupovat k ISPConfig 3 pod http(s)://server1.example.com:8080/ nebo http(s)://192.168.0.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):

Dále musíme upravit konfigurační cesty BIND v ISPConfig. Klikněte na "Systém" v horním menu a poté na "Konfigurace serveru" v pravém menu. V seznamu, který se zobrazí na levé straně, klikněte na název serveru.

Přejděte na záložku "DNS" formuláře:

a zadejte cesty DNS následovně:

Adresář zónových souborů BIND:/var/named
BIND pojmenovaná.conf cesta:/etc/named.conf
BIND pojmenovaná.conf.local cesta:/etc/named.conf.local

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

Pokud chcete používat adresy IPv6 se svými hostiteli nginx vhost, proveďte před vytvořením hostitelů IPv6 vhosts v ISPConfig následující:

Otevřete /etc/sysctl.conf...

vi /etc/sysctl.conf

... a přidejte řádek net.ipv6.bindv6only =1:

[...]
net.ipv6.bindv6only = 1

Spustit...

sysctl -p

... poté, aby se změna projevila.

25.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. for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.

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

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

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

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

  1. Perfektní server – CentOS 6.1 x86_64 s Apache2 [ISPConfig 3]

  2. Perfektní server – OpenSUSE 12.1 x86_64 s Nginx [ISPConfig 3]

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

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

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

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