GNU/Linux >> Znalost Linux >  >> Ubuntu

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

Tento výukový program ukazuje instalaci webhostingového serveru Ubuntu 18.04 (Bionic Beaver) s Apache 2.4, Postfix, Dovecot, Bind a PureFTPD, abyste jej připravili na instalaci ISPConfig 3.1. 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, jmenný server MySQL, 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.1.100 a bránou 192.168.1.1  Tato nastavení se pro vás mohou lišit, takže je musíte v případě potřeby nahradit. Než budete pokračovat dále, musíte mít základní minimální instalaci Ubuntu 18.04, jak je vysvětleno v návodu.

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
#

# deb cdrom:[Ubuntu-Server 18.04 LTS _Bionic Beaver_ – vydání amd64 (20180425.1)]/ bionické hlavní omezené

#deb cdrom:[Ubuntu- Server 18.04 LTS _Bionic Beaver_ – vydání amd64 (20180425.1)]/ bionic main omezený

# Jak upgradovat na
# novější viz http://help.ubuntu.com/community/UpgradeNotes verze distribuce.
deb http://de.archive.ubuntu.com/ubuntu/ bionic hlavní omezené
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic hlavní omezené

## Aktualizace oprav hlavních chyb vytvořené po konečném vydání
## distribuce.
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates hlavní omezené
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates hlavní omezené

## N.B. 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/ bionic universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionický vesmír
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates vesmír
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates vesmír

## 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, zda
## svá práva k používání softwaru. Vezměte prosím na vědomí, že software v
## multiverse NEBUDE od bezpečnostního týmu Ubuntu dostávat žádnou recenzi ani aktualizace
##.
deb http://de.archive.ubuntu.com/ ubuntu/ bionický multivesmír
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionický multivesmír
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates multivesmír
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates multivesmír

## N.B. software z tohoto úložiště nemusel být testován tak
## rozsáhle jako software obsažený v hlavní verzi, i když obsahuje
## novější verze některých aplikací, které mohou poskytovat užitečné funkce.
## # Vezměte prosím na vědomí, že software v backportech NEOBDRŽÍ žádnou recenzi
## ani aktualizace od bezpečnostního týmu Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu/ bionic-backports hlavní omezený vesmír multivesmír
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-backports hlavní omezený vesmír multivesmír

## Pro přidání odkomentujte následující dva řádky 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 bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

deb http ://security.ubuntu.com/ubuntu bionic-security main r omezeno
# deb-src http://security.ubuntu.com/ubuntu bionic-security hlavní omezené
deb http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
# deb-src http:// security.ubuntu.com/ubuntu bionic-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ůsobí více problémů než výhod (přemýšlejte o tom až 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 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

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_client_restrictions=aspertmict_restrictions odmítní # -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
Odstranit 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 v read, 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

Poté restartujeme MariaDB:

restart služby mysql

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

netstat -tap | grep mysql

Výstup by měl vypadat takto:

[e-mail chráněn]:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 30591/mysqld
[e-mail chráněný]:~#

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

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

Program amavisd-new má aktuálně chybu v Ubuntu 18.04, která brání správnému podepisování e-mailů pomocí Dkim. Spusťte následující příkazy pro opravu amavisd-new.

cd /tmp
wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch
cd /usr/ sbin
cp -pf amavisd-new amavisd-new_bak
patch

V případě, že se vám zobrazí chyba pro poslední příkaz 'patch', pak Ubuntu pravděpodobně mezitím problém vyřešilo, takže by mělo být bezpečné tuto chybu ignorovat.

7.1 Instalace Metronome XMPP Server (volitelné)

Metronome XMPP Server poskytuje chatovací server XMPP. Tento krok je volitelný, pokud nepotřebujete chatovací server, můžete tento krok přeskočit. Na tomto softwaru nezávisí žádné další funkce ISPConfig.

Nainstalujte následující balíčky pomocí apt.

apt-get -y install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocks 
luarocks instaluje lpc

Přidejte uživatele prostředí pro Metronome.

adduser --no-create-home --disabled-login --gecos metronom 'Metronome'

Stáhněte si Metronome do adresáře /opt a zkompilujte jej.

cd /opt; git klon https://github.com/maranda/metronome.git metronom
cd ./metronome; ./configure --ostype=debian --prefix=/usr
provést
provést instalaci

Metronome je nyní nainstalován do /opt/metronome.


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 15.04 (nginx, BIND, Dovecot a ISPConfig 3)

  2. The Perfect Server - Ubuntu 16.04 (Xenial Xerus) 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 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 – Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3)