GNU/Linux >> Znalost Linux >  >> Ubuntu

The Perfect Server – Ubuntu 20.04 s Apache, PHP, MariaDB, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.2

Tento tutoriál ukazuje instalaci webhostingového serveru Ubuntu 20.04 (Focal Fossa) s Apache 2.4, Postfix, Dovecot, Bind a PureFTPD, aby byl připraven na instalaci ISPConfig 3.2. Výsledný systém bude poskytovat Web, Mail, Mailinglist, DNS a FTP Server.

ISPConfig je ovládací panel webhostingu, 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, MariaDB jako náhradu za MySQL, jmenný server BIND nebo MyDNS, PureFTPd, SpamAssassin, ClamAV a mnoho dalších. Toto nastavení pokrývá instalaci Apache (místo Nginx), BIND (místo MyDNS) a Dovecot (místo Courier).

1. 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 dále, musíte mít základní minimální instalaci Ubuntu 20.04, jak je vysvětleno v tutoriálu.

Příkazy v tomto kurzu musí být spouštěny s oprávněními root. Abyste se vyhnuli přidávání sudo před každý příkaz, musíte se stát uživatelem root spuštěním:

sudo -s

než budete pokračovat.

2. Upravte /etc/apt/sources.list a aktualizujte svou instalaci Linuxu

Upravte /etc/apt/sources.list. Zakomentujte nebo odeberte instalační CD ze souboru a ujistěte se, že jsou povolena úložiště vesmíru a multiverse. Poté by to mělo vypadat takto:

nano /etc/apt/sources.list
# Viz http://help.ubuntu.com/community/UpgradeNotes, jak upgradovat na # novější verze distribuce.deb http://de.archive.ubuntu.com/ubuntu focal main limited# deb- src http://de.archive.ubuntu.com/ubuntu focal main limited## Aktualizace hlavních oprav chyb vytvořené po konečném vydání## distribution.deb http://de.archive.ubuntu.com/ubuntu focal- aktualizace hlavní omezené# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates hlavní omezené## Pozn. software z tohoto úložiště je ZCELA NEPODPOROVÁN týmem Ubuntu##. Vezměte prosím na vědomí, že software ve vesmíru NEOBDRŽÍ žádnou## recenzi ani aktualizace od bezpečnostního týmu Ubuntu.deb http://de.archive.ubuntu.com/ubuntu focal universe# deb-src http://de.archive .ubuntu.com/ubuntu focal universedeb http://de.archive.ubuntu.com/ubuntu focal-updates universe# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates universe## N.B. software z tohoto úložiště je ZCELA NEPODPOROVÁN týmem Ubuntu## a nemusí být pod bezplatnou licencí. Ujistěte se prosím, že ## svá práva k používání softwaru. Vezměte prosím na vědomí, že software v## multiverse NEOBDRŽÍ žádnou recenzi ani aktualizace od bezpečnostního týmu Ubuntu##.deb http://de.archive.ubuntu.com/ubuntu focal multiverse# deb-src http://de .archive.ubuntu.com/ubuntu focal multiversedeb http://de.archive.ubuntu.com/ubuntu focal-updates multiverse# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates multiverse## N.B. software z tohoto úložiště nemusel být důkladně testován## jako software obsažený v hlavním vydání, ačkoli obsahuje## novější verze některých aplikací, které mohou poskytovat užitečné funkce.## Také si prosím uvědomte, že software v backportech NEBUDE jakákoliv recenze## nebo aktualizace od týmu zabezpečení Ubuntu.deb http://de.archive.ubuntu.com/ubuntu focal-backports hlavní omezený vesmír multiverse# deb-src http://de.archive.ubuntu.com/ubuntu focal-backports hlavní omezený vesmír multiverse## Odkomentujte následující dva řádky a přidejte software z## „partnerského“ úložiště Canonical.## Tento software není součástí Ubuntu, ale je nabízen společností Canonical a## příslušnými prodejci jako službu uživatelům Ubuntu.# deb http://archive.canonical.com/ubuntu focal partner# deb-src http://archive.canonical.com/ubuntu focal partnerdeb http://de.archive.ubuntu.com/ubuntu focal -security main limited# deb-src http://de.archive.ubuntu.com/ubuntu focal-security main limiteddeb http:/ /de.archive.ubuntu.com/ubuntu focal-security universe# deb-src http://de.archive.ubuntu.com/ubuntu focal-security universedeb http://de.archive.ubuntu.com/ubuntu focal- security multiverse# deb-src http://de.archive.ubuntu.com/ubuntu focal-security multiverse

Potom spusťte

aktualizace apt-get

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

upgrade apt-get

k instalaci nejnovějších aktualizací (pokud nějaké existují). Pokud uvidíte, že se v rámci aktualizací nainstaluje nové jádro, měli byste poté restartovat systém:

restartovat

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

4. Zakázat AppArmor

AppArmor je bezpečnostní rozšíření (podobně jako SELinux), 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ůsobuje více problémů než výhod (přemýšlejte o tom po týdnu odstraňování problémů, 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 AppArmor). Proto jsem to zakázal (to je nutnost, pokud chcete ISPConfig nainstalovat později).

Můžeme to zakázat takto:

service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

5. Synchronizujte systémové hodiny

Je vhodné synchronizovat systémové hodiny s NTP (n síť t ime p rotocol) server přes internet, když provozujete fyzický server. V případě, že provozujete virtuální server, měli byste tento krok přeskočit. Stačí spustit

apt-get -y install ntp

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

6. Nainstalujte Postfix, Dovecot, MariaDB, rkhunter a binutils

Pro instalaci postfixu se musíme ujistit, že sendmail není nainstalován a spuštěn. Chcete-li zastavit a odstranit sendmail, spusťte tento příkaz:

service sendmail stop; update-rc.d -f sendmail remove

Chybová zpráva:

Nepodařilo se zastavit sendmail.service:Jednotka sendmail.service nebyla načtena.

Je v pořádku, jen to znamená, že sendmail nebyl nainstalován, takže nebylo co odstraňovat.

Nyní můžeme nainstalovat Postfix, Dovecot, MariaDB (jako náhradu 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 sudo patch

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

Je důležité, abyste jako „systémový název pošty“ použili subdoménu, např. server1.example.com nebo server1.vasedomena.com, a nikoli doménu, kterou chcete později použít jako e-mailovou doménu (např. vasedomena.tld).

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ě - přidejte řádek -o smtpd_client_restrictions=permit_sasl_authenticated, odmítněte obě sekce a ponechte vše komentované:

[...]submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes
-o smtpd_tls_yes="red_auth_only:;">-o smtpd_client_restrictions=permit_sasl_authenticated,odmítnout # -O smtpd_reject_unlisted_recipient =no # -o smtpd_client_restrictions =$ mua_client_restrictions # -o smtpd_helo_restrictions =$ mua_helo_restrictions # -o smtpd_sender_restrictions =$ mua_sender_restrictions # -o smtpd_recipient_restrictions =permit_sasl_authenticated, odmítnout # -o milter_macro_daemon_name =ORIGINATINGsmtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -O smtpd_reject_unlisted_recipient =no # -o smtpd_client_restrictions =$ mua_client_restrictions # -o smtpd_helo_restrictions =$ mua_helo_restrictions # -o smtpd_sender_restrictions =$ mua_sender_restrictions # -o smtpd_recipient_restrictions =permit_sasl_authenticated, odmítnout # -o milter_macro_daemon_name =POCHÁZEJÍCÍ [...]

POZNÁMKA: Mezery před řádky "-o ...." jsou důležité!

Poté restartujte Postfix:

restart služby postfix

Chceme, aby MySQL naslouchalo na všech rozhraních, nejen na localhost. Proto upravíme /etc/mysql/mariadb.conf.d/50-server.cnf a zakomentujeme řádek bind-address =127.0.0.1:

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 kompatibilnější a není méně bezpečný.# adresa vazby =127.0.0.1

[...]

Nyní nastavíme heslo root v MariaDB. Spustit:

mysql_secure_installation

Budou vám položeny tyto otázky:

Zadejte aktuální heslo pro root (zadejte pro žádné):<-- stiskněte enter
Nastavit heslo root? [A/n] <-- y
Nové heslo:<-- Zde zadejte nové root heslo MariaDB
Znovu zadejte nové heslo:<-- Opakujte heslo
Odebrat anonymní uživatele? [A/n] <-- y
Zakázat vzdálené přihlášení root? [A/n] <-- y
Načíst nyní tabulky oprávnění? [A/n] <-- y

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 začínajících heslem 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“. Nahraďte slovo „howtoforge“ heslem, které jste nastavili pro uživatele root MySQL pomocí příkazu mysql_secure_installation.

# 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

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 /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
restart služby mariadb

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

netstat -tap | grep mysql

Výstup by měl vypadat takto:

[e-mail chráněn]:~# netstat -tap | grep mysql
tcp6       0      0 [::]:mysql              [::]:*                  POSLECHNOUT      51836 /~>>[e-mail] #

7. Nainstalujte Amavisd-new, SpamAssassin a Clamav

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

apt-get -y install amavisd-new spamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs démon libio-libio-socket-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
update-rc.d -f spamassassin odstranit

Pro spuštění ClamAV použijte:

freshclam
spuštění služby clamav-daemon

Následující chybu lze při prvním spuštění freshclam ignorovat.

CHYBA:/var/log/clamav/freshclam.log je uzamčen jiným procesem
CHYBA:Problém s interním loggerem (UpdateLogFile =/var/log/clamav/freshclam.log).

8. Nainstalujte Apache, PHP, phpMyAdmin, FCGI, SuExec, Pear

Apache 2.4, PHP 7.4, phpMyAdmin, FCGI, suExec a Pear lze nainstalovat následovně:

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

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

Webový server automaticky překonfigurovat:<-- apache2


Konfigurovat databázi pro phpmyadmin pomocí dbconfig-common? <-- Ano
 

Heslo aplikace MySQL pro phpmyadmin:<-- Stiskněte enter

Poté spusťte následující příkaz a povolte moduly 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í cgi alias proxy_fcgi
a2enmod dav_fs dav auth_digest záhlaví

Abych zajistil, že server nemůže být napaden prostřednictvím chyby zabezpečení HTTPOXY, globálně deaktivuji záhlaví HTTP_PROXY v Apache. Vytvořte nový soubor httpoxy.conf s nano:

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

Vložte tento obsah do souboru:

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

Povolte konfigurační soubor spuštěním:

a2enconf httpoxy

Poté restartujte Apache:

restart služby apache2

Pokud chcete hostovat soubory Ruby s příponou .rb na svých webových stránkách vytvořených prostřednictvím ISPConfig, musíte zakomentovat řádek application/x-ruby rb v /etc/mime.types:

nano /etc/mime.types
[...]# application/x-ruby rb[...]

(Toto je potřeba pouze pro soubory .rb; soubory Ruby s příponou .rbx fungují hned po vybalení.)

Poté restartujte Apache:

restart služby apache2

9. Nainstalujte Let's Encrypt

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

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

apt-get install certbot

10. 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 -y install mailman

Vyberte alespoň jeden jazyk, např.:

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

Chyba „Úloha pro mailman.service se nezdařila, protože řídicí proces byl ukončen s chybový kód. ' lze prozatím ignorovat.

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ř. [e-mail chráněno]
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 do 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 poštář“
mailman-bounces:       "|/var/lib/mailman/mail/mailman odskočí poštář“
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 pošťáka"
poštář-přihlásit se k odběru:    "|/var/lib/mailman/mail/mailman přihlásit se k odběru poštovního doručovatele"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Stiskněte vstup a informujte vlastníka pošta... <-- 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 připojit se mailman"mailman-leave:"|/var/lib/mailman/mail/mailman opustit mailman"mailman-owner:"|/var/lib/mailman/mail/mailman vlastník mailman"požadavek mailman:"|/var/lib/mailman/mail/mailman request mailman"mailman-subscribe:"|/var/lib/mailman/mail/mailman přihlásit mailman"mailman-unsubscribe:"|/var/lib/mailman/mail/mailman odhlásit mailman“ 

Spustit

newaliases

poté a restartujte Postfix:

restart služby postfix

Nakonec musíme povolit konfiguraci Mailman Apache:

ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/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:///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.

Aktivujte konfiguraci pomocí:

a2enconf mailman

Poté restartujte Apache:

restart služby apache2

Poté spusťte démona Mailman:

spuštění služby mailman

11. Nainstalujte PureFTPd and Quota

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

apt-get -y install pure-ftpd-common pure-ftpd-mysql kvótový nástroj

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é jméno) [Některý stát]:<-- 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 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).
#
#
/dev/mapper/server1--vg- root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
/dev/mapper/server1--vg-swap_1 žádný swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

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

mount -o remount /
quotacheck -avugm
quotaon -avug

Což zobrazí následující výstup:

[e-mail chráněný]:/tmp# kvóta check -avugm
kontrola kvót:Skenování /dev/mapper/server1--vg-root [/] hotovo
kvóta:Nelze zjistit starý soubor uživatelských kvót // kvóta.uživatel:Žádný takový soubor nebo adresář. Využití nebude odečteno.
quotacheck:Nelze statistikovat starý soubor kvót skupiny //quota.group:Žádný takový soubor nebo adresář. Využití nebude odečteno.
quotacheck:Nelze zjistit starý soubor uživatelských kvót //quota.user:Žádný takový soubor nebo adresář. Využití nebude odečteno.
quotacheck:Nelze statistikovat starý soubor kvót skupiny //quota.group:Žádný takový soubor nebo adresář. Využití nebude odečteno.
kvóta:Zkontrolováno 13602 adresářů a 96597 souborů
kvóta:Starý soubor nenalezen.
kvóta:Starý soubor nenalezen.
[e-mail chráněný]:/ tmp# kvóta -avug
/dev/mapper/server1--vg-root [/]:skupinové kvóty zapnuty
/dev/mapper/server1--vg-root [/]:uživatelské kvóty zapnuty na

12. Nainstalujte BIND DNS Server

BIND lze nainstalovat následovně:

apt-get -y install bind9 dnsutils haveged

Povolte a spusťte chráněného démona:

systemctl enable haveged
systemctl start haveged

13. Nainstalujte Vlogger, Webalizer, AWStats a GoAccess

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

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

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 -
aktualizace sudo apt-get
instalace sudo apt-get goaccess

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

nano /etc/cron.d/awstats

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

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

14. Nainstalujte Jailkit

Jailkit se používá k uvěznění uživatelů shellu a cronjobů v ISPConfig. Nainstalujte jailkit pomocí apt:

apt-get -y install jailkit

15. Nainstalujte fail2ban a UFW

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

apt-get -y install fail2ban

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

nano /etc/fail2ban/jail.local
[pure-ftpd]enabled =trueport =ftpfilter =pure-ftpdlogpath =/var/log/syslogmaxretry =3[dovecot]enabled =truefilter =dovecotaction =iptables-multiport[name=dovecot-pop3imap, port="pop3, pop3s,imap,imaps", protocol=tcp]logpath =/var/log/mail.logmaxretry =5[postfix]enabled =trueport =smtpfilter =postfixlogpath =/var/log/mail.logmaxretry =3

Poté restartujte fail2ban:

restart služby fail2ban

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

apt-get install ufw

16. Nainstalujte Roundcube Webmail

Chcete-li nainstalovat Roundcube Webmail, spusťte:

apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins roundcube-plugins-extra javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

Instalační program může položit následující otázky:

Konfigurovat databázi pro roundcube pomocí dbconfig-common? <-- Ano
Heslo aplikace MySQL pro roundcube:<-- Stiskněte enter

Nedělejte si starosti, pokud tyto otázky a upozornění na skript ucf nedostanete, je to v pořádku.

Varování ucf, že se dostanete na shell, lze ignorovat, nemá žádný negativní dopad na instalaci.

Poté upravte konfigurační soubor RoundCube apache.

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

a odstraňte # před řádkem Alias, poté přidejte druhý řádek Alias ​​pro /webmail a přidejte řádek „AddType application/x-httpd-php .php“ hned za „“ řádek:

# Tyto aliasy nefungují správně s několika hostiteli na vašem serveru Apache
# Odkomentujte je, abyste je mohli používat nebo je přizpůsobte své konfiguraci
Alias ​​/roundcube /var/lib/roundcube
Alias ​​/webmail /var/lib/roundcube[...]AddType application/x-httpd-php .php[...]

A restartujte Apache

restart služby apache2

Poté upravte konfigurační soubor RoundCube config.inc.php:

nano /etc/roundcube/config.inc.php

a změňte výchozího hostitele na localhost:

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

a server SMTP na:

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

a

$config['smtp_port']  =25;

To zabrání tomu, aby Roundcube zobrazoval v přihlašovacím formuláři pole pro zadání názvu serveru.

17. Nainstalujte ISPConfig 3.2

Zde použijeme stabilní sestavení ISPConfig 3.2.

cd /tmp 
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ispconfig.tar.gz
cd ispconfig3*/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, Dovecot atd.

# php -q install.php

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

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

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

Symlink ISPConfig LE SSL certifikáty na postfix? (y,n) [y]: <-- Stiskněte Enter
Symlink ISPConfig LE SSL certifikáty na pureftpd? Vytvoření souboru dhparam nějakou dobu trvá. (y,n) [y]: <-- Stiskněte Enter
Generování DH parametrů, 2048 bit dlouhé bezpečné prvočíslo, generátor 2
To bude trvat dlouho
................... ...........................................+....... ................................................................... ................................................................... ................................................................... .............+................................

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.0.100:8080/ (HTTP nebo HTTPS závisí na tom, co jste zvolili během instalace). 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.

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

Tento uživatel má práva sudo.

ISPConfig Login

Username:admin
Password:howtoforge

Přihlášení k MySQL

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

The IP of the VM is 192.168.0.100, it can be changed in the file /etc/netplan/01-netcfg.yaml . Změňte prosím všechna výše uvedená hesla pro zabezpečení virtuálního počítače.

19. Links

  • Ubuntu:http://www.ubuntu.com/
  • ISPConfig:http://www.ispconfig.org/

Ubuntu
  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 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)

  1. The Perfect Server - Ubuntu 16.04 (Xenial Xerus) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  2. The Perfect Server - Ubuntu 18.04 (Bionic Beaver) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  3. The Perfect Server – Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)

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

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

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