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 postgreyNastavení 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 odstranitPro spuštění ClamAV použijte:
freshclam
spuštění služby clamav-daemonNá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 -perlUvidí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_fcgia2enmod 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.confVložte tento obsah do souboru:
RequestHeader předčasně zrušil nastavení proxy Povolte konfigurační soubor spuštěním:
a2enconf httpoxyPoté restartujte Apache:
restart služby apache2Pokud 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 apache29. 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 certbot10. 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 mailmanVyberte alespoň jeden jazyk, např.:
Podporované jazyky:<-- en (angličtina)
Seznam chybějících stránek <-- OKChyba „Ú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
newaliasespoté a restartujte Postfix:
restart služby postfixNakonec musíme povolit konfiguraci Mailman Apache:
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.confToto 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 mailmanPoté restartujte Apache:
restart služby apache2Poté spusťte démona Mailman:
spuštění služby mailman11. 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ástrojUpravte 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/TLSAbychom 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.pemNá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.pemPoté restartujte PureFTPd:
restart služby pure-ftpd-mysqlUpravit /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 0Chcete-li kvótu povolit, spusťte tyto příkazy:
mount -o remount /quotacheck -avugm
quotaon -avugCož 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 na12. Nainstalujte BIND DNS Server
BIND lze nainstalovat následovně:
apt-get -y install bind9 dnsutils havegedPovolte a spusťte chráněného démona:
systemctl enable haveged
systemctl start haveged13. 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-perlInstalace 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 goaccessPoté 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.sh14. 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 jailkit15. Nainstalujte fail2ban a UFW
Toto je volitelné, ale doporučuje se, protože monitor ISPConfig se snaží zobrazit protokol:
apt-get -y install fail2banChcete-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 =3Poté restartujte fail2ban:
restart služby fail2banChcete-li nainstalovat bránu firewall UFW, spusťte tento příkaz apt:
apt-get install ufw16. 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 tinymceInstalač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 enterNedě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.confa 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 apache2Poté upravte konfigurační soubor RoundCube config.inc.php:
nano /etc/roundcube/config.inc.phpa 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.phpTí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í konfiguraceOperač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 EnterRežim instalace (standardní, expertní) [standardní]: <-- Stiskněte EnterÚplný název hostitele (FQDN) serveru, např. server1.domain.tld [server1.canomi.com]: <-- Stiskněte EnterNázev hostitele serveru MySQL [localhost]: <-- Stiskněte EnterPort serveru MySQL [3306]: <-- Stiskněte EnterUživatelské jméno MySQL root [root]: <-- Stiskněte EnterHeslo kořenového adresáře MySQL []: <-- Zadejte své kořenové heslo MySQLVytvoření databáze MySQL [dbispconfig]: <-- Stiskněte EnterZnaková sada MySQL [utf8]: <-- Stiskněte EnterKonfigurace 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 EnterKonfigurace 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 EnterGenerová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 EnterZadejte 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 RSASymlink ISPConfig LE SSL certifikáty na postfix? (y,n) [y]: <-- Stiskněte EnterSymlink ISPConfig LE SSL certifikáty na pureftpd? Vytvoření souboru dhparam nějakou dobu trvá. (y,n) [y]: <-- Stiskněte EnterGenerová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:howtoforgeTento uživatel má práva sudo.
ISPConfig Login
Username:admin
Password:howtoforgePřihlášení k MySQL
Uživatelské jméno:root
Heslo:howtoforgeThe 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/
-
The Perfect Server - Ubuntu 16.10 (Yakkety Yak) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1
-
The Perfect Server - Ubuntu 17.04 (Zesty Zapus) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1
-
The Perfect Server – Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)
-
The Perfect Server - Ubuntu 16.04 (Xenial Xerus) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1
-
The Perfect Server - Ubuntu 18.04 (Bionic Beaver) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1
-
The Perfect Server – Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)
-
The Perfect Server – Ubuntu 14.10 (nginx, BIND, Dovecot, ISPConfig 3)
-
The Perfect Server – Ubuntu 15.04 (Vivid Vervet) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3
-
The Perfect Server - Ubuntu 15.10 (Wily Werewolf) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3