GNU/Linux >> Znalost Linux >  >> Debian

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

Tento tutoriál ukazuje, jak připravit server Debian 10 (s Apache2, BIND, Dovecot) pro instalaci ISPConfig 3.2 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.

1 předběžná poznámka

V tomto tutoriálu použiji 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 dále, musíte mít minimální instalaci Debianu 10. Může to být minimální bitová kopie Debianu od vašeho poskytovatele hostingu nebo můžete k nastavení základního systému použít tutoriál Minimal Debian Server.

Všechny níže uvedené příkazy jsou spouštěny jako uživatel root. Buď se přihlaste jako uživatel root přímo, nebo se přihlaste jako normální uživatel a poté použijte příkaz

su -

abyste se stali uživatelem root na vašem serveru, než budete pokračovat. DŮLEŽITÉ :Musíte použít 'su -' a ne pouze 'su', jinak je vaše proměnná PATH v Debianu nastavena špatně.

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 9 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.0.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:

restart systemctl

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ě buster/updates (to zajistí, že vždy dostanete nejnovější aktualizace zabezpečení), a že jsou povolena úložiště contrib a non-free, protože některé požadované balíčky nejsou v hlavním úložišti.

nano /etc/apt/sources.list
deb http://deb.debian.org/debian/ buster hlavní příspěvek nesvobodný
deb-src http://deb.debian.org/debian/ buster hlavní příspěvek nesvobodný

deb http://security.debian.org/debian-security buster/updates hlavní příspěvek nesvobodný
deb-src http://security.debian.org/debian-security buster/updates hlavní příspěvek 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ěňte výchozí prostředí

/bin/sh je symbolický odkaz na /bin/dash, ale potřebujeme /bin/bash, ne /bin/dash. Proto udě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 -y install ntp

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

8 Instalace Postfix, Dovecot, MariaDB, rkhunter a Binutils

Můžeme nainstalovat Postfix, Dovecot, MariaDB jako alternativu MySQL, rkhunter a Binutils jediným příkazem:

apt-get -y 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

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

mysql_secure_installation

Odpovězte na otázky následovně:

Změnit heslo uživatele root? [A/n] <-- y
Nové heslo:<-- Zadejte nové rootové heslo MariaDB
Znovu zadejte nové heslo:<-- Zopakujte heslo roota MariaDB
Odstraňte 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ásledujícím způsobem a v případě potřeby přidejte řádky, aby tato sekce souboru master.cf vypadala přesně jako níže uvedená. DŮLEŽITÉ: Odstraňte znak # před řádky, které začínají smtps a předáním, a to nejen z řádků -o za těmito řádky!

[...]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:

systemctl restart postfix

Chceme, aby MySQL naslouchalo na všech rozhraních, nejen na localhost. Proto upravujeme /etc/mysql/mariadb.conf.d/50-server.cnf a zakomentujeme řádek bind-address =127.0.0.1 přidáním # před něj.

nano /etc/mysql/mariadb.conf.d/50-server.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ý.# adresa vazby =127.0.0.1

[...]

Nastavte metodu ověřování hesla v MariaDB na nativní, abychom mohli později použít PHPMyAdmin k připojení jako uživatel root:

echo "update mysql.user set plugin ='mysql_native_password' where user='root';" | mysql -u root

Upravte soubor /etc/mysql/debian.cnf a dvakrát v něm v řádcích, které začínají slovem heslo, nastavte heslo uživatele MYSQL / MariaDB.

nano /etc/mysql/debian.cnf

Kořenové heslo MySQL, které je třeba přidat, je zobrazeno červeně. V tomto příkladu je heslo "howtoforge".

# Automaticky generováno pro skripty Debianu. NEDOTÝKEJTE SE!
[klient]
hostitel =localhost
uživatel =root
heslo = howtoforge
socket =/var/run/mysqld/mysqld.sock
[mysql_upgrade]
hostitel =localhost
user =root
heslo =howtoforge
socket =/var/run/mysqld/mysqld.sock
basedir =/usr

Chcete-li předejít chybě „Chyba při přijímání:Příliš mnoho otevřených souborů ' nyní nastavíme vyšší limity otevřených souborů pro MariaDB.

Otevřete soubor /etc/security/limits.conf pomocí editoru:

nano /etc/security/limits.conf

a přidejte tyto řádky na konec souboru.

mysql soft nofile 65535
mysql hard nofile 65535

Dále vytvořte nový adresář /etc/systemd/system/mysql.service.d/ pomocí příkazu mkdir.

mkdir -p /etc/systemd/system/mysql.service.d/

a přidejte nový soubor dovnitř:

nano /etc/systemd/system/mysql.service.d/limits.conf

vložte do tohoto souboru následující řádky:

[Služba]
LimitNOFILE=nekonečno

Uložte soubor a zavřete nano editor.

Poté znovu načteme systemd a restartujeme MariaDB:

systemctl daemon-reload
systemctl restart mariadb

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

netstat -tap | grep mysql

Výstup by měl vypadat takto:

[e-mail chráněný]:/home/administrator# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 16623/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 unzip bzip2 arj nomarch lzop cabextract p7zip p7zip-full unrar lrzip apt-listchanges libnet-ldap-perl libauthen-sasl-perli-perl bio -socket-ssl-perl libnet-ident-perl zip libnet-dns-perl libdbd-mysql-perl postgrey

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

systemctl zastavit spamassassin
systemctl deaktivovat spamassassin

10 Instalace webového serveru Apache a PHP

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

apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.3 php7.3-common php7.3-gd php7.3-mysql php7.3-imap php7.3-cli php7 .3-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt  imagemagick liruby libapache2-mod-python php7.3-curl php7.3-intl php7.3-pspell php7.3-recode phpli7. php7.3-tidy php7.3-xmlrpc php7.3-xsl memcached php-memcache php-imagick php-gettext php7.3-zip php7.3-mbstring memcached libapache2-mod-passenger php7.3-soap php7.3 fpm php7.3-opcache php-apcu libapache2-reload-perl

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

a2enmod suexec rewrite ssl akce zahrnují dav_fs dav auth_digest akce záhlaví cgi proxy_fcgi alias

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

Poznámka: Chyba se jmenuje httpoxy (bez 'r'), a proto se soubor, do kterého přidáváme konfiguraci, abychom tomu zabránili, jmenuje httpoxy.conf a ne httproxy.conf, takže v názvu souboru nechybí žádné 'r'.

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
systemctl restart apache2

11 Nainstalujte Let's Encrypt

ISPConfig nyní používá acme.sh jako klienta Let's Encrypt. Nainstalujte acme.sh pomocí následujícího příkazu:

curl https://get.acme.sh | sh -s

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 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 poš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-unsub scribe:  "|/var/lib/mailman/mail/mailman odhlásit poštář"

Stisknutím tlačítka Enter informujte vlastníka poštáře... <-- 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:

systemctl restartujte 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:

systemctl restart apache2

Poté spusťte démona Mailman:

systemctl restart mailmana

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

Vytvořte soubor dhparam pro pure-ftpd:

openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048

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:

systemctl restart 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=45576b38-39e8-4994-b8c1-ea4870e2e614 / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 swap byl zapnutý /v># /v># / /sda5 během instalace
UUID=8bea0d1e-ec37-4b20-9976-4b7daaa3eb69 žá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 byla provedena

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

15 Instalace Webalizer, AWStats a GoAccess

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

Instalace nejnovější verze GoAccess přímo z úložiště GoAccess:

echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
apt-get update
apt-get install goaccess

16 Instalace Jailkit

Jailkit je potřeba pouze v případě, že chcete chrootovat uživatele SSH. Lze jej nainstalovat následovně:

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

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

cd ..
dpkg -i jailkit_2.20-1_*.deb
rm -rf jailkit-2.20*

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

A přidejte k němu následující konfiguraci.

[pure-ftpd]
povoleno =true
port =ftp
filtr =pure-ftpd
logpath =/var/log/syslog
maxretry =3

[holubník]
povoleno =true
filtr =holubník
cesta protokolu =/var/log/mail.log
maxretry =5

[postfix-sasl]
povoleno =true
port =smtp
filtr =postfix[mode=auth]
cesta protokolu =/var/log/mail.log
maxretry =3

Poté restartujte fail2ban:

systemctl restart fail2ban

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

apt-get install ufw

18 Instalace nástroje pro správu databáze PHPMyAdmin

Od Debianu 10 již není PHPMyAdmin dostupný jako balíček .deb. Proto jej nainstalujeme ze zdroje.

Vytvořte složky pro PHPMyAdmin:

mkdir /usr/share/phpmyadmin
mkdir /etc/phpmyadmin
mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var /lib/phpmyadmin
dotkněte se /etc/phpmyadmin/htpasswd.setup

Přejděte do adresáře /tmp a stáhněte si zdroje PHPMyAdmin:

cd /tmp
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz

Rozbalte stažený archivní soubor a přesuňte soubory do složky /usr/share/phpmyadmin a vyčistěte adresář /tmp.

tar xfz phpMyAdmin-4.9.0.1-all-languages.tar.gz
mv phpMyAdmin-4.9.0.1-all-languages/* /usr/share/phpmyadmin/
rm phpMyAdmin-4.9. 0.1-all-languages.tar.gz
rm -rf phpMyAdmin-4.9.0.1-all-languages

Vytvořte nový konfigurační soubor pro PHPMyaAdmin na základě poskytnutého ukázkového souboru:

cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php

Otevřete konfigurační soubor pomocí nano editoru:

nano /usr/share/phpmyadmin/config.inc.php

Nastavte si bezpečné heslo (blowfish secret), které musí mít 32 znaků:

$cfg['blowfish_secret'] ='bD3e6wva9fnd93jVsb7SDgeiBCd452Dh'; /* TOTO MUSÍTE VYPLNIT PRO OVĚŘENÍ COOKIE! */

Nepoužívejte můj příklad tajemství blowfish, nastavte si vlastní!

Poté přidejte řádek pro nastavení adresáře, který má PHPMyAdmin používat k ukládání dočasných souborů:

$cfg['TempDir'] ='/var/lib/phpmyadmin/tmp';

Dále vytvoříme konfigurační soubor Apache pro PHPMyAdmin otevřením nového souboru v nano editoru:

nano /etc/apache2/conf-available/phpmyadmin.conf

Vložte následující konfiguraci do souboru a uložte jej.

# phpMyAdmin výchozí konfigurace Apache

Alias ​​/phpmyadmin /usr/share/phpmyadmin


Možnosti FollowSymLinks
DirectoryIndex index.php


AddType application/x-httpd-php .php

php_flag magic_quotes_gpc Vypnuto
php_flag track_vars Zapnuto
php_flag register_globals Vypnuto
php_value include_path .




# Autorizovat pro nastavení


AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd. setup

Vyžadovat platného uživatele


# Zakázat webový přístup k adresářům, které jej nepotřebují

Odmítnout objednávku, povolit
Odmítnout od všech


Objednávka Odepřít, Povolit
Odepřít fr om Vše

Aktivujte konfiguraci a restartujte Apache.

a2enconf phpmyadmin
systemctl restart apache2

V dalším kroku nakonfigurujeme konfigurační úložiště (databázi) phpMyadmin.

Přihlaste se do MariaDB jako uživatel root:

mysql -u root -p

V prostředí MariaDB vytvořte novou databázi pro PHPMyAdmin:

MariaDB [(none)]> CREATE DATABASE phpmyadmin;

Poté vytvořte nového uživatele:

MariaDB [(none)]> VYTVOŘTE UŽIVATELE 'pma'@'localhost' IDENTIFIKOVANÉHO PODLE 'mypassword';

Nahraďte slovo mojeheslo s bezpečným heslem dle vašeho výběru v příkazech výše a níže použijte stejné heslo v obou případech. Poté udělte uživateli přístup k této databázi a znovu načtěte databázová oprávnění.

MariaDB [(none)]> UDĚLEJTE VŠECHNA PRIVILEGIA NA phpmyadmin.* PRO 'pma'@'localhost' IDENTIFIKOVANÉ PODLE 'mypassword' S MOŽNOSTÍ UDĚLENÍ;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Nakonec načtěte tabulky SQL do databáze:

mysql -u root -p phpmyadmin  

Na požádání zadejte root heslo MariaDB.

Vše, co nyní musíme udělat, je nastavit uživatelské údaje phpmyadmin v konfiguračním souboru. Znovu otevřete soubor v nano editoru:

nano /usr/share/phpmyadmin/config.inc.php

Přejděte dolů, dokud neuvidíte řádky níže, a upravte je:

/* Uživatel používaný k manipulaci s úložištěm */
$cfg['Servers'][$i]['controlhost'] ='localhost';
$cfg['Servers'][ $i]['controlport'] ='';
$cfg['Servery'][$i]['controluser'] ='pma';
$cfg['Servery'][$ i]['controlpass'] ='mojeheslo';

/* Databáze úložiště a tabulky */
$cfg['Servers'][$i]['pmadb'] =' phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] ='pma__bookmark';
$cfg['Servers'][$i]['relation'] =' pma__relation';
$cfg['Servers'][$i]['table_info'] ='pma__table_info';
$cfg['Servers'][$i]['table_coords'] =' pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] ='pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] =' pma__column_info';
$cfg['Servery'][$i]['history'] ='pma__history';
$cfg['Servery'][$i]['table_uiprefs'] =' pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] ='pma__tracking';
$cfg['Servers'][$i]['userconfig'] =' pma__userconfig';
$cfg['Servers'][$i]['recent'] ='pma__recent';
$cfg['Servers'][$i]['favorite'] ='pma__favorite';
$cfg['Servers'][$i]['users'] ='pma__users';
$cfg['Servers'][$i]['usergroups'] ='pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] ='pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] ='pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] ='pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] ='pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] ='pma__export_templates';

Červeně jsem označil řádky, které jsem upravil. Nahraďte moje heslo s heslem, které jste zvolili pro uživatele phpmyadmin. Všimněte si, že // před řádky byly také odstraněny!

19 Instalace webové pošty RoundCube (volitelné)

V této kapitole nainstalujeme webmailového klienta RoundCube. Nejprve musíme vytvořit databázi pro Roundcube ručně, protože v instalačním programu RoundCube Debian je aktuálně problém, který způsobuje selhání automatického vytvoření databáze. Spusťte tento příkaz pro vytvoření databáze:

echo "CREATE DATABASE roundcube;" | mysql --defaults-file=/etc/mysql/debian.cnf

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
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 na localhost a smtp_server.

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

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

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

A přidejte řádek alias pro alias apache /webmail a jeden pro /roundcube, řá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 ​​/roundcube /var/lib/roundcube
Alias ​​/webmail /var/lib/roundcube

Poté znovu načtěte Apache:

reload systemctl apache2

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

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

Existují některé zásuvné moduly pro integraci RoundCube Webmail s ISPConfig, podívejte se zde na pokyny k instalaci zásuvného modulu ISPConfig RoundCube.

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/

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

# php -q install.php

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

>> Počáteční konfigurace
Operační systém:Debian 10.0 (Buster) 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.domena.tld [server1.example.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 root MySQL []: <-- Zadejte své root heslo MySQL
Vytvoření databáze MySQL [dbispconfig]: <-- Stiskněte Enter
Znaková sada MySQL [utf8]: <-- Stiskněte Enter
Configuring Postgrey
Configuring Postfix
Generating a 4096 bit RSA private key
.......................................................................++
........................................................................................................................................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:<-- Enter 2 letter country code
State or Province Name (full name) [Some-State]:<-- Enter the name of the  state
Locality Name (eg, city) []:<-- Enter your city
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<-- Enter company name or press enter
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) []:<-- Enter the server hostname, in my case:server1.example.com
Email Address []: <-- Hit Enter
Configuring Mailman
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring BIND
Configuring Jailkit
Configuring Pureftpd
Configuring Apache
Configuring vlogger
[INFO] service Metronome XMPP Server not detected
Configuring Ubuntu Firewall
Configuring Fail2ban
[INFO] service OpenVZ not detected
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]:
Admin password [admin]:
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- Hit Enter
Generating RSA private key, 4096 bit long modulus
.......................++
................................................................................................................................++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- Enter 2 letter country code
State or Province Name (full name) [Some-State]: <-- Enter the name of the  state
Locality Name (eg, city) []: <-- Enter your city
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Enter company name or press enter
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) []: <-- Enter the server hostname, in my case:server1.example.com
Email Address []: <-- Hit Enter
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- Hit Enter
An optional company name []: <-- Hit Enter
writing RSA key

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.0.100:8080/ ( http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):

The system is now ready to be used.

21.1 ISPConfig 3 Manual

In order to learn how to use ISPConfig 3, I strongly recommend downloading the ISPConfig 3 Manual.

On more than 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials 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.

22 Virtual Machine Image Download of this Tutorial

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

Username: root
Password:howtoforge

ISPConfig Login

Username:admin
Password: admin

MySQL Login

Username:root
Password:howtoforge

The IP of the VM is 192.168.0.100, it can be changed in the file /etc/network/interfaces. Please change all the above passwords to secure the virtual machine.

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

Debian
  1. The Perfect Server - Ubuntu 16.10 (Yakkety Yak) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  2. The Perfect Server - Ubuntu 17.04 (Zesty Zapus) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  3. The Perfect Server - Ubuntu 17.10 (Artful Aardvark) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  1. The Perfect Server – Ubuntu 15.04 (Vivid Vervet) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3

  2. The Perfect Server - Ubuntu 15.10 (Wily Werewolf) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3

  3. The Perfect Server CentOS 7.2 s Apache, Postfix, Dovecot, Pure-FTPD, BIND a ISPConfig 3.1

  1. The Perfect Server CentOS 7.3 s Apache, Postfix, Dovecot, Pure-FTPD, BIND a ISPConfig 3.1

  2. The Perfect Server CentOS 7.4 s Apache, Postfix, Dovecot, Pure-FTPD, BIND a ISPConfig 3.1

  3. The Perfect Server CentOS 7.6 s Apache, PHP 7.2, Postfix, Dovecot, Pure-FTPD, BIND a ISPConfig 3.1