GNU/Linux >> Znalost Linux >  >> Ubuntu

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

Tento tutoriál ukazuje kroky k instalaci serveru Ubuntu 16.04 (Xenial Xerus) s Nginx, PHP, MariaDB, Postfix, pure-ftpd, BIND, Dovecot a ISPConfig 3.1. ISPConfig je webhostingový ovládací panel, který umožňuje konfigurovat nainstalované služby prostřednictvím webového prohlížeče. Toto nastavení poskytuje úplný hostingový server s webem, e-mailem (včetně spamu a antivirového filtru), databází, FTP a DNS službami.

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

V tomto tutoriálu použiji pro konfiguraci sítě název hostitele server1.example.com s adresou IP 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 16.04, jak je vysvětleno v tutoriálu.

Kroky v tomto tutoriálu musí být provedeny jako uživatel root, takže nebudu před příkazy přidávat "sudo". Než budete pokračovat, přihlaste se k serveru jako uživatel root nebo spusťte:

sudo -s

abyste se stali rootem, když jste přihlášeni jako jiný uživatel v shellu.

Příkazy pro úpravu souborů budou používat editor "nano", můžete jej nahradit editorem dle vlastního výběru. Nano je snadno použitelný editor souborů pro shell. Pokud chcete nano používat a ještě jste jej nenainstalovali, spusťte:

apt-get install nano

2. Aktualizujte svou instalaci Linux

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. Mělo by to vypadat takto:

nano /etc/apt/sources.list
#

# deb cdrom:[Ubuntu-Server 16.04 LTS _Xenial Xerus_ – vydání amd64 (20160420)]/ xenial hlavní omezené

#deb cdrom:[Ubuntu- Server 16.04 LTS _Xenial Xerus_ – vydání amd64 (20160420)]/ xenial hlavní omezeno

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

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

## 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
## vesmíru NEOBDRŽÍ žádnou recenzi ani aktualizace od týmu zabezpečení Ubuntu
##.
deb http://de.archive.ubuntu.com/ ubuntu/ xenial universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ xenial universe
deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates vesmír
# deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-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/ xenial multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates multivesmír
# deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-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/ xenial-backports hlavní omezený vesmír multivesmír
# deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-backports hlavní omezený vesmír multivesmír
## Odkomentujte následující dva řádky a přidejte software od společnosti Canonical
## „partnerské“ úložiště.
## 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 xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://security Hlavní omezení .ubuntu.com/ubuntu xenial-security ted
# deb-src http://security.ubuntu.com/ubuntu xenial-security hlavní omezený
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http:// security.ubuntu.com/ubuntu xenial-security multiverse

Poté spusťte:

aktualizace apt-get

Chcete-li aktualizovat databázi balíčků apt, a poté:

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 dě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í. Zkontrolujeme, zda je nainstalován, a v případě potřeby jej odstraníme. 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, až týden řešíte problémy, protože některá služba nefungovala podle očekávání, a pak zjistěte, že vše bylo v pořádku, problém způsoboval pouze 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. Jednoduše spusťte

apt-get -y install ntp ntpdate

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

6. Nainstalujte Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, 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.

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

MariaDB je fork databázového serveru MySQL, který vyvinul původní vývojář MySQL Monty Widenius. Podle testů nalezených na internetu je MariaDB rychlejší než MySQL a její vývoj pokračuje rychleji, proto většina linuxových distribucí nahradila MySQL za MariaDB jako výchozí databázový server „podobný MySQL“. V případě, že dáváte přednost MySQL před MariaDB, nahraďte "mariadb-client mariadb-server" ve výše uvedeném příkazu "mysql-client mysql-server".

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

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 - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=šifrovat -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions>,remithensject=povolení # -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 - - - - 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Í [...] 

Poté restartujte Postfix:

restart služby postfix

Chceme, aby MariaDB/MySQL naslouchala na všech rozhraních, nejen na localhostu. Proto upravujeme /etc/mysql/mariadb.conf.d/50-server.cnf (pro MariaDB nebo /etc/mysql/my.cnf (pro MySQL) a zakomentujeme řádek bind-address =127.0.0.1:

MariaDB

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ý.# bind-address =127.0.0.1[...]

Poté restartujeme MariaDB:

restart služby mysql

Název služby systemd pro MariaDB a MySQL je "mysql", takže příkaz restart je stejný pro oba databázové servery.

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

MySQL

nano /etc/mysql/my.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ý.# bind-address =127.0.0.1[...]

Poté restartujeme MySQL:

restart služby mysql

Název služby systemd pro MariaDB a MySQL je "mysql", takže příkaz restart je stejný pro oba databázové servery.

Pro MySQL a 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 13796/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 zoo rozbalte bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs démon perlbio-listing- ssl-perl libnet-ident-perl zip libnet-dns-perl postgrey

Nastavení ISPConfig 3 používá amavisd-new, který interně načte knihovnu filtrů SpamAssassin, takže můžeme zastavit SpamAssassin a uvolnit RAM:

service spamassassin stop
update-rc.d -f spamassassin odstranit

Aktualizace antivirových signatur ClamAV a spuštění služby Clamd. Proces aktualizace může nějakou dobu trvat, nepřerušujte jej.

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

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

  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 (Xenial Xerus) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

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

  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)