Aktualisierung der Instruktionen vom 11.12.2016
Installieren Sie weiterhin das Hosting-Panel ISPConfig 3, und erinnern Sie daran, dass sich der erste Teil des Artikels unter folgender Adresse befindet: Ein Netzwerk einrichten, bevor ISPConfig 3 in Debian - Teil 1 installiert wird.
In dieser Anweisung werden wir die erste Konfiguration der erforderlichen Software installieren und vornehmen.
- ein ausgezeichnetes Panel für die Verwaltung solcher Dienste wie Postfix, FTP (PureFTPd), SSH (OpenSSH), DNS (Bind9), Web (Apache2)
Wenn Sie keinen dieser Dienste benötigen, können Sie die Installation von Software, die Sie nicht benötigen, nicht veranlassen. Zum Beispiel, wenn Sie DNS nicht konfigurieren, können Sie bind9 nicht installieren, und während der Installation von ISPConfig 3, wenn der Installer nach dem Einrichten des DNS fragt, weigern Sie sich einfach zu installieren, Dies ist durchaus möglich, wenn Sie auf einem kleinen dedizierten virtuellen Server installieren, in dem jeder Meter RAM gezählt wird. Dann kann der Mail-Server nicht installiert werden, und auf Websites Nachrichten an Benutzer mit externen Postfächern senden, zum Beispiel eine Mailbox von Google und eine Verbindung über SMTP-Protokoll, zum Beispiel wie ich die Website zu Drupal 7 in den Anweisungen konfiguriert habe: Konfigurieren Sie das Senden von E-Mails von Drupal 7 mit einem externen SMTP-Server - zum Beispiel Google Mailbox
Hier sind wir.
Ändern Sie die Konsolen-Shell standardmäßig als /bin/sh ist ein symbolischer Hinweis auf /bin/dashWe müssen /bin/bashnot /bin/dash. Ändern Sie die Konfiguration der Konsole, indem Sie den Befehl ausführen:
dpkg-reconfigure dash
zur Systemfrage:
Verwenden Sie es. dash als Standardsystem-Shell ()/bin/sh)?
Antworte uns. Nein.
Für UBUNTU 16.04 Deaktivieren Sie die AppArmor-Pakete zum Schutz nach Ausführung von Befehlen, sie können nach vollständiger Installation und Konfiguration des Servers erneut installiert werden, wenn alles installiert und getestet ist. Befehle ausführen, um zu deaktivieren und zu entfernen:
service apparmor stop update-rc.d -f apparmor remove apt-get remove apparmor apparmor-utils
Installieren Sie NTP, Postfix, Dovecot, Saslauthd, MySQL, rkhunter und binutils durch den Befehl:
aptitude install ntp ntpdate postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
für Debian 8 Jessie Es ist vorzuziehen, eine Datenbank einzurichten. MariadbGegründet von den ursprünglichen Entwicklern von MySQL, um einen freien Status zu bieten DBMSDies ist das Ergebnis der Lizenzrichtlinie von Oracle für MySQL. Woo Mariadb Verbesserte Leistung, mehr Erweiterungen und neue Funktionen im Vergleich zu MySQL. D.Der Installationsbefehl sieht so aus:
aptitude install ntp ntpdate postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
Wir beantworten die Fragen des Systems:
- Postfix Setup: - Ok
- Allgemeine Art der E-Mail-Konfiguration: - wählen Internet-Seite
- Postname System: - Enter webserver.server.loc
- Neues Passwort für MySQL-Benutzer "root": Geben Sie das Root-Passwort für MySQL ein
- Wiederholen Sie das Passwort für MySQL-Benutzer "root": Wiederholen Sie das Root-Passwort für MySQL
Eine Passwortanfrage vom MariaDB Installer:
Führen Sie eine Mindestsicherheitseinstellung mit dem Befehl mysql_secure_installation durch und deaktivieren Sie nicht sichere Einstellungen, indem Sie das folgende Beispiel beantworten:
Beim Start müssen Sie die Root-Datenbank des Benutzerkennworts eingeben, die Sie bei der obigen Installation eingegeben haben.
mysql_secure_installation Change the root password? [Y/n] n Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
Wenn mariadb mysql ohne Passwort in die Konsole lässt, können Sie das Root-Passwort festlegen (es ist besser, nach der Installation des Panels zu installieren). ISPConfig) nach den Befehlen:
mysql -u root -p
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> update user set password=PASSWORD("passroot") where User='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> update user set plugin='' where User='root';
MariaDB [mysql]> quit;
Bye
Перегружаем бд выполнив команду:
systemctl restart mariadb
или
/etc/init.d/mariadb restartKehren Sie zurück, wie es vor dem Wechsel war:
mysql -u root -p Enter password: (вводим пароль passroot) MariaDB [(none)]> use mysql; Database changed MariaDB [mysql]> update user set plugin='unix_socket' where User='root'; MariaDB [mysql]> quit; Bye Перегружаем бд выполнив команду: systemctl restart mariadb или /etc/init.d/mariadb restart Проверяем вход root без пароля: mysql -u root MariaDB [(none)]> quit; Bye
Öffnen Sie TLS/SSL-Ports in Postfix, indem Sie Änderungen an der Datei vornehmen /etc/postfix/master.cf:
vi /etc/postfix/master.cf
war:
... #submission inet n - - - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps 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 milter_macro_daemon_name=ORIGINATING ...
wurde:
... submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps 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 milter_macro_daemon_name=ORIGINATING ...
Für Debian Jessie und Debian Stretch:
war:
#submission inet n - - - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -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= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - - - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -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= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING
wurde:
submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING
Für Ubuntu 16
war:
#submission inet n - y - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions ... #smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions ...
wurde:
submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no ... smtps 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 ...
Nach dem Speichern der Datei /etc/postfix/master.cf Neustarten des Rostfix-Servers durch Ausführen des Befehls:
/etc/init.d/postfix restart
Konfigurieren Sie die Mysql-Datenbank auf allen Schnittstellen, funktioniert standardmäßig nur unter 127.0.0.1:
vi /etc/mysql/my.cnf
war:
... bind-address = 127.0.0.1 ...
wurde:
... #bind-address = 127.0.0.1 ...
Nach dem Speichern der Änderungen starten Sie den Mysql-Server mit dem Befehl neu:
/etc/init.d/mysql restart
Installieren Sie Anti-Spam und Antivirus für den Mailserver Amavisd-new, SpamAssassin und ClamAV Team:
aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
Um Spam-E-Mails zu filtern, verwendet ISPConfig3 Amavisd, das die internen Filter der SpamAssassin-Bibliothek selbst herunterlädt, so dass wir das Booten von SpamAssassin stoppen und deaktivieren können, um den RAM nicht durch Ausführen von Befehlen in Anspruch zu nehmen:
/etc/init.d/spamassassin stop update-rc.d -f spamassassin remove
! Achtung!!! Während des Langzeitbetriebs des Mailservers wird die Amavisd Sammelt eine große Menge an Spam und Viren im Quarantäneordner /var/lib/amavis/virusmails/ Es wächst, wenn man es nicht reinigt. Fügen Sie hinzu. Krone Automatische Suche und Entfernung von Spam und Viren in Quarantäne über 30 Tage.
Um dies zu tun, werden wir den Befehl ausführen:
crontab -e
In der Datei, die sich öffnet, fügen Sie einen Datensatz hinzu:
10 1 * * * find /var/lib/amavis/virusmails -ctime +30 -and -type 'f' -exec rm {} \;Um ein Uhr morgens beginnen also zehn Minuten jeden Tag mit der Suche nach Dateien, die älter als 30 Tage sind, und werden automatisch gelöscht.
Installieren Sie einen Webserver mit Unterstützung für php Apache2, PHP5, PHPMyAdmin, FCGI, suExec, Pear, FPM und mcrypt, indem Sie dem Befehl folgen:
aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-curl php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python libapache2-mod-perl2 dh-make-php php5-dev build-essential libmagic-dev php5-intl libapache2-mod-fastcgi php5-fpm
Für Ubuntu 16 gibt es php Version 7, also der Befehl:
aptitude install apache2 apache2-doc apache2-utils libapache2-mod-php php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap phpmyadmin php7.0-cli php7.0-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear php-auth php7.0-mcrypt mcrypt imagemagick libruby libapache2-mod-python php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl memcached php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring php7.0-opcache php-apcu libapache2-mod-fastcgi php7.0-fpm
Wenn Sie Nginx + PHP-FPM nur in Debian Stretch installieren:
aptitude install nginx apache2-utils php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap phpmyadmin php7.0-cli php7.0-cgi php-pear php-auth-sasl php7.0-mcrypt mcrypt imagemagick libruby php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl memcached php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring php7.0-opcache php-apcu php7.0-fpm
Wir beantworten die Fragen des Systems:
- Webserver für automatische Rekonfiguration: - apache2
- Konfigurieren Sie eine Datenbank für phpmyadmin mit dbconfig-common? - Nein.
Aktivieren Sie die Module des Webs Server Apache2 - suexec, rewrite, ssl, actions, dav, dav_fs, and auth_digest Und dann habe ich den Befehl erteilt.
a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest fastcgi alias fcgid fastcgi alias
Nach der Aktivierung der Webserver-Modelle ist es notwendig, neu zu starten Apache2 Webserver Team:
/etc/init.d/apache2 restart
Schalten Sie für Ubuntu 16 httpoxy global aus, um nicht durch die Verwundbarkeit dieses Moduls angegriffen zu werden, und führen Sie Befehle aus:
echo '<IfModule mod_headers.c>
RequestHeader unset Proxy early
</IfModule> ' > /etc/apache2/conf-available/httpoxy.conf
a2enconf httpoxy
/etc/init.d/apache2 restartTo ensure that the server can not be attacked trough the HTTPOXY vulnerability, I will disable the HTTP_PROXY header in apache globally.
Wir machen Veränderungen. suphp Konfigurationsdatei /etc/apache2/mods-available/suphp.conf (Debian 8Jessie und Ubuntu 16 gelten nicht)
vi /etc/apache2/mods-available/suphp.conf
war:
<IfModule mod_suphp.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-suphp
</FilesMatch>
suPHP_AddHandler application/x-httpd-suphp
<Directory />
suPHP_Engine on
</Directory>
...wurde:
<IfModule mod_suphp.c>
# <FilesMatch "\.ph(p3?|tml)$">
# SetHandler application/x-httpd-suphp
# </FilesMatch>
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-suphp
<Directory />
suPHP_Engine on
</Directory>
...
Wenn Sie Ruby-Dateien mit Erweiterung verwenden möchten .rbEs ist notwendig, den Parameter in der Datei anzugeben. /etc/mime.types:
vi /etc/mime.types
war:
... application/x-ruby rb ...
wurde:
... #application/x-ruby rb ...
Installieren Sie Let's Encrypt, um kostenlose Zertifikate auf Websites aus dem ISPConfig-Panel zu installieren und führen Sie den Befehl aus:
aptitude -y install letsencrypt
Installierbar FTP-Server PureFTPd und Kontingent Und dann habe ich den Befehl erteilt.
aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool
Wir müssen Änderungen an der PureFTPd Server ftp Konfigurationsdatei vornehmen. /etc/default/pure-ftpd-common:
vi /etc/default/pure-ftpd-common
war:
... VIRTUALCHROOT=false ...
wurde:
... VIRTUALCHROOT=true ...
Wir speichern eine modifizierte Datei.
Jetzt konfigurieren wir den FTP-Server so, dass er über ein sicheres TLS-Protokoll arbeitet und ein ssl-Zertifikat erstellt:
echo 1 > /etc/pure-ftpd/conf/TLS
Erstellen Sie einen Ordner, in dem unser Zertifikat gespeichert wird, indem Sie den Befehl ausführen:
mkdir -p /etc/ssl/private/
Wir generieren das Zertifikat selbst, indem wir den Befehl ausführen:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Bei der Erstellung von Zertifikaten beantworten wir Fragen:
Weisen Sie dem Zertifikat 600 Rechte zu, indem Sie dem Befehl folgen:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Nachdem Änderungen vorgenommen und die Konfigurationsdatei gespeichert wurden, wird das Erstellen eines ssl-Zertifikats neu gestartet. FTP-Server PureFTPd Team:
/etc/init.d/pure-ftpd-mysql restart
Ändern Sie die Datei. /etc/fstab um Kontingente für unsere Benutzer aufzunehmen, Parameter ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 Welche wir für Mail und Webserver im Root-Bereich hinzufügen.
Ihre UUID unterscheidet sich von meiner und nimmt Änderungen an der Root-Partition/dem Root-System vor:
vi /etc/fstab
war:
UUID=5deecf34-1354-4a0f-b65c-90abb960433e / ext4 errors=remount-ro 0 1
wurde:
UUID=5deecf34-1354-4a0f-b65c-90abb960433e / ext4 errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1
Speichern Sie die Datei. /etc/fstab.conf
Um Kontingente auf der Festplatte einzuschließen, müssen wir die Root-Partition neu verkabeln, indem wir den Befehl ausführen:
mount -o remount /
Und fügen Sie direkt die Kontingente auf der Festplatte hinzu, indem Sie Befehle platzieren:
quotacheck -avugm quotaon -avug
Installieren Sie den Bind-DNS-Server, der auch bequem über die ISPConfig-Panel-Webschnittstelle verwaltet wird, indem Sie einen Befehl ausführen und zustimmen:
aptitude install bind9 dnsutils
Installieren Sie Programme zur Analyse und Statistik des Webserver-Traffics durch Ausführen von Befehlen:
aptitude install vlogger webalizer awstats geoip-database
Deaktivieren für awstat-Programm automatischen Start von cron in der Datei /etc/cron.d/awstats:
vi /etc/cron.d/awstats
war:
*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: 10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
wurde:
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
Installation von Jailkit
Wenn sie benutzern isolierten chroot-ssh-zugriff auf den server gewähren, müssen sie das jailkit-programm installieren. Jailkit muss vor der Installation von ISPConfig installiert werden, und Jailkit selbst wird aus dem Quellcode installiert, also installieren Sie die notwendigen Programme für die Montage, indem Sie dem Befehl folgen:
aptitude install build-essential autoconf automake1.9 libtool flex bison debhelper
Und wir beginnen mit der Erstellung eines Verzeichnisses, in dem wir das Jailkit-Programm herunterladen, auspacken und zusammenstellen werden. Um das Jailkit-Programm zu installieren, führen wir Befehle aus:
mkdir /usr/src/iserver/ && cd /usr/src/iserver/ wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz tar xvfz jailkit-2.19.tar.gz cd jailkit-2.19 ./debian/rules binary dpkg -i /usr/src/iserver/jailkit_2.19*.deb
Installation von Fail2ban
Installieren Sie das Programm fail2ban, das unsere Server schützt und die IP blockiert, von der aus versucht wird, offene Internetdienste zu hacken, falls vorhanden. Wenn Sie es nicht benötigen, können Sie die Installation und Konfiguration von fail2ban überspringen.
Installieren und konfigurieren Sie das Programm fail2ban, indem Sie den Befehl ausführen:
aptitude install fail2ban
Erstellen Sie Konfigurationsdateien, um das Programm fail2ban durch Ausführen von Befehlen zu konfigurieren (alles kopieren und über Putty in die Konsole einfügen):
echo ' [pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 ' > /etc/fail2ban/jail.local echo ' [Definition] failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.* ignoreregex = ' > /etc/fail2ban/filter.d/pureftpd.conf echo ' [Definition] failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P<host>\S*),.* ignoreregex = ' > /etc/fail2ban/filter.d/dovecot-pop3imap.conf
Neustarten des Programms zum Schutz des Servers fail2ban Und dann habe ich den Befehl erteilt.
/etc/init.d/fail2ban restart
Ich war bei dir. Sergej Lazarenko.
An dieser Stelle ist die Grundkonfiguration der notwendigen Programme zur Installation des Hosting-Panels ISPConfig 3 abgeschlossen. Die anweisungen sind groß, so dass wir uns nach dem ansehen des videos entspannen werden, wo wir herausfinden, warum beckham so viel geld bezahlt wird. Sie können das Talent eines Mannes sehen :
apt-get -y install letsencrypt














Kommentar